##// END OF EJS Templates
discovery: add extinct changesets to outgoing.excluded...
discovery: add extinct changesets to outgoing.excluded Before this change, push would incorrectly fast-path the bundle generation when extinct changesets are involved, because they are not added to outgoing.excluded. The reason to do so are related to outgoing.excluded being assumed to contain only secret changesets by scmutil.nochangesfound(), when displaying warnings like: changes found (ignored 9 secret changesets) Still, outgoing.excluded seems like a good API to report the extinct changesets instead of dedicated code and nothing in the docstring indicates it to be bound to secret changesets. This patch adds extinct changesets to outgoing.excluded and fixes scmutil.nochangesfound() to filter the excluded node list. Original version and test by Pierre-Yves.David@ens-lyon.org

File last commit:

r16913:f2719b38 default
r17248:6ffb35b2 stable
Show More
test-up-local-change.t
238 lines | 5.5 KiB | text/troff | Tads3Lexer
/ tests / test-up-local-change.t
$ 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
overwrite: False, partial: False
ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
a: versions differ -> m
b: remote created -> g
preserving a for resolve of a
updating: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
updating: b 2/2 files (100.00%)
getting b
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
resolving manifests
overwrite: False, partial: False
ancestor: 1e71731e6fbb, local: 1e71731e6fbb+, remote: c19d34741b0a
a: versions differ -> m
b: other deleted -> r
preserving a for resolve of a
updating: b 1/2 files (50.00%)
removing b
updating: a 2/2 files (100.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@1e71731e6fbb+ other a@c19d34741b0a ancestor a@1e71731e6fbb
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 merge
abort: nothing to merge
(use 'hg update' instead)
[255]
$ 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
overwrite: False, partial: False
ancestor: c19d34741b0a, local: c19d34741b0a+, remote: 1e71731e6fbb
a: versions differ -> m
b: remote created -> g
preserving a for resolve of a
updating: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@c19d34741b0a+ other a@1e71731e6fbb ancestor a@c19d34741b0a
updating: b 2/2 files (100.00%)
getting b
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
abort: crosses branches (merge branches or use --clean to discard changes)
[255]
$ hg --debug merge
abort: outstanding uncommitted changes
(use 'hg status' to list changes)
[255]
$ hg --debug merge -f
searching for copies back to rev 1
resolving manifests
overwrite: False, partial: False
ancestor: c19d34741b0a, local: 1e71731e6fbb+, remote: 83c51d0caff4
a: versions differ -> m
b: versions differ -> m
preserving a for resolve of a
preserving b for resolve of b
updating: a 1/2 files (50.00%)
picked tool 'true' for a (binary False symlink False)
merging a
my a@1e71731e6fbb+ other a@83c51d0caff4 ancestor a@c19d34741b0a
updating: b 2/2 files (100.00%)
picked tool 'true' for b (binary False symlink False)
merging b
my b@1e71731e6fbb+ other b@83c51d0caff4 ancestor b@000000000000
0 files updated, 2 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg parents
changeset: 1:1e71731e6fbb
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 2
changeset: 2:83c51d0caff4
tag: tip
parent: 0:c19d34741b0a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: 3
$ hg diff --nodates
diff -r 1e71731e6fbb a
--- a/a
+++ b/a
@@ -1,1 +1,1 @@
-a2
+abc
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
$ cd ..