¿Control de fuente de usuario único?

La búsqueda con '[Delphi] "control de fuente"' no regresó mucho, así que aquí va: para aquellos de ustedes progtwigdores de Delphi que trabajan por su count, ¿qué control fuente les gusta? Sé de TortoiseSVN (que se puede usar sin un server), pero me gustaría saber si hay mejores opciones antes de elegirlo.

Gracias.

SVN será más que suficiente ya que lo utilizará principalmente para hacer copys de security y versiones diferentes.

Puede usar VisualSVN Server y TortoiseSVN con Delphi IDE Integration . Todos estos son freeware. Si desea utilizar cualquier otro SCM freeware con integración IDE de Delphi, deberá comprar SourceConneXion o Athlant. Además, si está usando D2009, necesitará convertir cadenas en ansistrings para que el complemento TortoiseSVN for delphi funcione.

Uso Mercurial , y he usado Bazaar y Perforce (gratis para equipos pequeños). Todos son buenos, pero hoy en día tiendo a preferir Mercurial. Mercurial viene con su propia tortuga que, aunque no está tan pulida como TortoiseSVN, es perfectamente utilizable:

Captura de pantalla de TortoiseHg en Explorer http://sourceforge.net/dbimage.php?id=158173

Para los usuarios de RAD Studio XE o XE2, Uwe Schuster ha publicado un complemento IDE llamado Version Insight Plus que agrega compatibilidad con Mercurial y Git al soporte integrado de control de versiones del IDE.

Versión Insight Plus Captura de pantalla que muestra la integración de Mercurial y Git

Para todos los sistemas que he mencionado, no se requiere server central.

Recomendaría Git, que es de código abierto y gratuito y:

  • No requiere que incluso establezca un server central, incluso si desea agregar más desarrolladores o máquinas.
  • Es extremadamente rápido (imo)
  • Fomenta el uso de sucursales

Lo uso para casi todos los proyectos nuevos, incluso cuando solo soy yo en el proyecto. Es un sistema de control de versiones distribuido extremadamente rápido y fue escrito por Linus Torvalds y ahora se usa en proyectos de alto perfil como Linux Kernel y Ruby on Rails .

Git no es difícil de usar desde la command-line, pero también tiene su propio package "Tortoise" ( TortoiseGit , aunque no tan pulido como su primo SVN).

SourceGear Vault es gratis para un solo usuario. Me gusta usar el cliente externo porque trabajo en diferentes entornos, pero si quieres la integración de Delphi IDE, puedes usar Source ConneXion (no gratis).

Puede ver algunas de las respuestas aquí (Desbordamiento de stack) si tiene Delphi en mente. Como mencioné en las respuestas, utilizo Team Coherence, que se integra muy bien con el IDE de Delphi, y conozco los grupos de files Delphi (.pas con .dfm, etc.). Creo que está escrito en Delphi también.

Una vez dicho esto, los otros comentarios ya hechos son ciertos: no debe permitir que su elección de idioma dicte su elección de VCS.

Aunque haya dicho usuario único, searchía una solución que le permita alojarlo fácilmente en un server u otra máquina de escritorio, por lo que ha separado su máquina de desarrollo de su repository de origen. Probablemente le esté enseñando a la abuelita a chupar huevos, pero debe verificar que lo que elija se pueda respaldar fácilmente también (incluso con una llave USB o una unidad externa estaría bien). 🙂

Sé que ha solicitado el Control de código fuente, pero si siempre está planeando ser un "desarrollador único", puede considerar una solución de copy de security automática, como AJC Active Backup . Sí, pierde la capacidad de registrar y excluir versiones específicas, pero al mismo time evita la necesidad de revisar cosas dentro y fuera todo el time cuando solo está trabajando en un proyecto. Y puede recuperar o modificar cualquier file fuente anterior por date desde la date que desee configurarlo. Es en gran medida una solución de configurar y olvidar, hasta que necesite recuperar algo, cuando es invaluable. Y el file en sí puede ser respaldado de la manera normal.

Yo uso TortoiseSVN, pero almaceno mis repositorys como files en mi computadora portátil (en un recurso compartido al que pueden acceder las máquinas virtuales mutilple), no administrado por un server. Esto significa que tengo acceso completo al repository independientemente del acceso al server, pero también me permite realizar fácilmente una copy de security de los repositorys en el server de files de la compañía cuando esté conectado.

Como soy el único progtwigdor, no he necesitado un server por separado hasta el momento. He visto a Nick Hodges (Gerente de Desarrollo de Delphi) decir cosas muy agradables sobre el Servidor VisualSVN , y mi objective es verificar lo fácil que es hacer una copy de security / restaurar el repository: si eso se puede automatizar y hacer rápidamente, entonces probablemente lo adopte.

A más largo ploop, voy a ver los diversos sabores de VCS distribuidos, ya que pueden ser más adecuados para múltiples desarrolladores basados ​​en computadoras portátiles; Todavía no estoy seguro, ya que no he llegado a esa página de mi list de tareas pendientes 😉

Una de las cosas supuestamente en process para Delphi es el soporte integrado para VCS. No tengo detalles sobre eso, ni sobre las implicaciones para los usuarios actuales de los diversos VCS tradicionales o distribuidos.

El idioma que usas realmente no importa en la elección del SCM que usarás. Puede importar si su IDE favorito es compatible o no con este SCM.

TortoiseSVN es solo un cliente svn, si eliges svn puedes tener varios clientes.

Yo uso Tortoise y subclipse para cometer en el mismo repository svn.

Sugiero usar el server SVN en una máquina separada (ya sea VisualSVN como se sugirió antes o el Servidor Subversion CollabNET ) y TortoiseSVN con el experto en integración JVCL (también como se sugirió anteriormente).

Además de get todo lo bueno del control de versiones, también tendrá copys de security automáticamente en una computadora diferente, lo cual siempre es bueno.

Sé que esto se votará, pero siento que tiene que decirse.

He utilizado el software de control de versiones durante muchos años en mi trabajo, y es necesario cuando varias personas trabajan juntas, para estar absolutamente seguros de que no hay dos personas que sobrescriban el trabajo de la otra.

Pero para mi desarrollo personal en casa, no uso uno. Los considero dominantes e inconvenientes para un proyecto simple de una sola persona. Y he probado varios packages que incluyen Source Gear Vault y algunos otros que otras personas han mencionado.

Lo que hago en cambio es que en cada cambio significativo en mi progtwig al que me gustaría volver, hago una copy del directory completo del progtwig. Si me equivoco en el próximo cambio, puedo volver al directory copydo.

También guardo de forma permanente copys de todos mis directorys de cada versión de mi progtwig. Si alguna vez tengo que hacer comparaciones entre mi versión actual y versiones anteriores, o entre dos versiones anteriores diferentes, utilizo Beyond Compare by Scooter Software , una herramienta simplemente genial para modificar y copyr cambios entre versiones. Si utiliza el software Source Control, Beyond Compare se integrará muy bien.

Así que mencioné esto simplemente porque a menudo escuché a todo el mundo empujar el software de control de versiones, incluso para el desarrollador individual . Para algunos de nosotros, es excesivo.

Es posible que desee considerar esta solución más simple.

Uso Bazaar con Delphi y funciona bien, especialmente para flujos de trabajo de desarrollador en solitario. Tiene su propio TortoiseBzr pero no es tan bueno como algunos de sus primos, por lo que recomiendo el excelente Bazaar Explorer . Una de las mejores cosas de Bazar es su flexibilidad y la facilidad con la que puede cambiar el flujo de trabajo o include otro desarrollador en un proyecto que comenzó solo.

Muchos artículos sobre Bazar le dirán que es mucho más lento que Git o Mercurial. Están desactualizados, ahora lleva un time similar realizar operaciones como lo hacen y es más rápido en algunas operaciones.

Mi equipo usa StarTeam y nunca he usado otra cosa, como SVN, así que es difícil para mí hacer una buena comparación. Starteam tiene lados positivos y negativos.

Pros:

  • Puede registrar requestes de cambio y conectarlas a checkins. Esto hace que los cambios sean más rastreables.
  • Me siento más cómodo con una GUI real en comparación con la command-line o alguna extensión de Shell.

Contras:

  • Caro, como la mayoría de los productos de Borland …
  • La última versión usa Java. Es casi como la versión anterior de Win32 y han agregado más características, pero todavía siento que es algo más lenta y más hambrienta de memory que antes.
  • La GUI podría ser un poco más intuitiva.

No soy grande en el control de versiones, pero uso SVN / Tortoise y estoy bastante contento con él. Los principales beneficios que veo para un solo desarrollador es poder verificar versiones anteriores de la aplicación y usar varias computadoras para el desarrollo (computadora de escritorio / computadora portátil), aparte del obvio beneficio de la copy de security. Tiendo a no necesitarlo para files diferentes, ya que las herramientas de control de versiones dentro de Delphi IDE son bastante buenas para esto, siempre que el "error" se haya introducido recientemente.

Creo que la mayoría de los desarrolladores de Delphi usan SVN / Tortoise (por lo que es una opción bastante segura), pero hay opciones de tendencia como Mercurial y Git.

Como desarrollador único, he usado Perforce por varios años. Ha sido genial Además de una CLI, puede usar el cliente P4V. También hay un plugin de explorador disponible, así como la integración Delphi IDE. De hecho acabo de encontrar esta integración gratuita en Torry ayer:

p4delphi

Lo instalé en Delphi 2010 y funciona bastante bien.

Perforce es gratis para dos usuarios, requeriría la installation de un server forzado, pero la huella del server es muy, muy pequeña. puede usar P4V (cliente visual de Perforce), que es mucho más conveniente que la tortuga, sino que también proporciona la extensión de explorador de Windows para tener solo como tortuga (pero podría omitir esta installation). La integración de Delphi podría hacerse usando P4Delphi .

Estoy utilizando la subversión, el seguimiento de errores y la planificación de proyectos simple para usar en mi último proyecto delphi de un proveedor de web services. http://www.unfuddle.com tiene una count gratuita para proyectos de less de 200 MB con 1-2 desarrolladores y la interfaz de usuario es fácil de usar.