accurev

Accurev SCM



(26)

Mi compañía ha estado usando Accurev desde principios de 2010, viniendo de StarTeam antes de eso y de CVS en un pasado muy lejano. No he usado CVS (habiendo estado en un equipo diferente en ese momento), así que no tengo comparaciones allí, y nunca me molesté en aprender StarTeam demasiado íntimamente.

Desde entonces también he jugado con las versiones CLI y Tortoise de SVN, Git y Mercurial (Hg) en mi tiempo libre. Planeo darle a Git una oportunidad más completa en algún momento, pero descubrí que Hg es mucho más intuitivo y fácil (al menos en Windows). De todos modos, como dije, la administración nos ensilló con Accurev y después de pasar el tiempo para familiarizarnos bastante bien con él (GUI y CLI) como desarrollador ... Realmente lo odio.

Alguien antes en el hilo lo resumió como un software escrito por desarrolladores que había leído sobre SCM en un libro pero nunca lo usó ... Estoy de acuerdo sinceramente, pero también tienes la sensación de que tenían el mismo nivel de experiencia con las GUI, procesamiento eficiente, etc. (De hecho, veo que Accurev tiene un nuevo producto llamado "Kando" basado en Git ... suena como si finalmente se hubieran dado cuenta de lo malo que es su modelo. Pero para citar a un compañero de trabajo "No lo haría confíe en cualquier cosa escrita por el mismo equipo en este punto "... Tengo que preguntarme si es una coincidencia que haya un producto para bebé que se llama" Kandoo "...)

Ok, obviamente no me importa el producto. Si has pasado el tiempo leyendo este hilo, obviamente hay bastantes personas con puntos de vista similares. Pero quería compartir algunas de mis propias quejas que he tenido con él en los últimos años, por cierto, si ayuda a alguien, creo que estábamos usando v4.7 anteriormente y hemos estado en v5.3 (? ) ahora por bastante tiempo.

Mi mayor problema con Accurev es lo terriblemente lento e ineficiente que es. Tenga en cuenta que no usé la palabra GUI - He intentado tanto GUI como CLI-- las partes lentas están en el servidor, así que está jodido de cualquier manera. Parece que veo una de esas malditas barras de diálogo / estado modal en cada esquina ... Cambio las pestañas - ¡bam !: procesamiento, espere. Repararé una transmisión, oh espera un minuto más. Para "Actualizaciones" espero que sea un poco lento (aunque a veces se pone molesto cuando grita "Superposición" [también conocido como conflicto] cuando tengo un archivo con contenido IDÉNTICO sobre lo que está presionando). Cambio los directorios navegando por una ruta ... procesando, procesando, "oh quieres bajar una subcarpeta más" ... déjame procesar eso un poco más. Entiendes la idea.

¿Es esa mi única carne? Diablos no

1) Para la herramienta de fusión, he tenido la opción "ignorar el espacio en blanco" verificada durante años, pero solo puedo recordar que funciona UNA VEZ (por ejemplo, estamos hablando de comparar las 2 versiones de un JSP) donde convertí espacios en pestañas o recorté algunos espacios en blanco al final o algo así). ¿Por qué es esto un problema? Porque se convierte en una tortura para todos los desarrolladores que buscan en la historia y quieren ver lo que REALMENTE cambió. Si no pueden implementarlo correctamente, no coloque la opción F *** ING allí. (Nota: el uso de WinMerge como una herramienta de comparación externa, con la configuración adecuada funciona bien)

2) He tenido instancias en las que consultar un archivo en una secuencia y luego tener que poner una copia IDÉNTICA de ese mismo archivo en otra secuencia (usando los mismos números #) hace que lance una rabieta. Si utilizo el número incorrecto #, entra sin problemas. Este es probablemente un caso aislado (y tal vez debido a otras malas decisiones de proceso con las que mi empresa nos engancha) pero pensé que lo mencionaría para completarlo.

3) La historia? Todo almacenado en el servidor. Traducción: si le gustó esperar a que cambie de pestañas, cree / reparen un área de trabajo y actualice, entonces tendrá más de lo mismo cuando quiera ver el historial.

4) La forma en que se hacen las reglas de exclusión no solo es terrible sino también patética. En Windows, en realidad tiene que crear una variable de entorno donde puede crear algunas exclusiones para los archivos que no desea mostrar. NO APOYA REGEX. He visto varios otros SCM que ofrecen enfoques mucho mejores (me gustan los archivos ignorados que se usan en Hg. También creo que hay algo similar en Git), no solo se admiten patrones regex y glob, sino que se definen esto en un ARCHIVO es más amigable con el sistema y mucho más fácil de editar que ponerlo en una variable de entorno. No solo eso, sino que parece que los filtros de ignorar son dudosos en el mejor de los casos. La forma en que se definen nuestros proyectos tiene la carpeta de compilación debajo de la carpeta del proyecto (que es controlada por la fuente) e intenta excluir todas las carpetas debajo de la carpeta de compilación. Parece que la mayoría de ellos aún aparecen en mi filtro "Externo" después de configurar las reglas.

5) El proceso de check-in (un "Promover") también parece funcionar con el tema de lento e ineficiente. Usamos un sistema de ticket externo (no AccuWork ... nuestro sistema de tickets tiene sus fallas, pero después de usar AccuRev, no puedo imaginar que ese producto sea mucho mejor). De todos modos, cuando decimos "Promocionar [este archivo]", primero aparece con otro diálogo modal (después de la espera requerida, mientras hace más procesamiento estadístico), luego presenta una lista de TODOS los tickets que ha extraído (hay un mucho ... demasiados para encontrar algo confiablemente). A continuación, debemos ingresar nuestro número de ticket del otro sistema, y ​​esperar un poco más, mientras tarda una eternidad en encontrar una coincidencia (pensé que ya había sacado la lista ... geez). Finalmente, mostrará las coincidencias, luego seleccionaremos una y le pediremos que promueva el uso de ese número de ticket. Después de esperar un poco más, finalmente hemos terminado.

Podría seguir, pero me detendré allí ... esta publicación se está haciendo demasiado larga. En cambio, permítanme resumir Accurev a mi manera: después de tener que esperar todos estos lentos y molestos "Procesos estadísticos", etc. diálogos durante un problema en el que estábamos tratando de obtener una solución rápida, se me ocurrió un nuevo eslogan para ellos: "AccuRev: cuando los segundos cuentan, tu solución está a solo minutos de distancia".

Dado que la administración no se deshará de Accurev (sé que no buscarán nada sin el apoyo de Enterprise, pero les supliqué que consideren cualquier otra cosa: SmartGit ... Kiln ... Perforce ...), tengo estado usando TortoiseHg para controlar localmente mis archivos (además de Accurev). Es un poco más de trabajo. Pero para aquellos que llevan Accurev, hace la vida mucho más fácil. Obtienes: mejor gestión de diferencias: MUCHO MÁS fácil de ver y revisar los cambios de código después de una "actualización accurev", la capacidad de ver un poco de historial sin esperar 10 años para el servidor, la capacidad de compartir directamente entre tú y otro desarrollador (suponiendo que también instálelo), capacidad de revertir / restaurar sus cambios si accidentalmente borra algo mientras trata de alejarse del infierno de fusión de Accurev (archivos "superpuestos"), y más aún si puede conseguir que el resto de su equipo lo use.

EDITAR: Olvidé mencionar que, durante una conversión con nuestros ingenieros de construcción, me dijeron que, si bien Accurev tiene una API de Java para la que puede desarrollar, al parecer requiere la compra de algún tipo de licencia adicional. No puedo confirmarlo ya que a) No puedo encontrar precios en el sitio web de Accurev * yb) Dudo mucho que me digan en el trabajo ...

* Es un poco raro considerando que puedo encontrar algún tipo de precio aproximado para Perforce, Kiln, StarTeam y SmartGit con bastante facilidad. Por lo general, tengo una sensación incompleta cuando algún producto no muestra ningún tipo de precio por adelantado, supongo que no debería sorprenderme demasiado que Accurev entra en esa categoría ...

¿Alguien usa Accurev para Source Control Management? Estamos cambiando (eventualmente) de StarTeam a Accurev.

Mi impresión inicial es que la herramienta de la GUI es muy deficiente, sin embargo, el motor subyacente y las ramas como concepto de transmisiones son increíbles.

La mayor dificultad a la que nos enfrentamos es evaluar nuestras propias herramientas de bricolaje que interactúan con starteam, y reemplazarlas con nuevas herramientas de bricolaje, o encontrar y comprar reemplazos apropiados.

Además, ¿alguien está utilizando el componente AccuWork para la gestión de problemas? Starteam tenía un muy buen sistema de solicitud de cambio, y AccuWork no se acerca a igualarlo. Estamos evaluando usar Accuwork o comprar un paquete de terceros como JIRA.

Opiniones?


@Steveth

La interfaz es pésima ... Sin embargo, el modelo de flujos es muy innovador.

Es inaudito poder crear una secuencia para un nuevo proyecto fuera de la secuencia de troncales, y tener 5 desarrolladores trabajando en ella, y no tener ninguna forma de colisiones de fusión cuando fusionamos esa secuencia nuevamente en el troncal principal, pero funciona bien en Accurev.


En un empleador anterior revisamos Accurev y Plastic SCM. Al final del día, no me impresionó la interfaz de Accurev o las llamadas "transmisiones". Fuimos con Plastic, y nadie se quejó.

@Jonathan Las transmisiones son interesantes, pero no veo cómo cualquier control de versiones puede evitar mágicamente las colisiones cuando dos personas tocan el mismo código en el mismo archivo. El modelo de Accurev era intrigante, pero al final del día, una buena y limpia ramificación y fusión con una interfaz fácil de usar hizo que Plastic fuera nuestra elección. La vista de línea de tiempo de Plastic (se me olvida el nombre real), que muestra el historial de sucursal / fusión / check-in, hace que sea muy sencillo revisar el historial del proyecto a vista de pájaro.


Hemos estado usando AccuRev durante algunos años. Es una mejora seria con respecto a nuestra última herramienta (Razor) y, aunque lo recomendaría a otros, tiene algunos inconvenientes.

Beneficios:

  • La interfaz basada en flujo es bastante intuitiva. Hago instantáneas cada dos semanas y tengo una serie de flujos de desarrollo en curso que se ramifican en la instantánea.
  • Mover los cambios entre las transmisiones es realmente sencillo, solo seleccione el cambio, envíelo a la "paleta de cambios" y seleccione la transmisión de destino. Lo guía a través de todos los archivos que necesitan fusionarse.
  • Las utilidades de línea de comandos son geniales. Hemos logrado guiar la mayor parte de nuestra generación de lanzamientos a su alrededor.
  • Integraciones para Visual Studio, Bugzilla, etc ...

Inconvenientes:

  • Como señaló monjardin, la GUI del cliente puede ser lenta. Utilizo la versión de Windows para toda mi búsqueda de historia / secuencia porque es mucho más rápida que la X11. Por supuesto, la GUI está escrita en Java, por lo que el rendimiento obviamente no fue su primera preocupación.
  • Está empezando a ser lento para las bases de datos realmente grandes (estoy hablando de más de 300,000 LOC), aunque aparentemente lo han abordado en el lanzamiento de hoy de 4.7.

Optamos por ir con la licencia más barata y no obtener la función de paquetes de cambio (no puedo ver que funcionen tan bien de todos modos, ya que la idea de promover cambios individuales va en contra de la integración continua). Hasta ahora no nos ha lastimado.

En general, por el precio que paga, es una buena herramienta. Evaluamos ClearCase, MKS, Spectrum y Subversion durante nuestro período de prueba. La subversión puede haber sido una buena opción, pero aún estaba bastante verde cuando evaluamos. Nunca había escuchado hablar de Plastic, pero lamento no haber evaluado a Perforce.

Además, entiendo que los ingenieros de Trolltech (fabricantes de Qt) hayan cambiado recientemente a git. Me interesaría verificar eso también.


Utilicé AccuRev en un trabajo anterior y no tuve ningún problema con él, pero prefiero mucho Subversion (incluso sin comparar la diferencia de precio). Recuerdo que la GUI del cliente también es bastante lenta. Además, recuerdo que la GUI acaba de llamar a sus utilidades de línea de comandos para interactuar con el repositorio. Entonces, probablemente no sea tan difícil usar esas interfaces para sus herramientas de bricolaje.


Bueno, todo lo que puedo decir es que estoy completamente de acuerdo. El back-end es genial, pero la interfaz de usuario es una mierda. La funcionalidad de flujo es excelente porque hace que la fusión no sea más inteligente ya que todos los cambios de las secuencias principales se propagan automáticamente a todos los elementos secundarios. Escribí una publicación sobre Accurev UI que explica la mayoría de las deficiencias que he encontrado en los últimos 2 años.


¡Accurev apesta! Es excesivamente complicado por el precio de la productividad del equipo. He trabajado con varios SCM y la idea de accurev es genial pero no práctica. Es fusionar el infierno con una jerarquía que se ve bien en la interfaz de usuario, pero es un dolor a tener en cuenta cuando se trata de la vida real. Especialmente cuando refactorizas tu código (algo que algunas personas realmente hacen cada cierto tiempo) y te metes en un lío cuando un archivo difunto no se promueve completamente. O incluso peor si alguien más anula un archivo difunto y crea un nuevo archivo con el mismo nombre ... etc.

La interfaz de usuario es increíblemente terrible. Lo cual honestamente no importa lo bueno que pienses que es el back-end. Seguirás usando la interfaz de usuario (uso el plugin VS que es medio decente, excepto que a veces congela el IDE, ¡eh!).

Si usted vive en los años 80 y está planeando utilizar la línea de comando para su uso diario, entonces supongo que puede evitar la interfaz de usuario. Si tiene un servidor de integración de compilación, entonces, por supuesto, no tiene más remedio que utilizar la línea de comando (No hay tareas nativas para MSbuild / ANT / NANT que yo sepa). Acabo de enterarme de que están trabajando con http://www.electric-cloud.com/ . No sé nada al respecto todavía.

Accurev es nuevo, por lo tanto, hay pocos recursos disponibles en línea como apposed a svn, en los que encontraría cientos de trabajos de integración que se realizaron por cientos (con jira, por ejemplo).

Si eres un gerente Accurev te hará sentir bien mirando las transmisiones, porque se ve bonito siempre y cuando no tengas que lidiar con eso.

Si eres un desarrollador, (a un desarrollador junior no le importará mucho, hará lo que les pidas que hagan)

Si usted es arquitecto, refactoriza mucho, se reencuentra con decisiones arquitectónicas ... etc. encontrará a Accurev como su peor enemigo, mover cosas es dolor. Muy anti-ágil si me preguntas. No es fluido ...

Si es un ingeniero de construcción, le resultará DOLOR conseguir que todos los desarrolladores sigan un procedimiento, lo que tendrá que hacer si usa accurev (por ejemplo, promociona su código en la transmisión acordada antes de la publicación). ..

Se supone que CRM hace las cosas más fáciles ... No veo a Accurev en este momento haciendo eso ... Todavía no está lo suficientemente maduro, si quieres ser un pionero y luchar con la esperanza de que las cosas mejoren ... hazlo. De lo contrario, no reinvente la rueda e implemente algo más establecido con muchos más casos de estudio y aplicaciones. Porque para ser práctico, lo que Accurev dice ofrecer que difiere no vale la pena cuando lidias con sus dolores a diario ...


He sido un usuario de Accurev desde hace mucho tiempo y recientemente me mudé a un trabajo en el que estoy usando Perforce. Tengo que decirte que me gustaría recuperar a Accurev. Estoy de acuerdo, la IU es lenta y tiene problemas.

Sin embargo, hay algunas herramientas de visualización verdaderamente IMPRESIONANTES. ¡No puedo creer que alguien mire el navegador de historial de versiones y no se enamore! El explorador de flujo es una gran herramienta simple para comprender lo que está sucediendo en su organización de desarrollo.

Además, suciedad simple de administrar. Accurev es en realidad una de mis herramientas favoritas.


Trabajé en (y administré) AccuRev durante más de un año últimamente, y la mayoría de mis impresiones son muy buenas.

Lo evaluamos junto con "Plastic SCM", SVN y "ClearCase-UCM" (que ya teníamos y utilizamos), y decidimos eliminar ClearCase y SVN (ambos se usaron en dos grupos diferentes) y comprar AccuRev.

  1. Primero, la arquitectura de flujo es mucho más sólida, fácil y segura que la antigua arquitectura de bifurcación a la que están ligadas todas las otras herramientas (sí, incluso las "corrientes" de ClearCase son eventualmente un envoltorio de ramas). Hay muchos artículos sobre las diferencias en su sitio, puede buscar y leer sobre él para que sea comprensible. (Pruebe este enlace , y este también )

  2. La arquitectura de ahorro de tiempo: no puede eliminar nada de la base de datos de depósitos (= repositorios). Vi herramientas que esta operación es posible con los permisos de administrador adecuados. En AccuRev usará comandos internos para cambiar o corregir un error que haya cometido, que a su vez se registrará como una nueva transacción también. Muy inteligente muy seguro.

  3. integraciones! AccuRev se integra con tantas herramientas (para darle paquetes de ALM), herramientas de seguimiento de errores (como JIRA, ClearQuest), IDE, herramientas de prueba (centro de calidad), y si no puede encontrar uno, puede escribir el suyo (proporcionan Java / Perl / XML / CLI SDK)

  4. Cambie el paquete , no sé ustedes, pero no soporto las herramientas de SCM que no proporcionan administración de cambios (¿alguien dijo SVN?), Como "actividades" de ClearCase, y "problemas" de AccuRev. Es una necesidad para mi opinión y una de las "mejores prácticas" de mi CM. Y también se pueden integrar con la herramienta de seguimiento de fallas, para que los usuarios puedan trabajar en tareas reales como características y defectos.

  5. el soporte es simplemente increíble . Como antiguo cliente de IBM (debido a que Rational ClearCase ahora es parte de IBM), el cambio a AccuRev fue simplemente increíble. Durante la evaluación, dieron numerosos apoyos en línea para entender cómo queremos que la herramienta actúe para nosotros, así que la modificamos juntos incluso antes de pagar un centavo. Y mantuvieron ese grado de receptividad después de ese período de evaluación también; Tuvimos algún problema durante una actualización de 4.5.4 a 4.6, en solo un par de horas (mientras la actualización aún está en proceso) el técnico de soporte me contactó, me sugirió algunos consejos, me conectó a mi escritorio y finalmente resolvió el problema antes de que el apoyo de cualquier otra compañía incluso comenzara a tratar de averiguar quién es usted. ¡Por supuesto que si eliges una herramienta de código abierto, entonces estás solo! Además, la herramienta viene con un sistema de ayuda, que a veces puede ser demasiado detallado. Y no se olvide de los foros (especialmente en cmcrossroads ) que son muy buenos para proporcionar respuestas rápidas también.

  6. Y hay muchos más ....

Por supuesto, también hay inconvenientes (¿qué software es perfecto?) - Me gustaría, por ejemplo, ver la asociación de los archivos (s) <-> tema (s) durante el check-in también, como en ClearCase, no solo en " promoción "como lo es hoy, pero en mi humilde opinión son realmente menores".

Entonces, como pueden entender, si lo leen todo, soy un gran admirador de AccuRev, y lo recomiendo encarecidamente. En mi humilde opinión, hoy es una de las mejores herramientas de SCM en la que tienes la oportunidad de trabajar; moderno, sabio, fácil y fuerte.


Honestamente, siento que necesito volver a verificar para ver si estoy usando la misma herramienta que estas personas que parecen gustar Accurev. Utilicé Subversion en mi trabajo anterior y me gustó mucho. Nunca tuvimos problemas con eso para hablar, y por supuesto el precio es correcto. Mi mayor problema con Accurev es que parece que sintieron la necesidad de ser diferente por el bien de todos. Utiliza un vocabulario completamente diferente para expresar conceptos de versionado, que incluso después de usarlo durante casi 6 meses, me parece muy extraño. Tiene no menos de 8 o 9 estados en los que puede estar cualquier archivo, en comparación con alrededor de 1/2 para Subversion. La GUI es mala y lenta, y los complementos de integración IDE están por debajo de la media. Había asumido que en algún momento "obtendría" Accurev y vería por qué es mucho mejor, pero eso aún no ha sucedido. Mi consejo es que te mantengas alejado.


Acabo de encontrar esta discusión y pensé que compartiría nuestras experiencias con AccuRev.

Hemos estado usando Dimensions SCM de Serena durante aproximadamente 8 años. Hace dos años tuvimos un gran problema al integrar nuestro equipo de desarrollo basado en India con nuestro equipo de desarrollo del Reino Unido. Estaba claro que no íbamos a satisfacer nuestras necesidades con el sistema actual y, por lo tanto, nos pusimos a evaluar una serie de opciones. Discuto todo esto en este artículo Cómo integramos nuestro equipo de desarrollo offshore.

Nuestra experiencia de uso de AccuRev ha sido hasta ahora muy positiva.

  • Es fácil de configurar y administrar.
  • Los usuarios pueden ponerse en marcha muy rápidamente (especialmente importante para el equipo de desarrollo de India)
  • Nunca hemos tenido un problema con la velocidad (de hecho, este es uno de los principales puntos positivos para nosotros)
  • La replicación funciona como un sueño
  • Estoy de acuerdo en que la interfaz de usuario puede ser un poco torpe (especialmente el cliente de Unix). Espero que sea mejor en la última versión cuando lo actualicemos el próximo mes.

En general, diría que esta fue una de las mejores decisiones y compras que hemos realizado.


Uno de los mejores días que he tenido en mi trabajo actual es el día en que abandonamos Accurev y nos mudamos a Subversion. Accurev usa conceptos demasiado complicados. Al igual que uno de los comentaristas anteriores, después de trabajar con él durante años, todavía no entendía los diferentes estados en los que podrían estar los artefactos. Parece que el mayor activo de Accurev son sus documentos técnicos y la visualización de flujo, los cuales son v atrayentes para la administración pero no hace nada por los desarrolladores. Utilizo Subversion, Mercurial y Git para varios proyectos y recomendaría estas herramientas sobre cualquier otra.


La respuesta de clasificación: utilice el último servidor SVN y SmartSVN (la edición de comunidad es gratuita) como cliente. No pagará nada y puede obtener todo lo que necesita.

Los detalles sangrientos: Por cierto, la característica de imponer las reglas de gestión de cambios durante la verificación es trivial para escribir como un gancho SVN. Lo logramos en un par de horas, en cien líneas (aproximadamente) de código, funciona maravillosamente y nunca se rompió. Integra SVN con Bugzilla e impone reglas tales como:

  1. Para poder comprometerse, debe ingresar un mensaje
  2. Para poder comprometerse, debe haber ingresado un ID de Bugzilla que se encuentra en un estado de confirmación "Válido". ... y así sucesivamente, puedes construir tus propias reglas al contenido de tu corazón

Accurev parece ser un software para mí ... un mal cliente de GUI ... muy lento (tuvimos que actualizar el HW para que realmente funcionara efectivamente), y por supuesto ... ¡tiene que pagarlo! Ah, sí, si lo usa, espero que no tenga que replicar su servidor entre algún lugar de los EE. UU. Y algún lugar de la India :)

Perforce es más robusto pero no es muy fácil de administrar. En cualquier caso, es un producto superior en comparación con Accurev.

VSS y demás no deberían considerarse sistemas de "control de versiones" cuando se trata de escribir software profesional (por lo general, software empresarial) en el siglo XXI. Eso es como escribir tus informes en una máquina de escribir ;-)

Si sabe lo que está haciendo (con su software), SVN será una solución robusta y eficiente para usted. Con (al menos) dos sistemas de control de revisión robustos y eficientes en la actualidad (SVN / GIT), hay muy poco espacio para justificar el trabajo con una solución patentada; algunas razones podrían ser "inercia": lo tienes, no te importa pagarlo, y no tienes ningún problema importante, en otras palabras, funciona para ti.

Uso SVN en todas partes, cuando no existía estaba usando CVS, y antes de eso ... no, no voy a decirte cuántos años tengo ;-)

Espero que esto haya ayudado ...

Ciao.


Ponme en el campo anti-Accurev. Nos mudamos a él recientemente, y ha sido horrible. Tenemos varios proyectos bastante grandes, y Accurev parece ser casi inutilizable por la cantidad de archivos que tenemos. En una VPN, olvídalo. Lleva una eternidad actualizar, la administración de flujo cruzado no funciona de ninguna manera intuitiva, la IU es compleja y lenta.

Además, el soporte en una cantidad de herramientas que usamos es inexistente o mal implementado.

Agregue los diversos errores que siguen apareciendo, y diría que desperdiciamos una gran cantidad de dinero por algo que se hace mucho mejor con el software de código abierto, como Subversion. Todavía utilizamos CVS para algunos proyectos, e incluso es mucho mejor para las operaciones normales y el flujo de trabajo que elegiría Accurev.


Otro gran aprobado para Accurev. Cada operación simple parece volverse tan terriblemente compleja: los mensajes de error crípticos te envían a la dispersión de forma manual, solo encontrando explicaciones teóricas sobre conceptos que no deberían haber existido en primer lugar.

La IU es tan lenta e insensible que hace que quieras arrancarte los ojos.

Mantente alejado.


Accurev es simplemente la peor herramienta que he usado.

Subversion es muy buena, especialmente si estás migrando desde cvs.


Después de 4 meses, mi opinión muy negativa no ha cambiado en absoluto. Si bien Accurev tiene algunos conceptos muy agradables, la lentitud y la complejidad superan con creces las ventajas, al menos para nosotros. Además de las quejas habituales sobre la GUI y la oscuridad de una serie de características, una de las fallas más molestas es la cantidad de obstáculos que tienes que pasar solo para actualizar un espacio de trabajo, empeorado por la incapacidad de actualizar solo un directorio (o árbol de directorios).

Una actualización típica consiste en esperar mucho tiempo para que te digan que tienes superposiciones. Por supuesto, no te dicen cuáles son las superposiciones. Entonces, tienes que hacer una búsqueda de superposición, esperar otra vez mucho tiempo, resolver las superposiciones, hacer otra actualización, esperar mucho tiempo, y esperar que funcionó esta vez.

Algunos de nuestros desarrolladores remotos se actualizan con la menor frecuencia posible porque el tiempo de actualización de VPN es absurdo. De acuerdo, tenemos una enorme cantidad de archivos fuente en una serie de productos, y si reorganizamos todo, probablemente podríamos mejorar el rendimiento.

Sin embargo, contratamos a Accurev (a un costo significativo) para que viniera y nos dijera cómo configurar todo. Aún apesta. Aparte de eso, no deberíamos reorganizar la forma en que trabajamos con nuestras fuentes para adaptarnos a un sistema de control de código fuente. Es una herramienta, no un modelo de negocio.

Por último, hemos estado probando un complemento de Accurev para IntelliJ, escrito por Accurev. Funciona igual de mal que el resto, y, aunque Accurev ha sido muy receptivo sobre la fijación del complemento, no somos su grupo de control de calidad, ni nos registramos para ser un sitio de prueba alfa (sí, es ese buggy). Finalmente nos dimos por vencidos y escribimos nuestro propio complemento que realmente funciona.


Mi cliente actual usa Accurev para SCM y después de algunos proyectos que usan un DVCS como Git o Mercurial, puedo decir honestamente que usar Accurev es tan divertido como cerrar la cara en la puerta de un automóvil.

La GUI para Mac y Linux es terriblemente lenta. Puede olvidarse de utilizar el soporte de refactorización en su IntelliJ o NetBeans IDE, si usa Accurev ... a menos que vaya a escribir su propio complemento.

Oh sí ... no nos olvidemos de este pequeño castaño ==> gemelo malvado.

En una nota positiva, podría ser peor ... podría ser Clearcase.


Accurev tiene algunos conceptos geniales; pero sufre de:
1) muchas muchas inconsistencias en la interfaz de línea de comandos.
2) muchos errores y molestias en la aplicación / interfaz. Por ejemplo, su propiedad de seguridad en el tiempo no es realmente segura en el tiempo debido a varios errores que afectan las instantáneas y las transmisiones.
3) errores principales en características críticamente importantes ... Como arriba; errores de tiempo seguro; errores en la fusión por problemas. 3) están un año atrás de lo que deberían estar, porque desperdiciaron todo un año intentando mover su backend a una base de datos; esta será la versión 5, que quizás nunca llegue a la luz del día.
4) El marketing es excelente; pero el producto no está a la altura del bombo publicitario
5) cada lanzamiento ha tenido importantes errores críticos que les ha obligado a lanzar revisiones inmediatas. Esto ha sido una gran interrupción para nosotros. Y estos no son errores menores.
6) no escala bien ... ocupa una gran cantidad de espacio en disco y se vuelve más lento con el tiempo

Habiendo dicho todo eso; sigue siendo un buen producto; pero si tuviera que hacerlo todo de nuevo, consideraría git.


Dulce madre de dios es Accurev horrible. 300k líneas de código? Pruébelo con millones, con cientos de desarrolladores trabajando en decenas de proyectos.

¿Integración continua? Claro, eso es algo que los desarrolladores pueden aproximar haciendo fusiones regulares en, por ejemplo, forzosamente, git, mercurial o cualquiera de las innumerables otras herramientas que realmente hacen el trabajo, pero se convierte en la elección del desarrollador en cuanto a cómo proceder. Para arquitectos, líderes, ingenieros de construcción o cualquier persona que realmente use el control de origen para cortar y cortar, Accurev es horrible.

Fui a una charla sobre "Temas avanzados de Accurev" y el primer tidbit fue un gran comando de shell para eliminar el mecanismo de sincronización / caché del lado del cliente de Accurev para corregir cuando las actualizaciones de Accurev no logran bajar los archivos que deberían actualizarse.

¿Una casilla de verificación de Optimización de marca de tiempo? ¿Superposiciones profundas? Diálogos modales con solo un proceso de fondo (Eso estaría bien si esos procesos no fueran glaciares). ¿Se implementaron gráficas en cascada de flujos configurados selectivamente para poder extraer componentes y fusionarlos? Las actualizaciones no son en realidad atómicas sin bloqueo de tiempo? (respuesta honesta: actualizar de nuevo)

Cada vez que trato de hacer algo serio en Accurev, siento que estoy jugando Ruleta Rusa en una mesa con HAL9000, Skynet y un Speak & Spell. ¿En la línea? Cuatro horas más de mi vida.

¿Por qué estoy aquí, gritando sobre Accurev? Porque mi otra máquina ha tardado cuatro horas completas para tratar de actualizar 10MB de archivos a través de VPN. ¿Por qué? Debido a que algunos otros cambios han quedado varados y requieren algún tipo de exploración resync catastrófica para los elementos. ¿La peor parte? Todos estos archivos estaban en un espacio de trabajo en la misma computadora. Estamos hablando de varias horas solo para obtener un espacio de trabajo actualizado recientemente hasta el punto en que pueda poner las muescas correctas en el historial de transmisión.

Revisión de una palabra de Accurev: evitar


He usado AccuRev durante nueve meses y espero ansiosamente el día que ya no lo use. Mi revisión de una línea es:

Es como el control de origen escrito por desarrolladores que han leído sobre él en un libro, pero nunca lo han usado antes.

  1. Los conceptos básicos faltan o son extremadamente complicados. Ejemplo, acabo de perder 8 horas de trabajo porque no hay una buena manera de "revertir" un cambio una vez que está en una transmisión. Puedes "purgar" esa transacción, pero ya no está, no puedes elegir los cambios que realmente deseas.

  2. La GUI es lenta, hinchada e inconsistente. Las advertencias son crípticas, por ejemplo, "elemento de combinación de errores id 1234556". Cada cuadro de diálogo es modal. Como decía un cartel, hay 9 estados en los que puede estar un archivo, pero además, debe hacer clic manualmente en un cuadro de lista de 9 opciones para ver la configuración de cada archivo.

  3. El modelo de secuencias parece una buena idea, pero el comportamiento predeterminado de "heredar" cambios de una secuencia principal es realmente muy malo en la práctica. Simplemente diga la palabra "superposición profunda" a cualquier persona que realmente haya usado AccuRev y mire cómo se estremecen, se ponen pálidos y / o se desmayan. Hacer las transmisiones es muy fácil, pero en realidad fusionarlas con cualquier diferencia significativa es arcano y no determinista.

  4. Nadie ha mencionado esto, pero el sistema completo de reglas de "incluir / excluir" para administrar filtros de archivos y directorios está completamente roto. Este sistema vive fuera del sistema de transacciones, por lo que no hay forma de revertir, rastrear el historial o reproducir los cambios en una fuente de transmisión en vivo ; por ejemplo, cuando Johnny Intern decide que la biblioteca "básica" no es útil para todo el equipo de desarrollo.

La única razón por la que puedo dar cuenta de la popularidad de Accurev es que está optimizado para el caso de "Demostración a la administración". Estamos usando AccuRev para el desarrollo de software serio: docenas de proyectos y muchos más desarrolladores. Las secuencias y la GUI se ven geniales, pero después de unas semanas, el uso del barniz revela un sistema viejo, roto y mecánico como el turco.

Manténgase alejado de Accurev: use Git o Mercurial si quiere algo moderno y gratuito, o Perforce si quiere algo sólido, bien respaldado pero costoso.

EDITAR: Como postdata, aquí hay uno de los muchos ejemplos de la falta de cuidado y la fragilidad general en la UI:

El visor de diferencia predeterminado tiene su numeración "desactivada en uno"; por ejemplo, si tiene 2 diffs en un archivo, el visor muestra diff "0 de 1" y dif "1 de 1". Quiero decir, realmente, ¿te sentirías cómodo confiando en tu código a un sistema que exhibe un error tan estúpido y fácilmente corregible?


He sido administrador de SVN y Accurev por un tiempo. Accurev tardó mucho tiempo en crecer conmigo, unos seis meses, pero ahora me gusta para un entorno empresarial corporativo. Aquí hay algunas cosas para considerar.

Pros:

  • Historial de código personal
    • Los cambios de código se mantienen en el servidor cuando los usuarios realizan un mantenimiento. El mantenimiento es personal para el usuario y no se distribuye a otros usuarios hasta que se emita un comando de promoción.
    • El código realizado por un mantenimiento se mantiene en el servidor y está disponible incluso si el usuario realiza una operación de reversión.
    • En la mayoría de los casos, promocionar el código a flujos más altos para la distribución es bastante simple.
  • La administración es bastante simple
  • La instalación funciona bien
  • El rendimiento se mejoró mucho en la versión 5.3 que cambió el backend a una base de datos PostGres
  • El CLI es rico y extenso

Contras:

  • Una interfaz de usuario realmente torpe
  • La resolución de superposiciones puede ser compleja, al igual que los conflictos en SVN

Sin embargo, como cualquier herramienta compleja, su apreciación aumentará cuanto más comprenda y sepa al respecto.


Utilicé Accurev por un año. No me gusta Aquí hay algunos problemas que encontré:

1. Su GUI es terrible: es tan lento que cada vez que cambio entre pestañas (secuencias y espacios de trabajo) o realizo algunas acciones, tengo que esperar varios segundos. A veces le dio un mensaje de error confuso que no pudo ayudar a encontrar lo que está mal.

2. Tiene tantos conceptos que tienes que pasar mucho tiempo aprendiendo Accurev.

3. Una vez encontré ese problema: tengo un archivo de versión controlada modificado por nuestro proceso de compilación. Más tarde, mi compañero de equipo movió ese archivo a otra ubicación en su área de trabajo y promovió el cambio. Cuando ejecuto "accurev update", simplemente me dice "se ha movido algún archivo" y todo parecía normal. Pero en realidad el comando se detuvo en el archivo movido y ya no actualiza otros archivos. Es muy confuso: su comando de actualización no actualizó el worksapce pero no tiene idea al respecto. El único mensaje destacado "se ha movido algún archivo" se parecía a otro resultado detallado. No me dijo que mi actualización falló o abortó o algo más.

Antes de eso, utilicé SVN y ClearCase. SVN es una gran herramienta, simple y fácil de usar. Y no tenía tantas quejas sobre ClearCase. Accurev es realmente frustrante ...


Usamos AccuRev desde hace 4 años. Lo odio mucho, sobre todo por su horrible GUI. Hace varios años, AccuRev envió una encuesta a sus clientes para llenarla y al final de la encuesta había un campo con sugerencias. Empecé a recopilar cosas que me molestan más, y a continuación encontrarás lo que tengo ahora. Desafortunadamente, está lleno de terminología de AccuRev, pero creo que de todos modos obtendrás la idea.

Accurev GUI posibles mejoras

Trabajando con historia

Al examinar la historia, un desarrollador a menudo quiere ver diferencias con la transacción / versión anterior. Esto debería ser tan accesible como hacer doble clic. Por ejemplo, al hacer doble clic en el archivo en el registro de transacciones podría abrirse la versión anterior. Al hacer doble clic en un archivo en el filtro de grupo predeterminado, se puede abrir la diferencia al respaldo, al hacer doble clic en un archivo en la búsqueda modificada podría abrir la diferencia a la más reciente. Eso ahorraría toneladas de tiempo.

La experiencia común es que los desarrolladores rara vez abren archivos para editar desde AccuRev. Más bien, a menudo difieren archivos, luego revierten o promueven cambios. Por lo tanto, hacer doble clic no debe abrir archivos para editar, sino que debe diferirlos. Esta puede ser una opción en las preferencias, por lo que diferentes personas pueden decidir si desean hacer doble clic para diferenciar archivos o abrir archivos.

Debería ser posible seleccionar dos transacciones en el historial o el historial del área de trabajo y realizar una diferencia de archivo entre ellas.

Superposición de superposiciones

La fusión de superposiciones en una secuencia requiere realizar una búsqueda de "Superposición profunda" en un área de trabajo que lleva mucho más tiempo que buscar superposiciones en una secuencia específica. Luego, es necesario ordenar las superposiciones por la secuencia de solapamiento y fusionar solo las de una secuencia específica. Debería haber una manera más conveniente de realizar la fusión de superposiciones en la transmisión. Por ejemplo, capacidad para limitar la búsqueda de superposición profunda por transmisión específica y no mostrar superposiciones en las secuencias principales. La limitación de la búsqueda de superposición profunda por secuencia de tiempo no es muy útil si se trata de varias secuencias en esta secuencia de tiempo de espera o no hay ningún timeline en los padres.

Ahora hay una forma simplificada que implica la creación de paletas de cambio, pero aún no es conveniente. El elemento de menú Combinar debería estar disponible en el nivel de flujo si hay un espacio de trabajo debajo de ese flujo que se puede usar para la fusión de solapamientos.

Herramienta anotar

La herramienta Anotar es muy incómoda:

  • usar el control deslizante en la parte superior para navegar por diferentes posiciones de restablecimiento de versión en el archivo que es MUY molesto para archivos grandes;
  • debería ser capaz de abrir el historial en la transacción específica directamente desde la herramienta anotar. Ahora el desarrollador debe recordar la transacción # y buscarla en el historial de la transmisión (también debe buscar la secuencia donde se realizó la transacción).

Favoritos de Stream

La opción de menú contextual "Agregar al filtro de transmisión" se eliminó cuando se introdujeron los nuevos favoritos de transmisión. Debería ser posible hacer clic con el botón derecho en la transmisión y agregarla a uno de los favoritos de transmisión (menú contextual de 2º nivel o puede aparecer un cuadro de diálogo). Ahora es muy molesto editar los favoritos de transmisión, particularmente cuando necesita tener 2 conjuntos de secuencias similares.

Transmita el navegador

Debería ser fácil copiar el nombre de la secuencia al portapapeles. Ahora debe abrir el diálogo "Cambiar flujo" para eso. Ctrl + C en el navegador de secuencias podría copiar el nombre de la secuencia seleccionada en el portapapeles. No hay forma de copiar el nombre de la transmisión desde la vista de transmisión. Hacer clic con el botón derecho en la pestaña podría copiar el nombre de la secuencia en el portapapeles, o mostrar el menú contextual con el elemento "copiar el nombre de la secuencia al portapapeles".

Herramienta Diff y merge

Muestra solo el primer carácter diferente en la línea, no toda la diferencia de línea, no resalta la sintaxis. Afortunadamente, la herramienta diff puede cambiarse fácilmente a herramienta externa, por lo que es menor.

Otras sugerencias

  • Opción en preferencias para habilitar el modo Ordenar columnas múltiples de forma predeterminada.
  • Sería bueno guardar no solo el último registro de mantener / promover, sino al menos 5-10 más antiguos.
  • La columna de extensión de archivo en la vista de secuencia o área de trabajo con capacidad para ordenarla sería genial.
  • Reordenar pestañas sería bueno.
  • Fuente muy pequeña en guardar / promover / bloquear mensaje en Windows, es ilegible. Aumente el tamaño de la fuente o permita que el usuario la cambie.
  • Implemente una manera más conveniente para ignorar los archivos localmente, la variable de entorno no es muy útil (el usuario puede querer ignorar diferentes conjuntos de archivos en diferentes flujos / depósitos).

Durante los últimos 3 años, AccuRev agregó 3 elementos de esta lista (los eliminé porque ya están implementados):

  • Accesos directos de teclado codificados (no se pueden personalizar) para la mayoría de las acciones
  • Se hizo posible llamar a diff para varios archivos de la transacción a la vez (antes de eso, debería tener que hacer clic con el botón derecho en cada archivo y llamar "Dif. A la versión anterior" desde el menú contextual.
  • Se agregó búsqueda de texto a la herramienta Anotar. Pero debido al restablecimiento de posición cuando intenta cambiar a una versión diferente (ver arriba), la herramienta Anotar todavía no se puede usar.

Además de GUI, hay fallas fundamentales en AccuRev en general:

Difícil de actualizar al revés

No puedes actualizar fácilmente al revés. Hay accurev update -t <transaction-number> comando, pero si actualizaste a la transacción 100, no puedes actualizar a la transacción 95 usando accurev update -t 95 . Para hacerlo, debe configurar el bloqueo de tiempo en su flujo respaldado (que introducirá la transacción en AccuRev) y actualizar su espacio de trabajo.

Superposiciones profundas

Cuando actualiza, es posible que tenga un estado de fuentes no válido sin previo aviso. Esto se debe a la característica Overlaps. La superposición es básicamente un conflicto (cuando usted y ellos cambian el archivo). Si tiene superposición en su área de trabajo, deberá fusionarla antes de que se le permita actualizar. Pero si tiene superposición en la secuencia, debajo de la cual tiene su área de trabajo, no tendrá ningún aviso al respecto, pero el archivo superpuesto no se actualizará en su espacio de trabajo. Considere la siguiente estructura de flujo

[Depot Root] <- [Team stream] <- [Your stream] <- [Your workspace]

Digamos que cambiaste foo.cpp y lo promocionaste a [Your stream] . Después de eso, alguien de tu equipo cambió tanto foo.h como foo.cpp , digamos un método agregado a la clase Foo , y promocionó los archivos a [Team stream] . Después de actualizar su espacio de trabajo, obtendrá una nueva versión de foo.h (porque no la cambió), pero no obtendrá foo.cpp porque está solapada en [Your stream] . Por lo tanto, su actualización se limpiará, pero el enlazador se quejará del símbolo no resuelto Foo::NewMethod si intenta construir después de eso.


Accurev es una herramienta anti-ágil:

  1. La idea principal de Accurev es usar diferentes flujos para diferentes equipos, por lo tanto, los cambios realizados por team1 no afectarán a team2.

    Suena bien, pero en un mundo real todos sabemos que al final tenemos que fusionar el código de ambos equipos y créanme que es una pesadilla en Accurev. Cuantos más cambios hagan los dos equipos en sus transmisiones, más tiempo invertirán todos en fusionarse al final.

    Es lo mismo si cada equipo hace su desarrollo en la rama separada usando SVN e intenta fusionar todo después de 1 mes de desarrollo ... Básicamente, Accurev crea un precio de fusión tardío y usted pagará este precio para siempre si elige Accurev para más de 1 equipo.

  2. Para solucionar el problema creado por el punto 1, las personas deciden rechazar a los equipos funcionales cruzados en favor de funcional. Incluso proporcionan argumentos para apoyar esta idea, como el principio de "conocimiento experto".

    En otras palabras, cuando no tiene equipos funcionales cruzados (y Agile también) es más fácil tener expertos para una parte específica del sistema, por lo que realizarán mejores revisiones de código y actuarán como "expertos en información / diseño / implementación".

    Todos sabemos que el experto en información es un anti-patrón no solo en Agile, ya que es mejor difundir la experiencia para evitar los cuellos de botella del conocimiento en el desarrollo.


Nota: soy usuario de AccuRev y me gusta mucho. Ya he votado un par de respuestas aquí y me gustaría agregar:

Acabo de tropezar con esta "revisión" de AccuRev en el libro Entrega Continua de Jez Humble y David Farley:

[Capítulo 14, p 385]

Sistemas de control de versiones comerciales

(...) los únicos VCS comerciales que podemos recomendar de todo corazón son:

  • (...)
  • AccuRev. Ofrece la capacidad similar a ClearCase de hacer un desarrollo basado en flujo sin la agobiante sobrecarga administrativa y el bajo rendimiento asociado con ClearCase.
  • (...)

A lo que podría agregar que nunca he usado ClearCase, pero soy el administrador de AccuRev por aquí, y de hecho es muy poco trabajo de administrar. (Rendimiento de WRT, esta pregunta podría proporcionar más información).