##// 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:

r17108:1894dac6 default
r17248:6ffb35b2 stable
Show More
test-subrepo-svn.t
625 lines | 15.2 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-svn.t
Thomas Arendsen Hein
tests: check for svn >= 1.3 and >= 1.5 in tests that require those versions
r15346 $ "$TESTDIR/hghave" svn15 || exit 80
Martin Geisler
tests: unify test-subrepo-svn
r11916
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ SVNREPOPATH=`pwd`/svn-repo
#if windows
$ SVNREPOURL=file:///`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
#else
$ SVNREPOURL=file://`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
#endif
Martin Geisler
tests: unify test-subrepo-svn
r11916
create subversion repo
$ WCROOT="`pwd`/svn-wc"
$ svnadmin create svn-repo
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co "$SVNREPOURL" svn-wc
Martin Geisler
tests: unify test-subrepo-svn
r11916 Checked out revision 0.
$ cd svn-wc
$ mkdir src
$ echo alpha > src/alpha
$ svn add src
A src
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 A src/alpha (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ mkdir externals
$ echo other > externals/other
$ svn add externals
A externals
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 A externals/other (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn ci -m 'Add alpha'
Adding externals
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 Adding externals/other (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 Adding src
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 Adding src/alpha (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 Transmitting file data ..
Committed revision 1.
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn up -q
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ echo "externals -r1 $SVNREPOURL/externals" > extdef
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn propset -F extdef svn:externals src
property 'svn:externals' set on 'src'
$ svn ci -m 'Setting externals'
Sending src
Committed revision 2.
$ cd ..
create hg repo
$ mkdir sub
$ cd sub
$ hg init t
$ cd t
first revision, no sub
$ echo a > a
$ hg ci -Am0
adding a
add first svn sub with leading whitespaces
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ echo "s = [svn] $SVNREPOURL/src" >> .hgsub
$ echo "subdir/s = [svn] $SVNREPOURL/src" >> .hgsub
$ svn co --quiet "$SVNREPOURL"/src s
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 $ mkdir subdir
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co --quiet "$SVNREPOURL"/src subdir/s
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ hg add .hgsub
$ hg ci -m1
Matt Mackall
subrepo: fix status check on SVN subrepos (issue2445)
r12798 make sure we avoid empty commits (issue2445)
$ hg sum
parent: 1:* tip (glob)
1
branch: default
commit: (clean)
update: (current)
$ hg ci -moops
nothing changed
[1]
Martin Geisler
tests: unify test-subrepo-svn
r11916 debugsub
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg debugsub
Martin Geisler
tests: unify test-subrepo-svn
r11916 path s
Mads Kiilerich
test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP...
r12668 source file://*/svn-repo/src (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 revision 2
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 path subdir/s
source file://*/svn-repo/src (glob)
revision 2
Martin Geisler
tests: unify test-subrepo-svn
r11916
change file in svn and hg, commit
$ echo a >> a
$ echo alpha >> s/alpha
Matt Mackall
subrepo: fix status check on SVN subrepos (issue2445)
r12798 $ hg sum
parent: 1:* tip (glob)
1
branch: default
commit: 1 modified, 1 subrepos
update: (current)
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ hg commit --subrepos -m 'Message!' | grep -v Updating
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
Matt Mackall
tests: various fixes for new unified test pattern format
r12377 Sending*s/alpha (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 Transmitting file data .
Committed revision 3.
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into '*s/externals'* (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 External at revision 1.
At revision 3.
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg debugsub
Martin Geisler
tests: unify test-subrepo-svn
r11916 path s
Mads Kiilerich
test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP...
r12668 source file://*/svn-repo/src (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 revision 3
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 path subdir/s
source file://*/svn-repo/src (glob)
revision 2
Martin Geisler
tests: unify test-subrepo-svn
r11916
Patrick Mezard
subrepo/svn: abort on commit with missing file (issue3029)...
r16529 missing svn file, commit should fail
$ rm s/alpha
$ hg commit --subrepos -m 'abort on missing file'
committing subrepository s
Patrick Mezard
subrepo/svn: improve error message on missing files...
r16530 abort: cannot commit missing svn entries
Patrick Mezard
subrepo/svn: abort on commit with missing file (issue3029)...
r16529 [255]
$ svn revert s/alpha > /dev/null
Patrick Mezard
subrepo: compare svn subrepo state to last committed revision...
r13287 add an unrelated revision in svn and update the subrepo to without
bringing any changes.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn mkdir "$SVNREPOURL/unrelated" -m 'create unrelated'
Patrick Mezard
subrepo: compare svn subrepo state to last committed revision...
r13287
Committed revision 4.
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn up -q s
Patrick Mezard
subrepo: compare svn subrepo state to last committed revision...
r13287 $ hg sum
parent: 2:* tip (glob)
Message!
branch: default
commit: (clean)
update: (current)
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ echo a > s/a
should be empty despite change to s/a
$ hg st
add a commit from svn
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$WCROOT/src"
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn up -q
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ echo xyz >> alpha
$ svn propset svn:mime-type 'text/xml' alpha
property 'svn:mime-type' set on 'alpha'
$ svn ci -m 'amend a from svn'
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Sending *alpha (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 Transmitting file data .
Patrick Mezard
subrepo: compare svn subrepo state to last committed revision...
r13287 Committed revision 5.
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ cd ../../sub/t
this commit from hg will fail
$ echo zzz >> s/alpha
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date'
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 abort: svn:*Commit failed (details follow): (glob)
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 [255]
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn revert -q s/alpha
this commit fails because of meta changes
$ svn propset svn:mime-type 'text/html' s/alpha
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 property 'svn:mime-type' set on 's/alpha' (glob)
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date'
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 abort: svn:*Commit failed (details follow): (glob)
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 [255]
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn revert -q s/alpha
this commit fails because of externals changes
$ echo zzz > s/externals/other
Martin Geisler
subrepos: abort commit by default if a subrepo is dirty (BC)...
r15321 $ hg ci --subrepos -m 'amend externals from hg'
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
abort: cannot commit svn externals
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Patrick Mezard
subrepos: handle diff nodeids in subrepos, not before...
r12209 $ hg diff --subrepos -r 1:2 | grep -v diff
--- a/.hgsubstate Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgsubstate Thu Jan 01 00:00:00 1970 +0000
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 @@ -1,2 +1,2 @@
Patrick Mezard
subrepos: handle diff nodeids in subrepos, not before...
r12209 -2 s
+3 s
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 2 subdir/s
Patrick Mezard
subrepos: handle diff nodeids in subrepos, not before...
r12209 --- a/a Thu Jan 01 00:00:00 1970 +0000
+++ b/a Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +1,2 @@
a
+a
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn revert -q s/externals/other
this commit fails because of externals meta changes
$ svn propset svn:mime-type 'text/html' s/externals/other
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 property 'svn:mime-type' set on 's/externals/other' (glob)
Martin Geisler
subrepos: abort commit by default if a subrepo is dirty (BC)...
r15321 $ hg ci --subrepos -m 'amend externals from hg'
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
abort: cannot commit svn externals
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn revert -q s/externals/other
clone
$ cd ..
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ hg clone t tc
Martin Geisler
tests: unify test-subrepo-svn
r11916 updating to branch default
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 A tc/s/alpha (glob)
U tc/s (glob)
Matt Mackall
subrepo: fix up svn test output
r13907
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into 'tc/s/externals'* (glob)
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 A tc/s/externals/other (glob)
Matt Mackall
subrepo: fix up svn test output
r13907 Checked out external at revision 1.
Checked out revision 3.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 A tc/subdir/s/alpha (glob)
U tc/subdir/s (glob)
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into 'tc/subdir/s/externals'* (glob)
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 A tc/subdir/s/externals/other (glob)
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 Checked out external at revision 1.
Checked out revision 2.
Martin Geisler
tests: unify test-subrepo-svn
r11916 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd tc
debugsub in clone
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg debugsub
Martin Geisler
tests: unify test-subrepo-svn
r11916 path s
Mads Kiilerich
test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP...
r12668 source file://*/svn-repo/src (glob)
Martin Geisler
tests: unify test-subrepo-svn
r11916 revision 3
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 path subdir/s
source file://*/svn-repo/src (glob)
revision 2
Martin Geisler
tests: unify test-subrepo-svn
r11916
verify subrepo is contained within the repo directory
$ python -c "import os.path; print os.path.exists('s')"
True
Ronny Pfannschmidt
subrepo: test & fix svn subrepo removal
r12930
update to nullrev (must delete the subrepo)
$ hg up null
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 $ ls
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322
Check hg update --clean
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$TESTTMP/sub/t"
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322 $ cd s
$ echo c0 > alpha
$ echo c1 > f1
$ echo c1 > f2
$ svn add f1 -q
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn status | sort
Matt Mackall
tests: fixes for svn 1.4.2
r13410 ? * a (glob)
? * f2 (glob)
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 A * f1 (glob)
Matt Mackall
tests: fixes for svn 1.4.2
r13410 M * alpha (glob)
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Performing status on external item at 'externals'* (glob)
X * externals (glob)
Patrick Mezard
subrepo: fix update -C with svn subrepos when cwd != repo.root
r13332 $ cd ../..
$ hg -R t update -C
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into 't/s/externals'* (glob)
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322 Checked out external at revision 1.
Checked out revision 3.
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Patrick Mezard
subrepo: fix update -C with svn subrepos when cwd != repo.root
r13332 $ cd t/s
Patrick Mezard
test-subrepo-svn: fix non-determinism...
r16526 $ svn status | sort
Matt Mackall
tests: fixes for svn 1.4.2
r13410 ? * a (glob)
? * f1 (glob)
? * f2 (glob)
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Performing status on external item at 'externals'* (glob)
Patrick Mezard
test-subrepo-svn: fix non-determinism...
r16526 X * externals (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417
Sticky subrepositories, no changes
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$TESTTMP/sub/t"
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417 $ hg id -n
2
$ cd s
$ svnversion
3
$ cd ..
$ hg update 1
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 U *s/alpha (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into '*s/externals'* (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417 Checked out external at revision 1.
Checked out revision 2.
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg id -n
1
$ cd s
$ svnversion
2
$ cd ..
Sticky subrepositorys, file changes
$ touch s/f1
$ cd s
$ svn add f1
A f1
$ cd ..
$ hg id -n
1
$ cd s
$ svnversion
2M
$ cd ..
$ hg update tip
subrepository sources for s differ
use (l)ocal source (2) or (r)emote source (3)?
l
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg id -n
2+
$ cd s
$ svnversion
2M
$ cd ..
$ hg update --clean tip
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 U *s/alpha (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into '*s/externals'* (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417 Checked out external at revision 1.
Checked out revision 3.
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Sticky subrepository, revision updates
$ hg id -n
2
$ cd s
$ svnversion
3
$ cd ..
$ cd s
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn update -qr 1
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417 $ cd ..
$ hg update 1
subrepository sources for s differ (in checked out version)
use (l)ocal source (1) or (r)emote source (2)?
l
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg id -n
1+
$ cd s
$ svnversion
1
$ cd ..
Sticky subrepository, file changes and revision updates
$ touch s/f1
$ cd s
$ svn add f1
A f1
$ svnversion
1M
$ cd ..
$ hg id -n
1+
$ hg update tip
subrepository sources for s differ
use (l)ocal source (1) or (r)emote source (3)?
l
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg id -n
2
$ cd s
$ svnversion
1M
$ cd ..
Sticky repository, update --clean
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 $ hg update --clean tip | grep -v 's[/\]externals[/\]other'
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 U *s/alpha (glob)
U *s (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into '*s/externals'* (glob)
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417 Checked out external at revision 1.
Checked out revision 3.
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg id -n
2
$ cd s
$ svnversion
3
$ cd ..
Test subrepo already at intended revision:
$ cd s
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn update -qr 2
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417 $ cd ..
$ hg update 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg id -n
1+
$ cd s
$ svnversion
2
$ cd ..
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050
Test case where subversion would fail to update the subrepo because there
are unknown directories being replaced by tracked ones (happens with rebase).
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$WCROOT/src"
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050 $ mkdir dir
$ echo epsilon.py > dir/epsilon.py
$ svn add dir
A dir
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 A dir/epsilon.py (glob)
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050 $ svn ci -m 'Add dir/epsilon.py'
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Adding *dir (glob)
Adding *dir/epsilon.py (glob)
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050 Transmitting file data .
Committed revision 6.
$ cd ../..
$ hg init rebaserepo
$ cd rebaserepo
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co -r5 --quiet "$SVNREPOURL"/src s
$ echo "s = [svn] $SVNREPOURL/src" >> .hgsub
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050 $ hg add .hgsub
$ hg ci -m addsub
$ echo a > a
$ hg ci -Am adda
adding a
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn up -qr6 s
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050 $ hg ci -m updatesub
created new head
$ echo pyc > s/dir/epsilon.pyc
$ hg up 1
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 D *s/dir (glob)
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 Fetching external item into '*s/externals'* (glob)
Patrick Mezard
subrepo: handle svn tracked/unknown directory collisions...
r14050 Checked out external at revision 1.
Checked out revision 5.
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: change odd uses of 'if hghave' to #if
r16898 $ hg up -q 2
Augie Fackler
svn subrepos: work around checkout obstructions (issue2752)...
r14664
Modify one of the externals to point to a different path so we can
test having obstructions when switching branches on checkout:
$ hg checkout tip
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ echo "obstruct = [svn] $SVNREPOURL/externals" >> .hgsub
$ svn co -r5 --quiet "$SVNREPOURL"/externals obstruct
Matt Mackall
check-code: fix issues with finding patterns in unified tests, fix tests...
r15372 $ hg commit -m 'Start making obstructed working copy'
Augie Fackler
svn subrepos: work around checkout obstructions (issue2752)...
r14664 $ hg book other
$ hg co -r 'p1(tip)'
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ echo "obstruct = [svn] $SVNREPOURL/src" >> .hgsub
$ svn co -r5 --quiet "$SVNREPOURL"/src obstruct
Augie Fackler
svn subrepos: work around checkout obstructions (issue2752)...
r14664 $ hg commit -m 'Other branch which will be obstructed'
created new head
Switching back to the head where we have another path mapped to the
same subrepo should work if the subrepo is clean.
$ hg co other
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 A *obstruct/other (glob)
Augie Fackler
svn subrepos: work around checkout obstructions (issue2752)...
r14664 Checked out revision 1.
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
This is surprising, but is also correct based on the current code:
$ echo "updating should (maybe) fail" > obstruct/other
$ hg co tip
abort: crosses branches (merge branches or use --clean to discard changes)
[255]
Eli Carter
subrepo: correct revision in svn checkout...
r14820
Point to a Subversion branch which has since been deleted and recreated
First, create that condition in the repository.
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ hg ci --subrepos -m cleanup | grep -v Updating
Eli Carter
subrepo: correct revision in svn checkout...
r14820 committing subrepository obstruct
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 Sending obstruct/other (glob)
Eli Carter
subrepo: correct revision in svn checkout...
r14820 Transmitting file data .
Committed revision 7.
At revision 7.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn mkdir -m "baseline" $SVNREPOURL/trunk
Eli Carter
subrepo: correct revision in svn checkout...
r14820
Committed revision 8.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn copy -m "initial branch" $SVNREPOURL/trunk $SVNREPOURL/branch
Eli Carter
subrepo: correct revision in svn checkout...
r14820
Committed revision 9.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co --quiet "$SVNREPOURL"/branch tempwc
Eli Carter
subrepo: correct revision in svn checkout...
r14820 $ cd tempwc
$ echo "something old" > somethingold
$ svn add somethingold
A somethingold
$ svn ci -m 'Something old'
Adding somethingold
Transmitting file data .
Committed revision 10.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn rm -m "remove branch" $SVNREPOURL/branch
Eli Carter
subrepo: correct revision in svn checkout...
r14820
Committed revision 11.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn copy -m "recreate branch" $SVNREPOURL/trunk $SVNREPOURL/branch
Eli Carter
subrepo: correct revision in svn checkout...
r14820
Committed revision 12.
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn up -q
Eli Carter
subrepo: correct revision in svn checkout...
r14820 $ echo "something new" > somethingnew
$ svn add somethingnew
A somethingnew
$ svn ci -m 'Something new'
Adding somethingnew
Transmitting file data .
Committed revision 13.
$ cd ..
$ rm -rf tempwc
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co "$SVNREPOURL/branch"@10 recreated
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 A recreated/somethingold (glob)
Eli Carter
subrepo: correct revision in svn checkout...
r14820 Checked out revision 10.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ echo "recreated = [svn] $SVNREPOURL/branch" >> .hgsub
Eli Carter
subrepo: correct revision in svn checkout...
r14820 $ hg ci -m addsub
$ cd recreated
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 $ svn up -q
Eli Carter
subrepo: correct revision in svn checkout...
r14820 $ cd ..
$ hg ci -m updatesub
$ hg up -r-2
Patrick Mezard
test-svn-subrepo: fix reference output for svn 1.7...
r15607 D *recreated/somethingnew (glob)
A *recreated/somethingold (glob)
Eli Carter
subrepo: correct revision in svn checkout...
r14820 Checked out revision 10.
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: don't use 'test -e'...
r15282 $ test -f recreated/somethingold
Eli Carter
subrepo: correct revision in svn checkout...
r14820
Patrick Mezard
archive: make it work with svn subrepos (issue3308)...
r16450 Test archive
$ hg archive -S ../archive-all --debug
archiving: 0/2 files (0.00%)
archiving: .hgsub 1/2 files (50.00%)
archiving: .hgsubstate 2/2 files (100.00%)
archiving (obstruct): 0/1 files (0.00%)
archiving (obstruct): 1/1 files (100.00%)
archiving (s): 0/2 files (0.00%)
archiving (s): 1/2 files (50.00%)
archiving (s): 2/2 files (100.00%)
archiving (recreated): 0/1 files (0.00%)
archiving (recreated): 1/1 files (100.00%)
Patrick Mezard
subrepo: fix default implementation of forget() (issue3404)
r16527
Matt Harbison
subrepo: propagate matcher to subrepos when archiving...
r17108 $ hg archive -S ../archive-exclude --debug -X **old
archiving: 0/2 files (0.00%)
archiving: .hgsub 1/2 files (50.00%)
archiving: .hgsubstate 2/2 files (100.00%)
archiving (obstruct): 0/1 files (0.00%)
archiving (obstruct): 1/1 files (100.00%)
archiving (s): 0/2 files (0.00%)
archiving (s): 1/2 files (50.00%)
archiving (s): 2/2 files (100.00%)
archiving (recreated): 0 files
$ find ../archive-exclude | sort
../archive-exclude
../archive-exclude/.hg_archival.txt
../archive-exclude/.hgsub
../archive-exclude/.hgsubstate
../archive-exclude/obstruct
../archive-exclude/obstruct/other
../archive-exclude/s
../archive-exclude/s/alpha
../archive-exclude/s/dir
../archive-exclude/s/dir/epsilon.py
Patrick Mezard
subrepo: fix default implementation of forget() (issue3404)
r16527 Test forgetting files, not implemented in svn subrepo, used to
traceback
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 #if no-windows
Patrick Mezard
subrepo: fix default implementation of forget() (issue3404)
r16527 $ hg forget 'notafile*'
notafile*: No such file or directory
[1]
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 #else
$ hg forget 'notafile'
notafile: * (glob)
[1]
#endif
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554
Test a subrepo referencing a just moved svn path. Last commit rev will
be different from the revision, and the path will be different as
well.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ cd "$WCROOT"
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554 $ svn up > /dev/null
$ mkdir trunk/subdir branches
$ echo a > trunk/subdir/a
$ svn add trunk/subdir branches
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 A trunk/subdir (glob)
A trunk/subdir/a (glob)
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554 A branches
$ svn ci -m addsubdir
Adding branches
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 Adding trunk/subdir (glob)
Adding trunk/subdir/a (glob)
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554 Transmitting file data .
Committed revision 14.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn cp -m branchtrunk $SVNREPOURL/trunk $SVNREPOURL/branches/somebranch
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554
Committed revision 15.
$ cd ..
$ hg init repo2
$ cd repo2
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ svn co $SVNREPOURL/branches/somebranch/subdir
Eduard-Cristian Stefan
test-subrepo-svn.t: partially adapt for Windows...
r17032 A subdir/a (glob)
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554 Checked out revision 15.
Mads Kiilerich
tests: cleanup of svn url handling...
r17033 $ echo "subdir = [svn] $SVNREPOURL/branches/somebranch/subdir" > .hgsub
Patrick Mezard
subrepo/svn: fix checked out rev number retrieval (issue2968)...
r16554 $ hg add .hgsub
$ hg ci -m addsub
$ hg up null
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
$ hg up
A *subdir/a (glob)
Checked out revision 15.
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..