mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
f8b6f67b7a
Currently when we have multiple heads on the same branch, update tells us that there some more heads for the current branch but does not tells us the head to which the repository has been updated to. It makes more sense showing the head we updated to and then telling there are some more heads.
254 lines
6.1 KiB
Perl
254 lines
6.1 KiB
Perl
$ HGMERGE=true; export HGMERGE
|
|
|
|
$ hg init r1
|
|
$ cd r1
|
|
$ echo a > a
|
|
$ hg addremove
|
|
adding a
|
|
$ hg commit -m "1"
|
|
|
|
$ hg clone . ../r2
|
|
updating to branch default
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cd ../r2
|
|
$ hg up
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ echo abc > a
|
|
$ hg diff --nodates
|
|
diff -r c19d34741b0a a
|
|
--- a/a
|
|
+++ b/a
|
|
@@ -1,1 +1,1 @@
|
|
-a
|
|
+abc
|
|
|
|
$ cd ../r1
|
|
$ echo b > b
|
|
$ echo a2 > a
|
|
$ hg addremove
|
|
adding b
|
|
$ hg commit -m "2"
|
|
|
|
$ cd ../r2
|
|
$ hg -q pull ../r1
|
|
$ hg status
|
|
M a
|
|
$ hg parents
|
|
changeset: 0:c19d34741b0a
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 1
|
|
|
|
$ hg --debug up
|
|
searching for copies back to rev 1
|
|
unmatched files in other:
|
|
b
|
|
resolving manifests
|
|
branchmerge: False, force: False, partial: False
|
|
ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
|
|
preserving a for resolve of a
|
|
b: remote created -> g
|
|
getting b
|
|
a: versions differ -> m (premerge)
|
|
picked tool 'true' for a (binary False symlink False changedelete False)
|
|
merging a
|
|
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
|
|
a: versions differ -> m (merge)
|
|
picked tool 'true' for a (binary False symlink False changedelete False)
|
|
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
|
|
launching merge tool: true *$TESTTMP/r2/a* * * (glob)
|
|
merge tool returned: 0
|
|
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
|
|
$ hg parents
|
|
changeset: 1:1e71731e6fbb
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 2
|
|
|
|
$ hg --debug up 0
|
|
starting 4 threads for background file closing (?)
|
|
searching for copies back to rev 0
|
|
unmatched files in local (from topological common ancestor):
|
|
b
|
|
resolving manifests
|
|
branchmerge: False, force: False, partial: False
|
|
ancestor: 1e71731e6fbb, local: 1e71731e6fbb+, remote: c19d34741b0a
|
|
preserving a for resolve of a
|
|
b: other deleted -> r
|
|
removing b
|
|
starting 4 threads for background file closing (?)
|
|
a: versions differ -> m (premerge)
|
|
picked tool 'true' for a (binary False symlink False changedelete False)
|
|
merging a
|
|
my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb
|
|
a: versions differ -> m (merge)
|
|
picked tool 'true' for a (binary False symlink False changedelete False)
|
|
my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb
|
|
launching merge tool: true *$TESTTMP/r2/a* * * (glob)
|
|
merge tool returned: 0
|
|
0 files updated, 1 files merged, 1 files removed, 0 files unresolved
|
|
$ hg parents
|
|
changeset: 0:c19d34741b0a
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 1
|
|
|
|
$ hg --debug up
|
|
searching for copies back to rev 1
|
|
unmatched files in other:
|
|
b
|
|
resolving manifests
|
|
branchmerge: False, force: False, partial: False
|
|
ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
|
|
preserving a for resolve of a
|
|
b: remote created -> g
|
|
getting b
|
|
a: versions differ -> m (premerge)
|
|
picked tool 'true' for a (binary False symlink False changedelete False)
|
|
merging a
|
|
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
|
|
a: versions differ -> m (merge)
|
|
picked tool 'true' for a (binary False symlink False changedelete False)
|
|
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
|
|
launching merge tool: true *$TESTTMP/r2/a* * * (glob)
|
|
merge tool returned: 0
|
|
1 files updated, 1 files merged, 0 files removed, 0 files unresolved
|
|
$ hg parents
|
|
changeset: 1:1e71731e6fbb
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 2
|
|
|
|
$ hg -v history
|
|
changeset: 1:1e71731e6fbb
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: a b
|
|
description:
|
|
2
|
|
|
|
|
|
changeset: 0:c19d34741b0a
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: a
|
|
description:
|
|
1
|
|
|
|
|
|
$ hg diff --nodates
|
|
diff -r 1e71731e6fbb a
|
|
--- a/a
|
|
+++ b/a
|
|
@@ -1,1 +1,1 @@
|
|
-a2
|
|
+abc
|
|
|
|
|
|
create a second head
|
|
|
|
$ cd ../r1
|
|
$ hg up 0
|
|
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ echo b2 > b
|
|
$ echo a3 > a
|
|
$ hg addremove
|
|
adding b
|
|
$ hg commit -m "3"
|
|
created new head
|
|
|
|
$ cd ../r2
|
|
$ hg -q pull ../r1
|
|
$ hg status
|
|
M a
|
|
$ hg parents
|
|
changeset: 1:1e71731e6fbb
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: 2
|
|
|
|
$ hg --debug up
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
updated to "1e71731e6fbb: 2"
|
|
1 other heads for branch "default"
|
|
|
|
test conflicting untracked files
|
|
|
|
$ hg up -qC 0
|
|
$ echo untracked > b
|
|
$ hg st
|
|
? b
|
|
$ hg up 1
|
|
b: untracked file differs
|
|
abort: untracked files in working directory differ from files in requested revision
|
|
[255]
|
|
$ rm b
|
|
|
|
test conflicting untracked ignored file
|
|
|
|
$ hg up -qC 0
|
|
$ echo ignored > .hgignore
|
|
$ hg add .hgignore
|
|
$ hg ci -m 'add .hgignore'
|
|
created new head
|
|
$ echo ignored > ignored
|
|
$ hg add ignored
|
|
$ hg ci -m 'add ignored file'
|
|
|
|
$ hg up -q 'desc("add .hgignore")'
|
|
$ echo untracked > ignored
|
|
$ hg st
|
|
$ hg up 'desc("add ignored file")'
|
|
ignored: untracked file differs
|
|
abort: untracked files in working directory differ from files in requested revision
|
|
[255]
|
|
|
|
test a local add
|
|
|
|
$ cd ..
|
|
$ hg init a
|
|
$ hg init b
|
|
$ echo a > a/a
|
|
$ echo a > b/a
|
|
$ hg --cwd a commit -A -m a
|
|
adding a
|
|
$ cd b
|
|
$ hg add a
|
|
$ hg pull -u ../a
|
|
pulling from ../a
|
|
requesting all changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 1 changes to 1 files
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg st
|
|
|
|
test updating backwards through a rename
|
|
|
|
$ hg mv a b
|
|
$ hg ci -m b
|
|
$ echo b > b
|
|
$ hg up -q 0
|
|
$ hg st
|
|
M a
|
|
$ hg diff --nodates
|
|
diff -r cb9a9f314b8b a
|
|
--- a/a
|
|
+++ b/a
|
|
@@ -1,1 +1,1 @@
|
|
-a
|
|
+b
|
|
|
|
test for superfluous filemerge of clean files renamed in the past
|
|
|
|
$ hg up -qC tip
|
|
$ echo c > c
|
|
$ hg add c
|
|
$ hg up -qt:fail 0
|
|
|
|
$ cd ..
|