La question courte est: si je hg rollback
, comment Peter obtient-il ma version rétractée s'il cloné de moi? Quelles sont les étapes exactes que lui ou moi doit faire ou taper?Dans Mercurial, quelle est l'étape exacte que Peter ou moi doit faire pour qu'il récupère la version restaurée?
Ceci est lié à In Mercurial, when Peter "hg clone" me, and I commit and he pull and update, he gets my version, but not when I rollback?
Les détails:
Après les étapes suivantes, Marie a 7
et Peter a 11
. Mon dépôt est 7
Quelles sont les étapes exactes que Pierre ou moi a à faire ou à écrire pour que PETER récupère 7?
F:\>hg init hgme
F:\>cd hgme
F:\hgme>echo the code is 7 > code.txt
F:\hgme>hg add code.txt
F:\hgme>hg commit -m "this is version 1"
F:\hgme>cd ..
F:\>hg clone hgme hgpeter
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
F:\>type hgpeter\code.txt
the code is 7
F:\>cd hgme
F:\hgme>notepad code.txt [now i change 7 to 11]
F:\hgme>hg commit -m "this is version 2"
F:\hgme>cd ..\hgpeter
F:\hgpeter>hg pull
pulling from f:\hgme
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
F:\hgpeter>hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
F:\hgpeter>type code.txt
the code is 11
F:\hgpeter>cd ..\hgme
F:\hgme>hg rollback
rolling back last transaction
F:\hgme>cd ..
F:\>hg clone hgme hgmary
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
F:\>type hgmary\code.txt
the code is 7
F:\>cd hgpeter
F:\hgpeter>hg pull
pulling from f:\hgme
searching for changes
no changes found
F:\hgpeter>type code.txt
the code is 11
Quelles sont les étapes exactes Pierre ou moi doit faire ou de type SO QUE PETER GETS 7 retour? Il devrait y avoir quelques étapes que Peter peut faire pour obtenir l '"état actuel" de mon dépôt depuis qu'il a cloné de moi. Je ne devrais pas avoir besoin de frapper à sa porte pour lui dire: «Hé, tu dois revenir en arrière» ou peu importe.
il semble que je devrais avoir utilisé "hg backout -r -1" - qui est-à-dire Backout ma version précédente (cancel mon précédent commit) ... et une nouvelle révision est créée. Donc Peter, le sachant ou pas, quand il fait un "hg pull" et "hg update", obtiendra le "backout" dans tous les cas. S'il a fait des changements et veut commettre et pousser, hg lui dira de tirer et de mettre à jour en premier, ce qui aura aussi le "backout". –
Vous avez raison. rollback est une annulation, et vous devriez avoir fait backout, alors peter l'obtiendrait dans le cadre de son cycle normal push/pull –