Estamos considerando TFS para los nuestros .NET basado en proyectos y como una tarea de gestión de la plataforma.
Algunos equipos se desarrollan exclusivamente en Java y están bastante contentos con SVN (Subclipse).

Nuestros gerentes se acercó con las siguientes preguntas:

  • Debemos migrar a Java equipos de TFS así?
  • Hace TFS (control de origen solamente) se maneja bien proyectos Java?
  • Es un dolor para migrar nuestro código Java de la base y de la historia de Subclipse a TFS?

Actualmente estamos buscando para el uso de TFS como fuente única plataforma de control para el mantenimiento razones. Nos gustaría evitar tener nuestros chicos soporte de múltiples sistemas.

Gracias

  • ¿Qué IDE son sus desarrolladores java usando? Microsoft lanza un plug-in para Eclipse para TFS. Hay una demo gratuita disponible para descargar para tu desarrolladores de Java pueden comprobarlo. microsoft.com/visualstudio/en-us/products/2010-editions/…
  • Que el uso de Eclipse. Gracias por el enlace. Voy a revisar esto.
  • Teniendo en cuenta que haya hecho esta pregunta hace un año, me pregunto si usted tiene un seguimiento?
  • He añadido una respuesta más – tienen la misma experiencia que usted
  • Estamos ahora 2 años después de emigrar a TFS. Actualizado a 2013. El equipo totalmente enamorado de ella y no puedo siquiera pensar en la edad svn días!
InformationsquelleAutor Jabberwocky | 2012-02-10

6 Comentarios

  1. 45

    La divulgación completa, yo trabajo en el equipo que escribir el Java herramientas para TFS para tomar esta respuesta como apropiadamente sesgada 🙂

    Tan lejos como TFS – que todo el código se crean de la misma. Es sólo bytes de los archivos que se comprueba en el control de versiones. Como todos los sistemas SCM, no importa qué idioma que los archivos se escriben en.

    A Microsoft a ofrecer un completo, rico TFS Plug-in para Eclipse (llamado Team Explorer Everywhere). Esto proporciona un completo control de código fuente, seguimiento de elementos de trabajo, construir, sharepoint, el acceso a reportes etc en TFS de basada en Eclipse IDE. Está escrito en el 100% Java y habla directamente a los servicios web expuestos por TFS.

    Además también ofrecemos un cruz-plataforma de la línea de comandos de cliente para TFS de modo que usted puede hablar con TFS desde la línea de comandos en el sistema operativo de la opción (Mac, Linux, Solaris, HP-UX, Aix, etc. todo totalmente compatibles).

    Por último, si usted tiene las herramientas escritas en Java que desea hablar con TFS, entonces se puede hacer uso de la TFS SDK para Java que es el API completo que hemos utilizado para crear el Eclipse de la integración y de la cruz-plataforma de la línea de comandos de cliente, sino que viene embalado con las muestras y los fragmentos de código y listo para redistribuir con sus aplicaciones.

    Cuando se trata de construir el edificio tiene un par de opciones. Si quieres seguir con su versión actual del servidor, a continuación, es probable que esta ya soporta hablando de TFS (de todos los populares de código abierto construir servidores). Además de eso, Microsoft proporcionar la Construir Extensiones de TFS que le permiten ejecutar Ant o Maven basa se basa en el Equipo de la Fundación servidor de Compilación. Los resultados de generación (junto con advertencias o errores) se publicó de nuevo en TFS junto con cualquiera de prueba de JUnit datos, si desea ejecutar las pruebas JUnit como parte de su construcción. También puedes crear y gestionar la construcción de las definiciones en el IDE de Eclipse y tener un lugar para administrar el acceso a ellos, etc.

    Así el nivel de soporte para Java es muy alta y Microsoft ha mostrado constante inversión en esta área. Recientemente hemos enviado algunos TFS 2010 Herramientas de Poder para Eclipse y también hemos sido vista previa del envío de versiones de Team Explorer Everywhere 11 junto a Team Foundation Server 11 (somos el mismo equipo dentro de la empresa).

    Importar la historia desde el SVN, que es la misma que la importación de la historia de cualquiera de las herramientas de SCM en TFS (o de TFS en cualquiera de las herramientas de SCM). Usted tiene un par de opciones. Usted puede tomar una instantánea y cortar en un punto en particular (tales como una liberación) o puede migrar de la historia. Para Migrar la historia desde el SVN hay algunas socio de soluciones disponibles, incluyendo uno de Oportuna De La Migración que he visto un montón de clientes a tener éxito con.

    Espero que ayude.

    • Martin, esto es muy útil. Gracias!
  2. 6

    Después de un año de trabajar en Java/JVM proyecto con TFS, me gustaría disuadir a nadie de hacer esto. Mientras TFS puede ser considerado top-of-the-line .RED de desarrolladores, usted no encontrará ninguna de Desarrolladores Java con experiencia con ella. No es el plug-in para Eclipse y un puerto para IntelliJ, pero he tenido mala suerte con ambos, aunque supongo que es principalmente debido a TFS no funciona como cualquier otro VCS que yo he utilizado.

    De nuestro equipo, hemos estimado que un 10-15% de sobrecarga debido a TFS y complicaciones causadas por ella. Días de trabajo perdidos debido a TFS decidió sobrescribir los archivos, los días de la solución de los problemas causados por la incompleta TFS Actualizaciones. Hemos hecho una sucursal en 6 meses, debido a que todo el equipo perdió a dos días de la última vez que lo hicimos. Es común escuchar la frase «acabo de actualizar con los últimos cambios, puedes venir a comprobar para asegurarse de que nada desaparecido en la mezcla?». En lugar de utilizar Jira, seguimos utilizando el terrible problema de seguimiento en TFS, causando más aún más problemas.

    Varios de los desarrolladores del equipo han llevado a usar git, ya sea en forma independiente o el git, tfs-puente. Otros sólo tienes que copiar el árbol de código fuente antes de cualquier ‘arriesgado’ actividades, como la actualización o facturar.

    De cualquier manera, no la recomendaría para un equipo que no tiene experiencia con ella…

    • QFT. Hemos tenido varios casos donde TFS (o el plug-in Eclipse, quién sabe) simplemente no cometer todo en el repositorio. Lado del cliente afirma que cada cambio que se cometió, mientras que en el servidor no estaba allí. Eso es bastante preocupante el comportamiento de VCS. También, la buena suerte de cambiar el nombre de una estructura de paquete con TFS constantemente diciendo que «En este momento de Team Foundation Server no se puede eliminar un paquete vacío(s) se mantuvo después de cambiar el nombre.». TFS y el Eclipse plugi-en no son intrínsecamente malos, solo que no funcionan lo suficientemente bien como para mí ser capaz de recomendar.
    • Es esta respuesta sigue vigente? Me pregunto, desde TFS ahora admite Git.
    • Yo ya no uso TFS, pero dudo que Microsoft consiguió Git emulación correcta en el primer intento…
    • TFS no «emular» Git en todos. Sólo usa el viejo y simple msysGit. Para el 2017, creo que para todos los intentos y propósitos Git ha sustituido TFSVC como TFS principal de VCS.
  3. 4

    Me gusta la respuesta de @Martin_Woodward mucho, pero es demasiado parcial en mi opinión, por lo que puedo agregar mis 2 centavos de dólar por aquí. Nosotros, en nuestra empresa se encuentran en una situación similar, y la decisión (en mi opinión) depende del contexto. Puedo ver 3 diferentes situaciones, y las decisiones pueden ser diferentes en cada uno de ellos:

    1. Que son en su mayoría en vías de desarrollo .NET solutions, y el de Java partes están integradas en el .NET soluciones.
    2. Su .NET soluciones son independientes desarrollado a partir de las soluciones de Java, y que son la mitad .NET, la mitad de Java.
    3. La mayoría de las soluciones están desarrolladas con Java, y sólo un pequeño porcentaje está desarrollado con .NET

    Estoy de acuerdo con Martin, solamente en el primer caso. Usted va lucro desde el entorno de desarrollo común, el control de código fuente, el proceso de construcción de … de Java chicos aprenderán las diferencias en TFS de Control de código Fuente (¿tiene un nombre??). Y su futuro será brillante 😉

    Si su .NET soluciones y las soluciones de Java son independientes el uno del otro, el único argumento para el uso de TFS para el desarrollo de soluciones de Java es el costo en la operación. Y usted debe mirar con cuidado en ella, si el ahorro para el funcionamiento del entorno de desarrollo sólo TFS fuera de peso el costo adicional de la conmutación de su Subversión proyectos de TFS.

    En el último caso, sería una terrible decisión de cambiar con un montón de gente sólo para tener un entorno común para desarrollar. Usted puede integrar la Subversión en VisualStudio (utilizando, por ejemplo, VisualSVN o de otros plugins), y tienes casi no invertir en absoluto.

    La migración de código fuente, incluyendo la historia es, normalmente, un dolor, y depende del destino y de origen, si que funciona bien. Tenemos buenas experiencias con CSV y SVN, pero no (bueno) experiencia con los demás. Pero eso no es normalmente un problema, usted puede utilizar su antiguo SVN repositories (sólo lectura) y acaba de migrar el último hito. Después de algún tiempo, SVN repos puede dejar solos …

    • Una cosa importante a la izquierda en la respuesta a esto es que TFS añade mucho más que el control de código fuente. El Team Explorer Everywhere también añade un elemento de trabajo de gestión, cuestión básica de seguimiento, y de la cruz proyecto capacidades de presentación de informes. Cosas SVN solos no proporcionan. Tengo que admitir que hay herramientas de código abierto, que combinados proporcionan un conjunto de características similar, pero nada sé de proporcionar un amplio conjunto de características como TFS para Java y .RED de desarrollo.
  4. 3

    Después de 1 año de trabajar con TFS/Java estoy totalmente de acuerdo con Polvo J (Sí, TFS/Java es malo) y completamente en desacuerdo con Martin Woodward sobre el gran soporte técnico de Microsoft. Aunque por mi deber como desarrollador el Eclipse de TFS está bien, los problemas son para mi build/liberación de obligaciones.

    Primero, este plugin de Eclipse para no permitir la creación de una rama de varios proyectos a la vez como en el CVS/SVN. Una de las necesidades para la creación de una rama por separado para cada proyecto. Entonces no podemos mantener los mismos nombres de los proyectos en la rama–, uno necesita cambiar un nombre de proyecto y después de la comprobación hacia fuera de la rama que se cambie el nombre original. Véase también mi post Cómo asociar un espacio de trabajo de Eclipse con TFS área de trabajo?, no hay manera de asociar un espacio de trabajo de Eclipse con TFS área de trabajo. Por lo tanto, la asignación de una carpeta local no puede ser salvado; necesita ser hecho de nuevo después de abrir otro espacio de trabajo de Eclipse para la rama de construcción. Y desde el local de asignación es la misma que hay una posibilidad de borrado de una carpeta local con el trabajo no guardado como Polvo J escribió.

    Esta quitando archivos locales sin advertencia es una terrible característica de TFS (ver el post Por qué comando get desde una línea de comandos en TFS quita proyectos paralelos?). Lo que Microsoft piensa acerca de la posibilidad de borrar archivos locales sólo en virtud de la opción «Quitar de Asignación Local» en Eclipse?

    Así, a pesar de mi esfuerzo para aprender TFS todavía me gasta 10 veces más tiempo para varias versiones como en comparación con CVS he usado antes.

    • Lo siento, estás frustrado, pero no estoy del todo de lo que estás pidiendo. Sin duda, usted debería ser capaz de rama varios proyectos a la vez. Tiene usted una pregunta aquí o en el foro MSDN? social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=tee
    • ¿Por qué está usted seguro de que esto es posible con el plugin de Eclipse? He intentado muchas veces
    • Hemos agregado la funcionalidad de ramificación en Teamprise 2.0 y han probado ampliamente; nos permiten rama de un muy complejo espacio de trabajo de mapeo. Así que nos encantaría entender su flujo de trabajo para comprender mejor por qué el plug-in no está trabajando para usted.
    • Necesito un nuevo Plugin de Eclipse, ahora tengo 12.0.0.201310110941? Gracias
    • No, esa versión es de fiar. Creo que hay una versión más reciente, pero que va a tener características nuevas, nada que resuelve sus quejas. Realmente, a pesar de que: lo siento mucho, que has sido infeliz durante un año. Si usted abre una nueva pregunta que describe lo que usted desea y los pasos que está dando, vamos a tratar de llegar allí.
    • Idealmente, me gustaría seleccionar varios proyectos en Eclipse y los puso en una rama separada. Si tengo que trabajar de una rama que simplemente retirar la rama de los proyectos desde el repositorio. Generalmente lo hago en otro espacio de trabajo de Eclipse (y otra carpeta correspondiente) con el fin de no meterse con la cabeza. Lo siento, no está claro de dónde y cómo formular estas solicitudes – ¿dónde poner una pregunta?

  5. 0

    (Otro sesgada MS empleado)

    TFS formado un equipo de alrededor de 18 meses para centrarse exclusivamente en la fabricación de Java gran experiencia en TFS/Equipo de Servicios y a través de todas las plataformas. Estoy en ese equipo y creo que hemos hecho un montón de grandes progresos. No voy de acuerdo con que el final de la historia era bastante malo cuando esta pregunta se la hicieron, pero creo que la respuesta ha cambiado bastante en los últimos años.

    Mi equipo proporciona construir y las tareas de implementación de TFS así los plugins para Eclipse y IntelliJ para hacer el final de la experiencia tan completa como sea posible. También estamos trabajando duro para asegurarse de que el documento de cómo obtener lo mejor de TFS si usted es un desarrollador de Java.

    Si quieres más detalles, checkout http://java.visualstudio.com.

    Gracias,
    Jason Prickett

  6. -1

    ¿Por qué no usar SVN para el .NETO de proyectos? ¿Hay alguna razón para que? Hay varios plugins para SVN en Visual Studio, así como un shell de windows la extensión de.

    • Gracias por la respuesta Alex. La razón principal por la nuestra .RED de equipos como el de la gestión de proyectos y de seguimiento de fallos de las características de TFS. En ALM prospectivo, que nos da más control y outlook en el avance de los proyectos. La segunda razón es que nuestros proyectos Java son los antiguos proyectos y sabemos que algún día vamos a estar al 100% .NET. Contamos con un equipo de la portabilidad de Java .NET como hablamos…
    • Hay abierto ALM plataformas que incluyen la Subversión como CollabNet TeamForge – open.collab.net/products/ctf. Esto incluye Visual Studio y Eclipse clientes para el issue tracker y la Subversión. También incluye soporte para Git si desea que en el futuro.
    • Sí, las herramientas de Microsoft suelen ser bastante potentes herramientas, si el alto costo de la inversión no es un problema, y como hemos visto de Martin respuesta hay un montón de buenas soluciones a su problema. Nos dicen cómo la migración va a funcionar, y buena suerte!

Dejar respuesta

Please enter your comment!
Please enter your name here