¿SourceSafe es realmente seguro?

27

Después de pasar toda la mañana tratando de registrar algo, ahora me doy cuenta de que he perdido un par de días de trabajo.

Sucedió antes, y aparentemente es algo común con SourceSafe. ¿Se puede utilizar SourceSafe con éxito, sin problemas y, de ser así, cómo?

billy.bob
fuente
40
Oh querido Dios NO ... nunca, nunca más!
Tim Post
27
Luché mucho para sacar a SourceSafe de mi compañía. Finalmente ganó y todos están más felices por ello.
Kevin D
13
Cualquier organización que use VSS es un mal "olor a organización"
JoelFan
8
La frase "Llegar temprano y con frecuencia". es para prevenir este tipo de situaciones. Nunca debe perder más de unas pocas horas de trabajo. Sin embargo, Iron Maiden lo dijo mejor sobre VSS: "¡Corre a las colinas! ¡Corre por tu vida!"
Ryan Hayes
3
Microsoft no lo usa. ¿Por qué deberíamos?
greyfade

Respuestas:

45

Mi punto de vista es simple, migrar a otra cosa lo antes posible. No tomará mucho tiempo (1-2 semanas de WAG) y no importa cuánto demore la migración, es fácil de justificar eso para la administración. Un poco de tiempo para migrar equivale a un control de fuente sólido y muy pocas posibilidades de pérdida del código fuente. Haga una búsqueda rápida en Google de "historias de horror seguras en la fuente" o similar si su jefe es escéptico.

DevSolo
fuente
Es cierto, pero a veces no es fácil justificar que una persona no técnica pase 1-2 semanas migrando el control de origen.
t3mujin
2
@ t3mujin, vea la discusión sobre los programadores de
Nemi
SourceSafe es una responsabilidad activa y continua para su productividad a corto y largo plazo. Se puede reemplazar fácilmente por cualquier número de sistemas de control de versiones modernos, seguros y distribuidos. Investigue un poco con Google sobre las historias de terror de SourceSafe, así como orientación profesional. HAGA SU CASO FUERTE. Haz lo que sea necesario.
Adam Crossland
3
@ t3mujin: migrarlo proyecto por proyecto. Donde estoy trabajando, solíamos usar SourceSafe, ahora usamos TFS. La migración de todo (cientos de proyectos) habría sido una molestia, por lo tanto, si tenemos trabajo que hacer en un proyecto antiguo que todavía está en SourceSafe, primero pasamos la pequeña cantidad de tiempo migrándolo, y solo entonces comenzamos a trabajar.
Carson63000
@ Carson63000 Estamos utilizando TFS para la mayoría de los proyectos actuales, pero hay una gran base de fuentes con pocas actualizaciones ocasionales en VSS que nadie está dispuesto a pagar la migración a TFS. No estoy en el equipo que lo usa con más frecuencia, así que estoy de acuerdo con algunas líneas de código de vez en cuando
t3mujin
33

Peor. SCM. Siempre.

Todo lo que está mal en SCM está incorporado en VSS. Incluso StarTeam es mejor que Source Safe. Source Safe es Internet Explorer 1 del mundo de control de versiones: completamente reemplazado por cualquier otra implementación.

¿Cómo lo usé?

Mi flujo de trabajo típico para hacer las cosas era

  1. Mira el proyecto
  2. Bloquee todos los archivos (para evitar fusionarse con alguien porque abrió las puertas impías del infierno)
  3. Hizo mi trabajo
  4. Cada día revisaba mis cambios en
  5. Revisé todo de nuevo y solucionó todos los problemas con la integración
  6. Lo comprobé nuevamente

En comparación con Subversion, lo anterior es ridículo (además de comprobar que no ha roto la compilación).

Restricciones a las prácticas de programación de mi equipo.

Estas son las reglas bajo las cuales el equipo tuvo que trabajar para que funcione para nosotros. Su experiencia puede ser diferente.

  1. Una sola persona puede editar un archivo (el cielo lo ayudará si se va de vacaciones)
  2. No ramifique, es demasiado difícil de administrar
  3. Nunca intente volver a una revisión previa

¿Qué se puede hacer?

Polarion tiene un buen conjunto de herramientas para migrar desde Source Safe a Subversion (SVN), que es el estándar de facto actual en la mayoría de las empresas para el control de versiones de código abierto. Subversion sufre al requerir que un servidor esté disponible para permitir registros (a diferencia de GIT o Mercurial, que están diseñados para equipos fuera de línea distribuidos).

Gary Rowe
fuente
@David no me ayuda a comenzar a intentar obtener historiales de revisión de archivos o ramificaciones (estoy llorando mientras escribo, tantas horas perdidas de mi vida ...)
Gary Rowe
2
Sí, la ramificación y la fusión no son realmente divertidas en un buen SCM. No creo que el Congreso le permita hacer que la gente lo haga de manera segura.
BlackICE
2
¿Nunca vuelves a una versión anterior? Por qué no? Y si es así, ¿cuál es el propósito de usar una herramienta SCM?
JoelFan
En el pasado, cuando estaba en una tienda que usaba VSS, nunca tuvimos problemas para volver a una versión anterior. Eso parece un poco extremo. Sin embargo, estoy contigo en la ramificación.
JohnFx
@JohnFx @SpashHit Nuestro equipo tenía una tolerancia muy baja al dolor, así que quizás estoy un poco exagerado. Cuando apareció Subversion, fue como si se hubiera levantado un gran peso.
Gary Rowe
15

¡Cambie su control de origen a SVN / Mercurial / Git y nunca mire hacia atrás!

Amir Rezaei
fuente
3
Es "Mercurial", no "Mercurio" (solo recogiendo algunas liendres aquí, sin ofender)
Jürgen A. Erhard
@jae Arreglado eso para ti :-)
Gary Rowe
11

Lo sacamos de operación hace aproximadamente un año.

Sucedió varias veces que lo que había registrado la noche anterior no estaba allí a la mañana siguiente. No me pareció divertido porque parecía sospechosamente como si no hubiera terminado mi trabajo. Como era nuevo en la empresa, podría haber sido peligroso para mí.

Nos mudamos al TFS y ha estado funcionando sin problemas desde entonces.

usuario8685
fuente
1
+1 por sacarlo de la operación. Hiciste lo correcto.
Gary Rowe
1
TFS es una cosa hermosa, hermosa. Si tienes la masa para pagarlo, eso es.
Adam Crossland
2
@ Adam Crossland: Hermoso como un gran diamante, y casi al mismo precio.
Orbling
1
@Orbling: bien dicho.
Adam Crossland
1
Para aquellos que no reconocen la abreviatura, TFS es el Team Foundation Server de Microsoft .
Keith Thompson, el
9

¿Mi vista?

Hay mejores que son más fáciles de usar, más seguros y completamente gratis. ¿Por qué molestarse en usarlo?

Esta es un área de desarrollo donde tenemos muchas opciones; la mayoría, o todo, mejor que VSS.

Steven Evers
fuente
"la mayoría" es un poco desconcertante ... o dicho de otra manera: ¿qué es peor que VSS?
Jürgen A. Erhard
@jae: Debe ser solo un calificador que indica que no los he usado todos y, por lo tanto, no puedo verificar su calidad con respecto a VSS; por lo tanto, "o todo"
Steven Evers
9

Usar SourceSafe en una operación comercial es como calentar el edificio quemando billetes de un dólar.

En 2000, mi compañía de ocho desarrolladores probablemente perdió entre el 5 y el 10% de su productividad debido a las corrupciones promedio de dos veces al día de las bases de datos VSS. Era tan bajo porque habíamos ido a las copias de seguridad por hora.

Desde que me mudé de VSS a Perforce, svn y git, nunca tuve una base de datos SCM que se corrompiera.

Bob Murphy
fuente
7

Puede que me voten al infierno por esto, pero ...

texto alternativo

VSS efectivamente te pone en la trampa, en la medida en que no puedes conciliar ningún tipo de realidad necesaria para darte cuenta de que tu repositorio ahora entrometido no fue tu culpa.

Por favor, no lo uses nunca.

Tim Post
fuente
Es poco probable que te rechacen. Mi única crítica es que el cianuro es obviamente la droga elegida por el usuario habitual de VSS.
Orbling
7

Lo usé durante años: era la solución predeterminada, ya que ya estaba allí. Me ha mordido varias veces, pero la inercia es difícil de superar

luego tuve que usarlo de forma remota a través de VPN, e incluso los registros menores fueron como meter un ladrillo a través de un agujero . Fue más rápido encontrar manualmente los archivos que cambiaron, comprimirlos, enviarlos por correo electrónico, acceder de forma remota a la máquina de la bóveda de origen, descomprimirlos y registrar el código desde la máquina de la bóveda de origen.

Cambiado a Mercurial. Puedo clonar toda la base del código fuente en la VPN en menos de un minuto. Y ya no temo ramificar.

Nunca volveremos

Steven A. Lowe
fuente
Source Offsite fue para eso. Lo recuerdo bien también. De hecho, compré mi propia copia de la fuente fuera del sitio solo para no tener que hacer VSS a través de la VPN
BlackICE
+1 para "Ya no temo ramificar" el signo de un SCM maduro
Gary Rowe
5

Es una abominación. Pero aún mejor que nada.

BlackICE
fuente
12
Con todas las alternativas, es difícil justificar el uso, porque cuando se va hacia el sur, eso es lo que tendrás: nada.
DevSolo
13
¿Cómo puede ser mejor que nada si te hace perder el trabajo?
billy.bob
44
También puede perder el trabajo sin nada, las fuentes seguras al menos pueden salvarlo a veces .
BlackICE
44
@David: también pueden hacer copias de seguridad razonables antes de hacer algo potencialmente 'asqueroso'. Lo único que rivaliza con VSS en el fracaso es MS BOB. VSS es tan horrible que se debe crear una organización benéfica en nombre de curar a las personas para que no la usen.
Tim Post
99
No, es peor que nada. Porque si TAMBIÉN no tiene copias de seguridad, tiene una falsa sensación de seguridad y puede perder TODO
CaffGeek
5

Lo usé durante mucho tiempo (casi 10 años) sin experimentar personalmente ningún problema (incluso dentro de los equipos en los que estaba trabajando, aunque nuestro código tendía a estar bastante bien dividido para evitar conflictos y cosas por el estilo).

Pero hay demasiadas historias de pérdida de datos para seguir usándolas cuando existen alternativas de código abierto decentes y confiables.

Editar: a partir de los comentarios, el mensaje parece evitar cualquier cosa compleja (ramificación, fusión, conflictos) y probablemente esté bien. Algo más y te diriges a un territorio arriesgado.

Jon Hopkins
fuente
¿Estaba trabajando dentro de un equipo o en proyectos individuales dentro de una base de código general?
Gary Rowe
Dentro de un equipo, aunque la base del código estaba relativamente bien dividida en términos de quién estaba trabajando en qué, entonces rara vez habría habido conflictos.
Jon Hopkins
@ Jon Eso explica en gran medida la operación sin problemas.
Gary Rowe
1
FWIW mi experiencia es similar a la de Jon. 7 años, equipo de 8 personas, sin problemas con VSS. Aparentemente estamos en la minoría (afortunada). Nunca lo volvería a usar basado en todas las historias (usando SVN ahora).
Steve Fallows, el
1
Cuando la ramificación, la fusión y la resolución de conflictos se consideran operaciones complejas, probablemente esté utilizando el sistema de control de versiones incorrecto ...
James
5

Incluso la EM lo está despreciando a favor de TFS.

Para una tienda en solitario o realmente pequeña que trabaja en Visual Studio 6 o algo más antiguo, es aceptable y mejor que nada. Creo que hay mucha exageración sobre lo malo que fue, pero solo se necesita una instancia de perder un trabajo valioso para agriarlo en un producto (por una buena razón). VSS tuvo su lugar, y lo atribuyo al menos por alentar a muchos desarrolladores que no usaban ninguna herramienta SCM para que se acostumbraran, pero como muchas tecnologías, ahora es bastante obsoleto.

JohnFx
fuente
Hacer que la gente comience a usar SCM es bueno, no hay argumento. Pero ... ¿VSS? Las malas experiencias no solo pueden dar un mal nombre a un producto, sino que también pueden dar un mal nombre a toda una categoría. O: ¿cuántos desarrolladores inician SCM con VSS y luego pensaron "Wow, estas cosas de SCM son tan malas como esperaba" cuando VSS se equivocó? Sin mencionar que SCM es una infraestructura extremadamente crítica, lo que significa: errores no permitidos (sí, lo sé ...)
Jürgen A. Erhard
@jae esa no fue mi experiencia. VSS fue mi primera exposición a SCM y nunca he mirado atrás. No experimenté ninguna pérdida de datos, corrupción o ningún problema durante AÑOS mientras lo usaba. Eventualmente seguí adelante, pero creo que me habría llevado más tiempo integrar una herramienta si no hubiera sido preinstalada con Visual Studio en ese momento.
JohnFx
3

Después de 3 años de usarlo, quejándome una y otra vez ante mi gerente debido a todas las alternativas más avanzadas / racionales que existen, nunca tuve un problema con VSS, pero tampoco tuve una opción.

Mi opinión es que tanto apesta como sopla.

La parte más molesta al respecto no es su horrible versión y su capacidad de ramificación confusa, sino que el cuadro de lista en el menú de archivo no le permite presionar la tecla de flecha derecha para expandirse.

Realmente doloroso

Peter Turner
fuente
3

Mi opinión sobre VSS? Rechacé algunas ofertas de trabajo (muy bien remuneradas) porque solicitaron "competencia VSS". Y estoy seguro de que hay un par de otras personas aquí que hicieron lo mismo.

Jas
fuente
1
1, poniendo "VSS dominio" en un anuncio de trabajo es un signo seguro de que no sólo el uso de VSS empresa, pero que tienen una configuración en la que VSS está ya tan corrupta y problemática que requiere una auténtica experiencia de VSS para que funcione en todos .
Carson63000
1

No solo sufre el problema de la posible corrupción de la fuente (que debería ser un argumento suficiente para que la administración lo reemplace), sino que también tiene que vivir con una copia de seguridad incómoda y una incapacidad para trabajar de manera efectiva como un equipo en diferentes flujos de trabajo.

Encuentre otro SCM (cualquier otro) y vea cuán fácil puede ser la ramificación y la fusión. Piense en esos momentos en los que tuvo que copiar archivos de su solución VSS y guardarlos en otro lugar mientras regresaba para corregir un error en el código de 'producción'.

Para comenzar, simplemente instale GIT: apúntelo a sus archivos VSS y vea lo fácil que es para GASP que dos programadores trabajen en diferentes partes del mismo archivo AL MISMO TIEMPO, y luego haga que el software combine de manera inteligente sus cambios ... SCM las herramientas deberían ser más que solo una copia de seguridad de origen

Arrozal
fuente
0

Mis opiniones sobre VSS? Lo usé durante mucho tiempo regularmente (todavía se usa ocasionalmente para componentes más antiguos) pero es demasiado del siglo XX para nuestro equipo:

  • Muy poco confiable
  • Ramas no utilizables
  • Soporte de versiones muy pobre, tiene etiquetas pero (al igual que las ramas) no es realmente utilizable

Estoy con todo lo anterior: elija una de las mejores alternativas de código abierto (incluso CVS antiguas) o, si su empresa tiene algún tipo de suscripción a MSDN, TFS .

t3mujin
fuente
0
  • su bloqueo predeterminado ralentizaba a los desarrolladores, y nadie quería meterse con su configuración
  • no se integra muy bien con otros servicios, por ejemplo, una aplicación web de gestión de proyectos
  • no iba a funcionar bien con nuestro servidor CI planeado

Se suponía que las nuevas cosas de Team Foundation 2010 ayudarían mucho e intentar alejarse de las partes malas de VSS. Pero en el fondo todavía se basa en VSS , por eso nos mudamos a SVN.

editar : entiendo que TFS es completamente nuevo, pero cuando lo probé, varios desarrolladores a los que les pregunté tenían sentimientos muy similares. La razón por la que dije 'en esencia' fue porque recuerdo haber visto los archivos que TFS creó en mi solución que se parecían a los que hizo VSS. Esto es desde el punto de vista del desarrollador, tal vez ni siquiera conozca la tecnología detrás de VSS o TFS o cualquier otro SCM. Perdón por cualquier confusión.

revs jmlumpkin
fuente
¿¡¿¡Qué!?!? TFS no depende de VSS en ninguna parte
BlackICE
TFS fue reescrito desde cero ... no se basa en VSS de ninguna manera.
LeWoody
2
Visual Studio usa la misma API de complemento SCC para TFS y VSS. Esta API es compatible con VSS y tiene una sensación de VSS, por lo que cuando cambia de VSS a cualquier otro servidor de control de origen, se sentirá como si el fantasma de VSS todavía estuviera allí.
MatthewMartin
1
@LWoodyiii: ¿Entonces cómo terminaron codificando una pila de basura tan humeante dos veces? Al menos deben haber estado leyendo los comentarios en el código fuente de VSS.
Robert S Ciaccio
1
@CraigTP: la mayoría de los desarrolladores no tienen absolutamente ninguna necesidad de las cosas en TFS. Es solo el ruido lo que dificulta su trabajo. Si los PM y los leads quieren toda esa funcionalidad, deben separarse del software que un desarrollador necesita usar para ser productivo.
Robert S Ciaccio
0

En el pasado estaba cargado con SCCS bajo XENIX. VSS, en Visual Studio 6, a pesar de sus fallas y problemas, tenía claras ventajas. Todavía lo uso para proyectos pequeños y ya no uso SCCS en ninguna versión.

Dave
fuente
0

No puedo entender por qué todos quieren hablar mal de VSS. VSS no está distribuido y el control de versión distribuido es

  1. mejor
  2. permite el control de versiones no distribuido en la práctica

Por favor lee esto .

Dan Rosenstark
fuente