2016-09-23 5 views
1

De la documentation Mercurial:Dans hg clone, quelle est la différence entre "ajouter des changesets", "ajouter des manifestes" et "ajouter des modifications de fichier"?

Le manifeste est le fichier qui décrit le contenu du référentiel à un changeset particulier ID https://www.mercurial-scm.org/wiki/Manifest

Lors du clonage d'un dépôt Mercurial, je vois des lignes de sortie disant:

adding changesets 
adding manifests 
adding file changes 

Je ne comprends pas la différence entre ces t Hings. Je pensais avoir compris ce qu'est un changeset, mais je ne sais pas comment cela serait différent d'un ensemble de "changements de fichiers". Et basé sur la description ci-dessus, un manifeste ressemble à la même chose. Alors, quelle est la différence entre tous ces éléments?

Répondre

2

Mercurial divise les informations dont vous avez besoin de garder une trace de dans un système de versionnage en plusieurs niveaux:

  • - Révisions les métadonnées sur chaque révision. Qui (auteur), quand (date et heure), pourquoi (le texte de synthèse) et quoi (les noms de fichiers concernés), etc. sont stockés ici. Manifeste - chaque manifeste répertorie les révisions de fichier pour les fichiers à une révision donnée. C'est comme une table de liaison dans une base de données; le contenu du fichier n'est pas contenu, seule la version d'un fichier donné fait partie de cette révision.
  • Le fichier change - Ces fichiers stockent les données du fichier réel. Il est inefficace de stocker chaque version jamais produite d'un fichier donné entièrement formé. Au lieu de cela, cela stocke les données de fichier dans un formulaire de compression delta ; les changements entre les versions sont stockés, avec la copie complète occasionnelle pour aider la restauration plus rapide à une version.

Tous les 3 niveaux doivent être copiés dans votre référentiel à partir du serveur distant lors du clonage.

Voir le Wiki Mercurial Design page pour plus de détails.