Mercurialによるリポジトリのクローン
準備
> mkdir source > hg init source
A
> hg clone source dest > cd dest
B
dest> hg ci -A -m "0" dest> hg push pushing to c:\source searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files
C
dest> cd ..\source source> hg update source> hg ci -A -m "1" source> cd ..\dest dest> hg pull dest> hg update
D
dest> cd ..\source source> hg ci -A -m "2" source> cd ..\dest dest> hg ci -A -m"3" dest> hg push pushing to c:\source searching for changes abort: push creates new remote head XXXXXXXXXXXX! (you should pull and merge or use push -f to force)
sourceに、dest側で反映されていないチェンジセットがあるのでpushは中止された。
dest側でpullするか、mergeするか、強制的にpushするか。
(強制pushした場合、source側は2と3のマルチヘッド状態になる)
dest> hg pull pulling from c:\source searching for changes adding changesets adding manifests adding file changes adding 1 changesets with 1 changes to 1 file (+1 heads) (run 'hg heads' to see heads, 'hg merg' to merge)
2と3のマルチヘッド状態。必要に応じてマージする。
dest> hg merge
2と3のマージが行われる。