Alternativa a VSS para un show de un hombre (¿ejército de uno?)

He estado progtwigndo durante más de 10 años para el mismo empleador y el único control de código fuente que hemos usado es VSS. (Lo siento, eso es lo que tenían cuando comencé). Solo hemos sido algunos de nosotros; dos en este momento y solemos trabajar solos, por lo que VSS ha funcionado bien para nosotros. Entonces, tengo dos preguntas: 1) ¿Deberíamos cambiar a algo más como subversión, git, TFS, etc. qué exactamente y por qué (por favor)? 2) ¿Estoy más allá de toda esperanza y destinado a la condenación eterna porque VSS me ha corrompido (como dice Jeff)?

Guau, gracias por todas las excelentes respuestas!

Parece que debería aclarar algunas cosas. Somos una tienda de MS (Gold parntner) y principalmente hacemos trabajos de VB, ASP.NET, SQL Server, sharepoint y Biztalk. Tengo el grado CS así que he hecho el ensamblaje x86 C, C ++ en DEC Unix y Slackware Linux en un "time fuera de mi mente" …

Mi preocupación con VSS es que ahora estoy trabajando mucho más en una VPN y en la sux de performance de VSS, y me temo que nuestra database VSS 10+ y 5 se va a mejorar … Existe el service de LAN que es se supone que acelera las cosas, pero nunca lo he usado y no estoy seguro si ayuda con la corrupción. ¿Alguien ha usado el service LAN de VSS? (nuevo con VSS 2005)

Probablemente iría con Subversion, si fuera tú. Soy un fanático total de Git en este momento, pero sin duda Subversion tiene algunas ventajas:

  • sencillez
  • abundancia de herramientas interoperables
  • comunidad activa y solidaria
  • portátil
  • Tiene una integración de shell de Windows realmente agradable
  • se integra con Visual Studio (creo, pero seguramente a través de un tercero)

Git tiene muchas, muchas otras ventajas, pero lo anterior tiende a ser lo que a las personas les importa cuando hacen preguntas generales como las anteriores.

Editar : la compañía para la que ahora trabajo usa el server VisualSVN, que es gratis. Hace que configurar un repository de Subversion en un server de Windows sea estúpido, y en el cliente estamos usando TortoiseSVN (para integración de shell) y AnkhSVN para soporte de Visual Studio. Es bastante bueno, y debería ser bastante fácil incluso para los usuarios de VSS.

Edición de los últimos días : Entonces … casi ocho años después, nunca recomendaría Subversion a nadie por ningún motivo. Realmente no me retracto, per se , porque creo que mi consejo era válido en ese momento. Sin embargo, en 2016, Subversion conserva casi ninguna de las ventajas que solía tener sobre Git. La herramienta para Git es superior (y mucho más diversa) a lo que fue una vez, y en particular, está GitHub y otros buenos proveedores de hosting Git (BitBucket, Beanstalk, Visual Studio Online, fuera de mi cabeza). Visual Studio ahora tiene compatibilidad con Git out-of-the-box, y en realidad es bastante bueno. Incluso hay modules de PowerShell para dar una experiencia de Windows más nativa a los habitantes de la console. Git es aún más fácil de configurar y usar que Subversion y no requiere un componente de server. Git se ha vuelto tan omnipresente como puede serlo cualquier herramienta, y solo te estarías engañando para no usarlo (a less que realmente quieras usar algo que no sea Git). No entiendas mal: no soy yo el que odia Subversion, sino que reconozco que es una herramienta de otro time, más bien como una razor de afeitar.

Parece que SubVersion es el ganador aquí. Me haría un favor y usaría el Servidor VisualSVN . Es gratis y te ahorrará un montón de dolores de cabeza de installation.

Si estás acostumbrado a la forma en que VSS funciona, echa un vistazo (sin juego de palabras) a la bóveda de Sourcegear . Es una forma excelente de migrar lejos de VSS ya que viene con integración IDE y es compatible con check-out / check-in, pero cuando esté listo y se sienta cómodo también puede pasar al estilo de confirmación de actualización de edición de la progtwigción encontrada en SVN.

Es gratis para desarrolladores individuales, se ejecuta en IIS y está basado en .NET, por lo que debería ser una stack bastante familiar para que puedas cambiar.

Hagas lo que hagas, no cambies por el bien de cambiar.

Si funciona para usted y no tiene problemas, no veo ningún motivo para cambiar.

Por lo que vale, Perforce es una opción potencial si realmente te apegas a 1 o 2 usuarios. Los documentos vigentes dicen que tiene 2 usuarios y 5 clientes sin tener que comenzar a comprar licencias.

Puede tener razones para cambiar a forzosamente dependiendo de su flujo de trabajo y si necesita una bifurcación de la forma en que lo hace. No estoy demasiado familiarizado con algunos de los otros productos mencionados aquí, no puedo decirles cómo se puede comparar en el departamento de funciones para cosas como ramificación, etc.

Es rápido, y ha sido sólido para nosotros (más de 300 desarrolladores en una base de código de más de 10 años). Almacenamos varias T de información y ha sido bastante receptivo. Con una pequeña cantidad de usuarios, dudo que experimente muchos problemas de performance suponiendo que tiene un buen hardware para su server.

Al haber usado VSS anteriormente, creo que puede get tantos beneficios de un mejor sistema SCM que el cambio debe considerarse independientemente de si tiene corrupción o no. Bifurcar solo puede valer la pena por ti. Un verdadero model de cliente / server, mejores interfaces (programáticamente y línea de command) son algunas otras cosas que realmente podrían ayudarlo a mejorar su flujo de trabajo y ayudar algo con la productividad.

En resumen, mi opinión sobre Perforce es:

  • Es rápido y bastante confiable
  • Un montón de herramientas de cliente multiplataforma (Windows, Unix, Mac, etc.)
  • es gratis para 2 usuarios y 5 clientes
  • Se integra en el desarrollador de estudio (y otras herramientas)
  • Tiene un poderoso sistema de ramificación (que podría o no ser adecuado para usted).
  • Tiene varias interfaces progtwigbles (python, perl, ruby, C ++)

Ciertamente, YMMV: solo ofrezco esta alternativa como algo que valdría la pena investigar.

Recientemente comencé a usar Mercurial para algunos de mis trabajos. Es un sistema distribuido como Git pero parece más fácil de usar y parece mucho mejor compatible con Windows, el último de los cuales fue crucial para mí.

Con el control del código fuente distribuido, cada usuario tiene una copy local completa del repository. Si eres la única persona que trabaja en un proyecto, como dices a menudo, esto puede simplificar mucho las cosas, ya que solo creas tu propio repository y haces todos tus compromisos, etc. localmente. Si desea atraer a otros desarrolladores más tarde, puede simplemente enviar todo el contenido de su repository (versiones actuales y todo el historial) a otro sistema, ya sea en un server compartido o directamente en la estación de trabajo de otros usuarios.

Si está trabajando solo con un repository local, recuerde que también necesitará una solución de respaldo ya que no hay una copy de todo su código en un server compartido.

Creo que Mercurial tiene muchas otras ventajas sobre Subversion, pero tiene un gran inconveniente que ya se ha mencionado como un punto a favor de Subversion: hay muchas herramientas e integraciones de terceros para Subversion. Como Mercurial no ha existido hasta ahora, la elección es mucho menor. En Windows parece que tienes que usar la línea de command (mi elección) o la integración de TortoiseHg Windows Explorer.

VSS es horrible. Es posible que esté cparsing a Spolsky (no estoy seguro si ha dicho esto), pero usar VSS es peor que no usar control de fuente en absoluto. A pesar de su nombre, no es seguro. Crea la ilusión de security sin proporcionarla.

Sin VSS, probablemente harías copys de security periódicas de tu código. Con VSS, pensarás: "Mehh, ya está bajo el control de la fuente. ¿Por qué molestarse en dar marcha atrás?" Excelente hasta que corrompe toda su base de código y lo pierde todo. (Esto, por cierto, sucedió en una empresa en la que trabajé).

Deshágase de VSS tan pronto como pueda y cambie a una solución de control de fuente real.

No se preocupe porque VSS le está corrompiendo, preocúpese de que VSS corrompa sus datos. No tiene una buena trayectoria en ese departamento.

Copia de security frecuentemente si no cambia a un sistema de control de versiones diferente. Las copys de security deben realizarse diariamente incluso con otros SCM, pero es doblemente importante con VSS.

Me gusta usar Subversion para mis proyectos personales. Podría ir a la list de características y pretender que aporta mucho a la table que otros sistemas de control de fuente no tienen, pero hay muchos buenos y la elección correcta es realmente una cuestión de estilo. Si ingresa después de cada pequeño cambio (es decir, un logging por cambio de function), muchas personas pueden trabajar en el mismo file fuente con muy bajo riesgo de conflictos de fusión en prácticamente cualquier cosa less VSS (no he usado VSS en años sino desde Lo que recuerdo es que solo una persona a la vez puede trabajar en un file.) Si esto no te va a pasar alguna vez, creo que lo mejor que puedes hacer es usar lo que sabes. VSS es mejor que ningún control de fuente en absoluto, pero se siente restrictivo para mí en estos días.

No creo que estés más allá de la esperanza porque estás preguntando si sería mejor cambiar; estás más allá de la esperanza cuando la respuesta es obvia e ignoras la evidencia.

Incluso si no cambia los sistemas de control de fuente, debería elegir uno como SVN o git y pasar unas semanas leyendo sobre él y haciendo un pequeño proyecto usándolo; siempre ayuda a afilar la sierra.

No estoy de acuerdo con las personas que dicen que si no tienes problemas, es mejor que no cambies.

Creo que SCM es una de las disciplinas que un buen desarrollador debe saber y, francamente, incluso si domina VSS, solo está experimentando una pequeña fracción de las ventajas que una buena herramienta SCM y la estrategia SCM pueden hacer por usted y por su equipo.

Obviamente, evalúe y pruebe las alternativas primero en un entorno que no sea de producción.

En el trabajo, utilizamos la subversión con TortoiseSVN: funciona muy bien, pero es filosóficamente diferente de VSS (no es realmente un problema si solo hay usted pero merece la pena ser consciente de ello). Me gusta mucho el hecho de que todo el repository tenga un número de revisión.

Dada una elección libre, probablemente me hubiera ido con la bóveda, pero en ese momento no tenía presupuesto.

Estoy buscando cosas para uso personal. Hay razones para usar subversión y razones para usar algo completamente diferente. Las alternativas que estoy considerando son Vault (como antes, gratis para un solo uso) y Bazaar. GIT He tenido que despedirme como soy, sin vergüenza, una persona de Windows y en este momento GIT simplemente no lo es.

La naturaleza distribuida de GIT y la opción de checkins privados / temporales (asumiendo que he entendido lo que he leído) es atractiva, de ahí mi búsqueda en Bazaar.

Actualización: Hice un poco más de cavar y jugar, y de hecho fui por Mercurial para uso personal, la installation integrada con TortoiseHg hace las cosas muy simples y parece que está bien considerado. Todavía estoy tratando de encontrar la forma de forzar un espejo automático de confirmaciones a un server y parece que hay algunas limitaciones menores en la function de ignorar, pero está haciendo el trabajo muy bien hasta ahora …

Murph

Yo diría que quédate con lo que funcione para ti. A less que tenga problemas con VSS, ¿por qué cambiar? La subversión es abundante, aunque un poco pegajosa para comenzar a usarla. TFS es mucho mejor que VSS, aunque es bastante caro para un equipo tan pequeño. No he usado git así que no puedo hablarle.

utilicé vss durante años hasta que cambié a svn hace unos dos años. Mis mayores quejas sobre vss fueron el bajo performance de la networking (ese problema puede resolverse ahora) y el locking pesimista de los files. svn resuelto ambos, es fácil de configurar (uso collabnet server y tortoisesvn client, aunque hay dos buenos plugins de visual visual: visualsvn – commercial, y ankhsvn – open source), fáciles de usar y administrar, y bien documentados.

es tentador decir "si no está roto, entonces no lo arregles", pero podrías aprender una herramienta de control de fuente más moderna y, quizás más importante, nuevas forms de usar el control de fuente (p. ej. ramificación y fusión más frecuentes) que el nueva herramienta sería compatible.

Si solo tienes 2 personas y trabajas de manera independiente, git te dará mucha más flexibilidad, más potencia y será el más rápido con el que trabajar.

Sin embargo, es un dolor en la parte posterior para su uso. Al usar VSS obviamente está progtwigndo para Windows. Si está haciendo cosas de Win32 API en C, entonces git será una curva de aprendizaje, pero será bastante interesante.

Sin embargo, si las profundidades de su conocimiento solo se extienden a ASP y Visual Basic, solo use subversión. Camina antes de que puedas correr.

** No estoy tratando de decir si solo conoces a VB, eres tonto o algo por el estilo, pero ese git puede ser muy quisquilloso y quisquilloso de usar (si has usado el WinAPI en C, sabes todo sobre el delicado y meticuloso), y es posible que desee una introducción más gradual a SCM de lo que proporciona git

Si eres un show de un solo hombre y estrictamente una tienda de Microsoft, entonces SourceGear Vault definitivamente es un candidato ideal para cambiar.

caracteristicas:

  • Gratis para usuario individual, ideal para ti
  • Utiliza SQL Server para su back-end, por lo tanto la confiabilidad de los datos es enorme
  • Tiene loggings atómicos, todos los files registrados al mismo time se organizan en un grupo y se llaman sets de cambios.
  • Integración VisualStudio.
  • Tiene una herramienta para importar desde SourceSafe, por lo tanto puede mantener su historial
  • El cliente se comunica con el server a través de HTTP, por lo tanto, puede acceder a la fuente desde fuera de la oficina de forma remota y puede hacerlo bien, ya que solo transfieren los deltas de los cambios que se envían y reciben. Puede usar SSL para asegurar la connection.

Definitivamente consideraría esto como una opción.

Si desea un Ciclo de vida completo en un package, es probable que desee ver Visual Studio Team System. Requiere un server, pero puede get un "Action Pack" de MS que incluya todas las licencias que necesita para "Team Foundation Server Workgroup Edition" del centro de socios.

Con esto obtendrá Bug, Risk y Issue tracking así como muchas otras características 🙂

  • Fuente de control
  • Seguimiento de elementos de trabajo (requisitos, errores, problemas, riesgos y tareas)
  • Informes sobre los datos de su proyecto (seguimiento de elementos de trabajo, compilation, loggings y más en un qube)
  • Análisis de código
  • Examen de la unidad
  • Prueba de carga
  • Análisis de performance
  • Construcción automatizada