¿Tiene otro sistema de control de versiones un acceso al sistema de files ClearCase a las versiones de files?

En ClearCase, si estoy trabajando en algún file X y también quiero ver su versión anterior (digamos la versión 5), está disponible como X@@/main/5 . ¿Hay algo similar disponible con otros sistemas de control de versiones (preferiblemente gratuitos)?

Mercurial tiene hg cat y hg co , pero aún no se acercan a la function de ClearCase anterior.

Una búsqueda rápida en Google encontró gitfs :

gitfs es un sistema de files basado en FUSE para trabajar con treees fuente almacenados en repositorys git. El objective final es proporcionar una forma conveniente de trabajar con muchas twigs y parches. Actualmente solo se implementa una funcionalidad muy básica: acceso de solo lectura a las tags y objects existentes.

Es probable que haya otros proyectos (más activos) que ofrezcan funciones similares (tanto para Git como para otros VCS).

En primer lugar, X@@/main/5 es una ruta de acceso extendida que realmente puede explorar solo en vistas dinámicas .

En segundo lugar, puede acceder rápidamente a una versión anterior de un file en Git :

 git show REVISION:path/to/file 

(con la ruta del file siempre desde la raíz del repository de git)
Y puedes usar git show para otro uso ( mira el file como está en otra twig, por ejemplo)

Consulte "¿Cómo recuperar un único file de una revisión específica en Git?" para más.


En términos de exploración dinámica de un sistema de files basado en revisión, el equivalente de hgfs para Git sería:

  • Sistema de files basado en FUSE de gitfs para trabajar con treees fuente almacenados en repositorys git.

figfs (la interfaz del sistema de files para Git FileSystem), que se expande en gitfs.

El repository se presenta como un sistema de files que permite ver múltiples versiones y twigs del código del proyecto simultáneamente y sin la necesidad de reconfigurar el espacio de trabajo del usuario.

Para proporcionar un service de sistema de files, fi gfs usa el Sistema de files en el espacio de usuario (FUSE)

Del trabajo de Reilly Grant

fusible

Una aplicación FUSE permite que un sistema de files se implemente como un process de espacio de usuario.
La request de una aplicación se pasa a través de la capa VFS y al controller FUSE que envía la request al daemon del sistema de files de espacio del usuario.
Figfs luego accede al repository de Git a través del sistema de files normal y devuelve los datos resultantes a la aplicación.

Básicamente, cada command hg que quieras manejar puede ser una revisión arbitraria, usar -r en hg es como usar @@ en clearcase todo el time. hg "only" necesita -r porque los files no están versionados independientemente del repository, por lo tanto, dado un file y una versión repo, -r no es ambiguo.

Si desea editar un file, piping hg cat es exactamente como leer el file@@/branch/ver , ya que proporcionan exactamente el mismo acceso (de solo lectura) a los datos.

Si desea la conveniencia de las vistas dinámicas sobre MVFS en Mercurial, ese es un problema completamente diferente y realmente no puede hacerlo (puede hacerlo de forma leída solo en NFS, pero obviamente no hay versiones allí).