Diferenza entre SVN e VSS

En calquera proxecto de desenvolvemento de software, chega un momento no que a comunicación entre os participantes convértese nun pescozo. Os desenvolvedores teñen que impulsar os cambios durante un período de tempo, polo que é imprescindible que todos estean na mesma páxina, asegurándose de que todos teñan a última versión dalgunha información crucial.

A medida que vai crecendo o alcance dun proxecto, tamén medra o número de persoas que participan nel. Entón, faise un pouco complexo co paso do tempo. Unha das mellores formas de xestionar esta complexidade é a través do uso de sistemas de control de versións.

Un control de versións é un repositorio central que almacena os cambios feitos nun ficheiro ou nun conxunto de ficheiros ao longo do tempo, de xeito que os distintos membros do equipo sempre teñen fácil acceso ás últimas iteracións dos ficheiros ou documentos relacionados co proxecto. Botamos un ollo a dous populares sistemas de control de versións: SVN e VSS.

Que é SVN?

Subversion, abreviado normalmente como SVN, é un sistema de control de revisión e versión de código aberto gratuíto distribuído baixo a licenza Apache que se usa para manter o código fonte dos proxectos Apache.

SVN é un sistema de control de versións centralizado que mantén un repositorio central para almacenar información nun formato xerárquico típico de ficheiros e directorios.

O repositorio almacena o historial completo dos cambios de código nun servidor central. Se un desenvolvedor quere conectarse ao repositorio e acceder a un ficheiro para facer cambios nese ficheiro, ten que tiralo do repositorio central á súa propia máquina e, a continuación, engadir ou modificar ficheiros e empurrar os cambios cara ao repositorio.

Actualiza automaticamente a copia de traballo local do proxecto no que está a traballar para incorporar os cambios de calquera persoa que estea a traballar no proxecto. Isto permite que calquera poida acceder aos últimos ficheiros actualizados que empuxou ao repositorio central.

Que é o VSS?

Visual SourceSafe (VSS) é un sistema de control de versións distribuído por Microsoft que automatiza o proceso de seguimento de ficheiros e control de versións. Deseñado para pequenos proxectos de desenvolvemento de software, VSS úsase normalmente nun modo integrado con Microsoft Visual Studio. Do mesmo xeito que SVN, mantén unha base de datos central onde se gardan todos os ficheiros e documentos relacionados co proxecto xunto co historial dos cambios nos ficheiros ao longo do tempo.

Basicamente, identifica, organiza e controla os cambios no software durante o seu desenvolvemento e mantemento. Mantén varias versións dun ficheiro, incluído un rexistro de cambios, e arquiva e rastrexa versións antigas de ficheiros. VSS foi inicialmente un servizo de xestión de configuración de software (SCM), pero co paso do tempo transformouse nun sistema de xestión de código fonte. VSS permítelle almacenar todo tipo de ficheiros, incluído código, gráficos, documentos, DLL, iconas, ficheiros de axuda, etc. Estes ficheiros almacénanse na base de datos VSS en "proxectos". Actúa como un repositorio común onde todos poden gardar os ficheiros relacionados co seu proxecto e tamén acceder aos ficheiros desde el.

Diferenza entre SVN e VSS

Ferramenta de SVN e VSS

- Microsoft Visual SourceSafe (VSS) foi unha das ferramentas de control e xestión de fontes máis populares de Microsoft que se usa normalmente integrada con Microsoft Visual Studio. A ferramenta foi desenvolvida orixinalmente por unha empresa chamada One Tree Software que máis tarde foi adquirida por Microsoft. VSS deixou de funcionar agora.

SVN, por outra banda, é unha versión gratuíta de código aberto e un sistema de control de revisión distribuído baixo a licenza Apache. O SVN é razoablemente fácil de usar e o fluxo de traballo é moi similar a outros sistemas de control de versións, polo que os que xa están familiarizados cos sistemas de control de versións non terán problemas para pasar ao SVN.

Compromiso atómico

  - A confirmación atómica é probablemente unha das mellores prácticas nos sistemas de xestión de código fonte, que é un cambio indivisible que comete varios ficheiros como un único check-in. Isto normalmente inclúese como funcionalidade principal nas implementacións de SCM.

Unha das razóns polas que os desenvolvedores prefiren SVN fronte a outros sistemas SCM como VSS é que SVN permite as comisións atómicas. Isto significa que cando cometes algo con SVN, entra todo o que queres cometer ou nada. O repositorio non entra nun estado inconsistente se se interrompe algunha operación a medio camiño. Non obstante, os commit VSS non son atómicos.

Modo de operación

  - Outra diferenza fundamental entre os dous sistemas de control de versións é que o modo de operación de SVN é o non bloqueo. Isto significa que varios usuarios poden acceder e modificar o mesmo ficheiro mentres traballan nas súas copias de traballo sen crear ningún conflito.

SVN evita conflitos entre varios usuarios que operan na mesma copia de traballo. Nada está realmente bloqueado en SVN e calquera membro do equipo que teña acceso ás confirmacións pode facer cambios en calquera ficheiro que queira en calquera momento. Con VSS, por outra banda, non hai garantía de que os cambios no mesmo ficheiro non entren en conflito entre si. Os usuarios poden bloquearse ao tentar cometer cambios nun ficheiro común ao mesmo tempo.

SVN vs. VSS: gráfico de comparación

Resumo de SVN e VSS

Unha das principais diferenzas entre SVN e VSS é que o modo de operación do SVN é o non bloqueo, o que significa que varios usuarios poden facer cambios nun ficheiro ao mesmo tempo, sen que se suscite ningún conflito.

SVN é un sistema de control de versións centralizado que mantén un repositorio central de historial completo de cambios de código ao longo do tempo, facilitando a calquera que poida engadir, modificar ou eliminar calquera ficheiro en calquera momento. VSS, por outra banda, é un servizo descontinuado de Microsoft que unha vez foi unha das ferramentas de control de fontes máis utilizadas.

Últimas mensaxes de Sagar Khillar ( ver todo )

Ver máis sobre: ,