¿Control de fuente multiplataforma?

Estamos haciendo desarrollo para .NET (usando VS 2008) y Java (usando eclipse)

Actualmente, estamos usando CVS, pero realmente no hay un buen complemento para Visual Studio 2008, así que estoy buscando cambiar a algo que tenga mejor soporte para VS 2008 y Eclipse.

Mi pensamiento inicial fue SVN, ya que está muy cerca de CVS, pero estoy un poco tentado de usar algo como Mercurial. Estoy buscando algo que sea fácil de usar y que tenga un buen complemento de compatibilidad para ambas plataforms.

Puedo decirte que hay plugins realmente buenos para Subversion para Eclipse y Visual Studio 2008 ( AnkhSVN para Visual Studio). Debe asegurarse de download las comstackciones diarias de AnkhSVN si planea usarlo con la versión de subversión más reciente. Además, hay herramientas ( http://cvs2svn.tigris.org/ ) para migrar sus datos de CSV a SVN.

Para Mercurial oder Git, no tengo ninguna experiencia con ellos.

Creo que SVN te dará la transición más suave, pero no te dará la "gran revolución" (si esto es lo que buscas)

Somos una tienda .NET, Java y Rails

Usamos Subversion durante años y es un sistema fantástico, hicimos todo lo que creíamos necesitar de un SCM. Hace unos 9 meses comenzamos a jugar con Github.com mientras desarrollábamos una aplicación de Rails (inevitable en la comunidad de Rails).

Desde entonces, nos hemos pasado a Github.com completamente utilizando repositorys privados para nuestros desarrollos de software comercial de código cerrado.

Git nos ha hecho no romper un código de compilation o destrucción en meses, algo que solía ocurrir de vez en cuando y nos hacía perder un día de trabajo tratando de solucionar el problema. Subversion no le proporciona la flexibilidad en sus methods de trabajo que Git tiene. Si tienes problemas (una compilation rota o una solución urgente), Subversion no te ayudará, incluso funcionará en tu contra. Su mecanismo de bifurcación / fusión es muy difícil de usar porque no hace un seguimiento del origen de la sucursal. Además, cuando se fusiona, su historial de cambios se modifica de tal manera que todos los cambios realizados por el equipo en una sucursal en particular se atribuyen al usuario que realiza la fusión. Git también es muy rápido ya que todo el repository en el que trabajas es local, algo que es muy notable cuando trabajas desde ubicaciones remotas.

Dicho esto, Subversion te tomará una semana o dos para ser competente. Git lleva al less un mes, especialmente si vienes de Subversion o CVS. Si pretende que es simplemente un SVN o CVS más moderno, se sentirá frustrado por la falta de mejoras en su flujo de trabajo de encoding y se sentirá molesto por la multitud de commands.

Tenemos una configuration de 3 twigs: hotfix <-> master <-> desarrollo. En condiciones normales, el equipo de desarrollo trabajará en la twig de desarrollo. Para cada historia de usuario, el desarrollador creará una twig de desarrollo: desarrollo <-> historia de usuario. Cuando la historia finaliza, la historia del usuario se fusiona con el desarrollo y la twig de la historia del usuario puede eliminarse. Esto sigue y sigue, y el maestro se mantiene estable y no se ve afectado hasta que el administrador de compilation decida que es seguro fusionar todos los cambios en el desarrollo de nuevo en maestro. Si, mientras tanto, un cliente llama por teléfono y necesita una revisión, también se realiza de forma aislada del maestro y puede fusionarse con el rest de la base de código (máster y desarrollo) en un punto adecuado en el futuro.

Ahora wrt a GUIs y SCM. Los evitamos como la peste. Las GUI son malas para trabajar con SCM. Lo sé, controvertido, pero escúchame. La command-line lo ralentizará más de lo que lo hace una GUI y cuando está trabajando con un SCM y hay muchas posibilidades de que haga algo malo o destructivo en su repository central, la lentitud es algo bueno. Slow te hace pensar en tus acciones. Todas las GUI típicas que he visto (EclipseSVN, TortoiseGit / SVN) preseleccionan sus cambios recientes como parte de la confirmación que va a realizar, independientemente de si esos cambios están listos para comprometerse o no. ¡¡¡¡MALO!!!! Debe pensar en sus compromisos y qué tan abultados o grumosos deben ser: las líneas de commands hacen un mejor trabajo que las GUI en este sentido. Todos nuestros progtwigdores de .NET, que naturalmente se sienten atraídos por la realización de tareas a través de GUI, usan la línea de command Git y utilizan la línea de command SVN antes de eso, solo por los motivos descritos anteriormente. Les dio una mayor sensación de control.

  • Cliente VisualSVN para Visual Studio
  • SubClipse para Eclipse
  • Servidor VisualSVN para el server

Después de haber usado svn con Eclipse y Visual Studio, encuentro que los complementos de eclipse (especialmente los subversivos ) generalmente se integran más fácilmente en el IDE. Tanto Ankh como VisualSVN hacen un muy buen trabajo, pero tiendo a preferir ToirtoiseSVN cuando trabajo con .net. En Eclipse casi nunca recurro a ToirtoiseSVN.

Sin embargo, para ser sincero, creo que el complemento IDE no debería impulsar tu decisión demasiado.

Usamos ambos VSS (y ahora subversión) para J2EE y .NET en diferentes proyectos. Ambos parecen funcionar bien.

¿Por qué estás tan ocupado con los pulsos de IDE? Personalmente, podría tomarlos o dejarlos … Los puse en el cubo "kitch que no agrega ningún valor real".

Aclamaciones. Keith.

Hay un debate en curso entre AnkhSVN y VisualSVN , si decides ir con SVN.

Personalmente, me gusta Ankh. Es gratis, más intuitivo para mí y proporciona comentarios más útiles sobre el estado de mi proyecto. Sin embargo, he tenido algunos problemas de corrupción, pero nada que me haya costado más de unos minutos.

Yo uso Vault de SourceGear . Es simple de usar y tiene una gran integración IDE con Visual Studio y Eclipse. También está completamente probado en Linux usando Mono.

Es de uso gratuito para usuarios individuales, por lo que puedes probar antes de comprar.

Compruébalo y mira lo que piensas. http://www.sourcegear.com/vault/

Personalmente, me gusta Perforce . No es gratis, sino multiplataforma y muy bueno.

No soy un experto en esto, pero lamentablemente me han decepcionado las extensiones GUI o IDE SCM. He estado usando SVN y GIT bastante bien con proyectos alojados en sourceforge. Mi valor de 2 centavos. ¡ACLAMACIONES!

Pruebe Plastic SCM trabajando en Linux, Mac y Windows. Replicación basada en GUI, explorador de ramificación, ramificación eficiente y fusión (incluye el seguimiento de fusión, mover y cambiar el nombre también), security basada en ACL …