Comparacion entre svn, git y tfs

Solo disponible en BuenasTareas
  • Páginas : 5 (1213 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de octubre de 2010
Leer documento completo
Vista previa del texto
Comparación entre Subversion, Team Foundation Server y GIT.
Repository model
TFS
Client- Server
SVN
Client-Server
GIT
Distributed

Check outs
TFS
Permite hacer múltiple Check Outs, tiene manejador de conflictos, guardar cambios sin subirlos al source control y hacerlos accesibles a otros, graba todos los cambios realizados, fusión y duplicados además de designación de diferentesniveles de seguridad en el árbol de archivos. Además su integración con Visual Studio hace checkout automático al detectar que se están realizando modificaciones al código.
SVN
Tiene la opción de realizar un hijack, lo cual hace accesible el código al usuario pero sin tenerlo bloqueado, en caso de hacer checkout lo deja bloqueado a otros usuarios para su acceso, por lo tanto no permite lacustomización de bloqueos.
GIT
Debido a la estructura distribuida de GIT, más que un checkout se le denomina clone. No existen bloqueos en el caso de GIT ya que cada desarrollador cuenta con una copia del proyecto y puede realizar cambios aunque otro los esté haciendo por su lado.

Locks
TFS
Permite designación de diferentes niveles de seguridad en el árbol de archivos y determinar los tipos de bloqueosque se van a utilizar, se puede impedir a otros usuarios obtener el código mediante checkout, se les puede impedir hacer check in, se le pueden impedir los dos, o permitirle el uso completo del código.
SVN
Permite bloquear partes del código para ser modificado mediante el comando svn lock/unlock.
GIT
No existen bloqueos en el caso de GIT ya que cada desarrollador cuenta con una copia delproyecto y puede realizar cambios aunque otro los esté haciendo por su lado.

Rollback
TFS:
TFS permite deshacer los cambios realizados y volver al código que se tenía al punto de hacer el checkout mediante la opción “Undo Changes”. No es necesario pedir al servidor la versión anterior para llegar a esto.
SVN
No cuenta con comando de RollBack, si se quieren deshacer los cambios se debe deobtener la versión deseada.
GIT
Permite realizar un Rollback mediante el comando reset --hard HEAD^ lo cual permite regresar a un estado anterior del proyecto sin necesariamente tener que sustituir todo el código.
Rename files
SVN
Aunque se puede cambiar el nombre de un archivo manteniendo el historial de cambios, SVN no detecta por sí mismo que se ha modificado el nombre, por lo que esnecesario indicárselo manualmente. Para cambiar el nombre de usa la instrucción svn rename OldFle.cs NewFile.cs Se recomienda hacer un svn commit antes de comenzar a hacer cambios en el archivo renombrado, para evitar problemas de versiones y conflictos.
TFS
Se puede renombrar un archivo con el siguiente comando:
tf rename /login:user,password old.cs new.cs
Se mantiene su historial de cambios.
GITAl administrar el contenido de los archivos, Git puede detectar si un archivo ha cambiado de nombre y aun así mantener su historial de cambios sin necesidad de que el usuario deba indicarle que el archivo ha cambiado de nombre.
Permisos
En general los permisos básicos que se otorgan son Read Only o Read & Write.
TFS
Los permisos pueden estar definidos como Deny o Allow. Los
* Secrean cuatro grupos para el proyecto, que definen los permisos con los que cuentan:
* Project Administrator: Manage
* Contributor: Read and Write access.
* Reader: Read access
* Build Services: Build the project
También hay diversos niveles de permisos
Server-Level Permissions:
Project-Level Permissions
Work Item Tracking Area-Level Permissions
Source ControlPermission
SVN
Se pueden asignar permisos por proyecto, (pueden ser Read Only o Commit que incluye Read & Write).
También se pueden asignar permisos para un path determinado para un user group.
GIT
En si no administra los permisos, ya que busca centrarse más en el manejo del contenido, por lo que delega esta actividad a otras herramientas como SSH, filesystems permissions.
Para control de...
tracking img