“Pas une révision de tête!” Dans Mercurial Hg

Je travaille dans une petite organisation, seulement deux développeurs et nous utilisons le contrôle de version Mercurial tortoisehg-2.2.2-hg-2.0.2-x86 . Je suis nouveau sur mercurial.

Considérer programmerA , programmerB .

Dans programerA machine, j’ai créé un référentiel et un client nommé "EFSL" . programmerB est simplement un client avec le nom "Uthaya Kumar" pointant vers le repository de machine programmerA .

Lorsque je tire un jeu de modifications dans la machine programmerA , il crée une nouvelle twig et affiche également "Not a head revision!" erreur dans le répertoire de travail et le référentiel.

En programmerB c’est bien.

S’il vous plaît voir les captures d’écran ci-dessous.

Merci d’avance.

Capture d'écran 1Capture d'écran 2Capture d'écran 3

Examinez la première capture d’écran et voyez que la ligne supérieure indique 8+ dans la colonne Rev Cela signifie que votre copie de travail est basée sur la révision 8. Vous pouvez suivre la ligne et voir qu’elle se joint à la révision 8 qui indique la même chose.

Il existe deux manières de résoudre ce problème selon que vous avez apporté des modifications ou non.

  • Si vous n’avez apporté aucune modification, cliquez avec le bouton droit sur la révision 13 et sélectionnez Mettre à jour …. mettre à jour au dernier changement.

  • Si vous avez apporté des modifications, vous devez valider ces modifications, puis cliquez avec le bouton droit de la souris sur la révision 13 et sélectionnez Fusionner avec local …, ce qui ouvre un assistant pour gérer la fusion.

Dans votre dernière capture d’écran, il semble que vous ne disposiez d’aucune copie de travail. Vous devez donc utiliser la procédure de mise à jour ci-dessus pour passer à la révision 13.

Vous pouvez avoir la update jour automatique en modifiant un paramètre dans TortoiseHg:

  1. Sélectionnez Fichier > Paramètres du plan de travail
  2. Choisissez l’endroit où vous souhaitez modifier le paramètre en sélectionnant l’onglet approprié en haut. Les choix sont globaux pour l’utilisateur ou seulement pour ce référentiel
  3. Sélectionnez Workbench dans la liste de gauche
  4. Dans la section de droite, recherchez une liste déroulante intitulée Opération d’extraction
  5. Sélectionnez la mise à jour dans la liste

Cela fera une mise à jour au plus tard chaque fois que vous effectuerez un tirage, ce qui évitera le problème dans votre première capture d’écran. Vous devrez quand même faire une fusion manuelle lorsque vous et un autre développeur avez apporté des modifications.

Les autres options de cette liste sont la rebase et la fetch qui reposent toutes deux sur l’extension appropriée activée et sont destinées à une utilisation avancée uniquement.

C’est un comportement parfaitement normal et correct de Mercurial. Votre répertoire de travail est actuellement mis à jour avec changeset 8 “Merge 2”. L’opération d’extraction ne changera pas le contenu de votre répertoire de travail. Il reçoit simplement les changesets manquants et les ajoute à votre graphique historique. Après avoir tiré, vous travaillez toujours sur le changeset 8. La “Not a head revision” apparaît pour vous avertir que si vous apportez des modifications et les validez, vous créerez un nouveau changeset dérivé de la révision 8, qui créera effectivement un changement. nouvelle twig. C’est quelque chose que vous pouvez ou non vouloir faire. Généralement, après avoir extrait de nouveaux ensembles de modifications, vous souhaitez mettre à jour votre répertoire de travail vers le dernier ensemble de modifications, en cliquant avec le bouton droit de la souris sur la dernière modification et en sélectionnant Mettre à jour …

PS Vous n’utilisez pas la dernière version de TortoiseHG. Veuillez mettre à jour vers la dernière version. Il contient de nombreuses améliorations et résout de nombreux bogues.