##// END OF EJS Templates
grep: don't print data from binary files for matches (issue2614)
grep: don't print data from binary files for matches (issue2614)

File last commit:

r13907:a0ed0d0d default
r13920:332e4007 default
Show More
test-subrepo-svn.t
440 lines | 9.1 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-svn.t
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ "$TESTDIR/hghave" svn || exit 80
$ fix_path()
> {
> tr '\\' /
> }
SVN wants all paths to start with a slash. Unfortunately, Windows ones
don't. Handle that.
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ escapedwd=`pwd | fix_path`
Mads Kiilerich
test-subrepo-svn: restore expr functionality for solaris...
r12404 $ expr "$escapedwd" : '\/' > /dev/null || escapedwd="/$escapedwd"
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"`
create subversion repo
$ SVNREPO="file://$escapedwd/svn-repo"
$ WCROOT="`pwd`/svn-wc"
$ svnadmin create svn-repo
$ svn co "$SVNREPO" svn-wc
Checked out revision 0.
$ cd svn-wc
$ mkdir src
$ echo alpha > src/alpha
$ svn add src
A src
A src/alpha
$ mkdir externals
$ echo other > externals/other
$ svn add externals
A externals
A externals/other
$ svn ci -m 'Add alpha'
Adding externals
Adding externals/other
Adding src
Adding src/alpha
Transmitting file data ..
Committed revision 1.
$ svn up
At revision 1.
$ echo "externals -r1 $SVNREPO/externals" > extdef
$ 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
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 $ echo "s = [svn] $SVNREPO/src" >> .hgsub
$ echo "subdir/s = [svn] $SVNREPO/src" >> .hgsub
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ svn co --quiet "$SVNREPO"/src s
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 $ mkdir subdir
$ svn co --quiet "$SVNREPO"/src subdir/s
Martin Geisler
tests: unify test-subrepo-svn
r11916 $ hg add .hgsub
$ hg ci -m1
committing subrepository s
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 committing subrepository subdir/s
Martin Geisler
tests: unify test-subrepo-svn
r11916
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)
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg commit -m 'Message!'
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.
Mads Kiilerich
tests: remove redundant globs...
r12640 Fetching external item into '$TESTTMP/sub/t/s/externals'
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: compare svn subrepo state to last committed revision...
r13287 add an unrelated revision in svn and update the subrepo to without
bringing any changes.
Matt Mackall
tests: fixes for svn 1.4.2
r13410 $ svn mkdir "$SVNREPO/unrelated" -m 'create unrelated'
Patrick Mezard
subrepo: compare svn subrepo state to last committed revision...
r13287
Committed revision 4.
$ svn up s
Fetching external item into 's/externals'
External at revision 1.
At revision 4.
$ 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
$ cd "$WCROOT"/src
$ svn up
U alpha
Fetching external item into 'externals'
A externals/other
Updated external to revision 1.
Patrick Mezard
subrepo: compare svn subrepo state to last committed revision...
r13287 Updated to revision 4.
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'
Sending src/alpha
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
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg ci -m 'amend alpha from hg'
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
abort: svn: Commit failed (details follow):
Matt Mackall
tests: various fixes for new unified test pattern format
r12377 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re)
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
property 'svn:mime-type' set on 's/alpha'
Matt Mackall
tests: drop a bunch of sed calls from unified tests
r12366 $ hg ci -m 'amend alpha from hg'
Martin Geisler
tests: unify test-subrepo-svn
r11916 committing subrepository s
abort: svn: Commit failed (details follow):
Matt Mackall
tests: various fixes for new unified test pattern format
r12377 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re)
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
$ hg ci -m 'amend externals from hg'
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
property 'svn:mime-type' set on 's/externals/other'
$ hg ci -m 'amend externals from hg'
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 ..
$ hg clone t tc | fix_path
updating to branch default
Matt Mackall
subrepo: fix up svn test output
r13907 A tc/s/alpha
U tc/s
Fetching external item into 'tc/s/externals'
A tc/s/externals/other
Checked out external at revision 1.
Checked out revision 3.
Patrick Mezard
subrepo: prune empty directories when removing svn subrepo
r13015 A tc/subdir/s/alpha
U tc/subdir/s
Fetching external item into 'tc/subdir/s/externals'
A tc/subdir/s/externals/other
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
$ cd $TESTTMP/sub/t
$ cd s
$ echo c0 > alpha
$ echo c1 > f1
$ echo c1 > f2
$ svn add f1 -q
$ svn status
Matt Mackall
tests: fixes for svn 1.4.2
r13410 ? * a (glob)
X * externals (glob)
? * f2 (glob)
M * alpha (glob)
A * f1 (glob)
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322
Performing status on external item at 'externals'
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
subrepo: fix update -C with svn subrepos when cwd != repo.root
r13332 Fetching external item into 't/s/externals'
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
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322 $ svn status
Matt Mackall
tests: fixes for svn 1.4.2
r13410 ? * a (glob)
X * externals (glob)
? * f1 (glob)
? * f2 (glob)
Erik Zielke
subrepo: make update -C clean the working directory for svn subrepos...
r13322
Performing status on external item at 'externals'
Erik Zielke
subrepos: prompt on conflicts on update with dirty subrepos...
r13417
Sticky subrepositories, no changes
$ cd $TESTTMP/sub/t
$ hg id -n
2
$ cd s
$ svnversion
3
$ cd ..
$ hg update 1
U $TESTTMP/sub/t/s/alpha
Fetching external item into '$TESTTMP/sub/t/s/externals'
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
U $TESTTMP/sub/t/s/alpha
Fetching external item into '$TESTTMP/sub/t/s/externals'
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
$ svn update -r 1
U alpha
U .
Fetching external item into 'externals'
Updated external to revision 1.
Updated to revision 1.
$ 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
$ hg update --clean tip
U $TESTTMP/sub/t/s/alpha
U $TESTTMP/sub/t/s
Fetching external item into '$TESTTMP/sub/t/s/externals'
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
$ svn update -r 2
U alpha
Fetching external item into 'externals'
Updated external to revision 1.
Updated to revision 2.
$ 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 ..