tests/test-subrepo-svn.t
author Yuya Nishihara <yuya@tcha.org>
Mon, 12 Mar 2018 20:45:10 +0900
changeset 37064 434e520adb8c
parent 35446 991e4404e910
child 39707 5abc47d4ca6b
permissions -rw-r--r--
annotate: do not construct attr.s object per line while computing history Unfortunately, good abstraction has a cost. It's way slower to construct an annotateline() object than creating a plain tuple or a list. This patch changes the internal data structure from row-based to columnar, so the decorate() function can be instant (i.e. no Python in hot loop.) For code readability, the outermost tuple is switched to an attr.s object instead. (original, row-based attr.s) $ hg annot mercurial/commands.py --time > /dev/null time: real 11.470 secs (user 11.400+0.000 sys 0.070+0.000) $ hg annot mercurial/commands.py --time --line-number > /dev/null time: real 39.590 secs (user 39.500+0.000 sys 0.080+0.000) (this patch, columnar) $ hg annot mercurial/commands.py --time > /dev/null time: real 11.780 secs (user 11.710+0.000 sys 0.070+0.000) $ hg annot mercurial/commands.py --time --line-number > /dev/null time: real 12.240 secs (user 12.170+0.000 sys 0.090+0.000) (cf. 4.3.3, row-based tuple) $ hg annot mercurial/commands.py --time --line-number > /dev/null time: real 19.540 secs (user 19.460+0.000 sys 0.080+0.000)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21930
diff changeset
     1
#require svn15
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
     2
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
     3
  $ SVNREPOPATH=`pwd`/svn-repo
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
     4
#if windows
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22590
diff changeset
     5
  $ SVNREPOURL=file:///`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
     6
#else
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22590
diff changeset
     7
  $ SVNREPOURL=file://`$PYTHON -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$SVNREPOPATH"`
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
     8
#endif
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
     9
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
    10
  $ filter_svn_output () {
28533
dfd5a6830ea7 tests: make tests for convert with svn portable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26374
diff changeset
    11
  >     egrep -v 'Committing|Transmitting|Updating|(^$)' || true
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
    12
  > }
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
    13
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    14
create subversion repo
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    15
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    16
  $ WCROOT="`pwd`/svn-wc"
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    17
  $ svnadmin create svn-repo
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
    18
  $ svn co "$SVNREPOURL" svn-wc
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    19
  Checked out revision 0.
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    20
  $ cd svn-wc
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    21
  $ mkdir src
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    22
  $ echo alpha > src/alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    23
  $ svn add src
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    24
  A         src
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
    25
  A         src/alpha
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    26
  $ mkdir externals
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    27
  $ echo other > externals/other
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    28
  $ svn add externals
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    29
  A         externals
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
    30
  A         externals/other
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
    31
  $ svn ci -qm 'Add alpha'
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
    32
  $ svn up -q
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
    33
  $ echo "externals -r1 $SVNREPOURL/externals" > extdef
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    34
  $ svn propset -F extdef svn:externals src
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    35
  property 'svn:externals' set on 'src'
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
    36
  $ svn ci -qm 'Setting externals'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    37
  $ cd ..
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    38
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    39
create hg repo
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    40
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    41
  $ mkdir sub
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    42
  $ cd sub
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    43
  $ hg init t
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    44
  $ cd t
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    45
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    46
first revision, no sub
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    47
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    48
  $ echo a > a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    49
  $ hg ci -Am0
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    50
  adding a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    51
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    52
add first svn sub with leading whitespaces
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    53
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
    54
  $ echo "s =        [svn]       $SVNREPOURL/src" >> .hgsub
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
    55
  $ echo "subdir/s = [svn]       $SVNREPOURL/src" >> .hgsub
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
    56
  $ svn co --quiet "$SVNREPOURL"/src s
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
    57
  $ mkdir subdir
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
    58
  $ svn co --quiet "$SVNREPOURL"/src subdir/s
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    59
  $ hg add .hgsub
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    60
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    61
svn subrepo is disabled by default
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    62
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    63
  $ hg ci -m1
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
    64
  abort: svn subrepos not allowed
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    65
  (see 'hg help config.subrepos' for details)
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    66
  [255]
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    67
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    68
so enable it
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    69
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    70
  $ cat >> $HGRCPATH <<EOF
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    71
  > [subrepos]
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
    72
  > svn:allowed = true
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    73
  > EOF
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 33660
diff changeset
    74
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    75
  $ hg ci -m1
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    76
12798
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    77
make sure we avoid empty commits (issue2445)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    78
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    79
  $ hg sum
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    80
  parent: 1:* tip (glob)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    81
   1
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    82
  branch: default
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    83
  commit: (clean)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    84
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25125
diff changeset
    85
  phases: 2 draft
12798
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    86
  $ hg ci -moops
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    87
  nothing changed
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    88
  [1]
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    89
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    90
debugsub
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    91
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
    92
  $ hg debugsub
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    93
  path s
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
    94
   source   file:/*/$TESTTMP/svn-repo/src (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    95
   revision 2
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
    96
  path subdir/s
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
    97
   source   file:/*/$TESTTMP/svn-repo/src (glob)
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
    98
   revision 2
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    99
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   100
change file in svn and hg, commit
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   101
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   102
  $ echo a >> a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   103
  $ echo alpha >> s/alpha
12798
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
   104
  $ hg sum
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
   105
  parent: 1:* tip (glob)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
   106
   1
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
   107
  branch: default
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
   108
  commit: 1 modified, 1 subrepos
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
   109
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25125
diff changeset
   110
  phases: 2 draft
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   111
  $ hg commit --subrepos -m 'Message!' | filter_svn_output
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   112
  committing subrepository s
12377
a5b77eb0409b tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents: 12376
diff changeset
   113
  Sending*s/alpha (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   114
  Committed revision 3.
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   115
  Fetching external item into '*s/externals'* (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   116
  External at revision 1.
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   117
  At revision 3.
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
   118
  $ hg debugsub
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   119
  path s
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   120
   source   file:/*/$TESTTMP/svn-repo/src (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   121
   revision 3
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   122
  path subdir/s
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   123
   source   file:/*/$TESTTMP/svn-repo/src (glob)
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   124
   revision 2
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   125
16529
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   126
missing svn file, commit should fail
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   127
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   128
  $ rm s/alpha
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   129
  $ hg commit --subrepos -m 'abort on missing file'
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   130
  committing subrepository s
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 30060
diff changeset
   131
  abort: cannot commit missing svn entries (in subrepository "s")
16529
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   132
  [255]
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   133
  $ svn revert s/alpha > /dev/null
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   134
13287
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   135
add an unrelated revision in svn and update the subrepo to without
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   136
bringing any changes.
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   137
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   138
  $ svn mkdir "$SVNREPOURL/unrelated" -qm 'create unrelated'
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   139
  $ svn up -q s
13287
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   140
  $ hg sum
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   141
  parent: 2:* tip (glob)
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   142
   Message!
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   143
  branch: default
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   144
  commit: (clean)
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   145
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25125
diff changeset
   146
  phases: 3 draft
13287
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   147
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   148
  $ echo a > s/a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   149
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   150
should be empty despite change to s/a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   151
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   152
  $ hg st
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   153
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   154
add a commit from svn
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   155
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   156
  $ cd "$WCROOT/src"
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   157
  $ svn up -q
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   158
  $ echo xyz >> alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   159
  $ svn propset svn:mime-type 'text/xml' alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   160
  property 'svn:mime-type' set on 'alpha'
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   161
  $ svn ci -qm 'amend a from svn'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   162
  $ cd ../../sub/t
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   163
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   164
this commit from hg will fail
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   165
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   166
  $ echo zzz >> s/alpha
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   167
  $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   168
  committing subrepository s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   169
  abort: svn:*Commit failed (details follow): (glob)
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
   170
  [255]
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   171
  $ svn revert -q s/alpha
10273
e898bc7810ad subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents: 10267
diff changeset
   172
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   173
this commit fails because of meta changes
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   174
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   175
  $ svn propset svn:mime-type 'text/html' s/alpha
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   176
  property 'svn:mime-type' set on 's/alpha'
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   177
  $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   178
  committing subrepository s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   179
  abort: svn:*Commit failed (details follow): (glob)
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
   180
  [255]
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   181
  $ svn revert -q s/alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   182
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   183
this commit fails because of externals changes
10273
e898bc7810ad subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents: 10267
diff changeset
   184
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   185
  $ echo zzz > s/externals/other
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 15282
diff changeset
   186
  $ hg ci --subrepos -m 'amend externals from hg'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   187
  committing subrepository s
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 30060
diff changeset
   188
  abort: cannot commit svn externals (in subrepository "s")
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12209
diff changeset
   189
  [255]
12209
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   190
  $ hg diff --subrepos -r 1:2 | grep -v diff
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   191
  --- a/.hgsubstate	Thu Jan 01 00:00:00 1970 +0000
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   192
  +++ b/.hgsubstate	Thu Jan 01 00:00:00 1970 +0000
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   193
  @@ -1,2 +1,2 @@
12209
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   194
  -2 s
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   195
  +3 s
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   196
   2 subdir/s
12209
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   197
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   198
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   199
  @@ -1,1 +1,2 @@
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   200
   a
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   201
  +a
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   202
  $ svn revert -q s/externals/other
10273
e898bc7810ad subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents: 10267
diff changeset
   203
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   204
this commit fails because of externals meta changes
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   205
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   206
  $ svn propset svn:mime-type 'text/html' s/externals/other
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   207
  property 'svn:mime-type' set on 's/externals/other'
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 15282
diff changeset
   208
  $ hg ci --subrepos -m 'amend externals from hg'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   209
  committing subrepository s
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 30060
diff changeset
   210
  abort: cannot commit svn externals (in subrepository "s")
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12209
diff changeset
   211
  [255]
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   212
  $ svn revert -q s/externals/other
10273
e898bc7810ad subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents: 10267
diff changeset
   213
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   214
clone
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   215
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   216
  $ cd ..
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   217
  $ hg clone t tc
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   218
  updating to branch default
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   219
  A    tc/s/alpha
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   220
   U   tc/s
13907
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   221
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   222
  Fetching external item into 'tc/s/externals'* (glob)
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   223
  A    tc/s/externals/other
13907
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   224
  Checked out external at revision 1.
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   225
  
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   226
  Checked out revision 3.
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   227
  A    tc/subdir/s/alpha
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   228
   U   tc/subdir/s
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   229
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   230
  Fetching external item into 'tc/subdir/s/externals'* (glob)
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   231
  A    tc/subdir/s/externals/other
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   232
  Checked out external at revision 1.
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   233
  
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   234
  Checked out revision 2.
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   235
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   236
  $ cd tc
10954
33119d0252c1 subrepo: fix repo root path handling in svn subrepo
Brett Cannon <brett@python.org>
parents: 10791
diff changeset
   237
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   238
debugsub in clone
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   239
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
   240
  $ hg debugsub
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   241
  path s
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   242
   source   file:/*/$TESTTMP/svn-repo/src (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   243
   revision 3
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   244
  path subdir/s
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   245
   source   file:/*/$TESTTMP/svn-repo/src (glob)
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   246
   revision 2
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   247
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   248
verify subrepo is contained within the repo directory
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   249
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22590
diff changeset
   250
  $ $PYTHON -c "import os.path; print os.path.exists('s')"
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   251
  True
12930
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   252
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   253
update to nullrev (must delete the subrepo)
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   254
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   255
  $ hg up null
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   256
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   257
  $ ls
13322
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   258
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   259
Check hg update --clean
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   260
  $ cd "$TESTTMP/sub/t"
13322
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   261
  $ cd s
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   262
  $ echo c0 > alpha
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   263
  $ echo c1 > f1
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   264
  $ echo c1 > f2
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   265
  $ svn add f1 -q
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   266
  $ svn status | sort
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   267
  
13410
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   268
  ? *    a (glob)
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   269
  ? *    f2 (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   270
  A *    f1 (glob)
13410
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   271
  M *    alpha (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   272
  Performing status on external item at 'externals'* (glob)
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   273
  X *    externals (glob)
13332
927e3940bfc3 subrepo: fix update -C with svn subrepos when cwd != repo.root
Patrick Mezard <pmezard@gmail.com>
parents: 13322
diff changeset
   274
  $ cd ../..
927e3940bfc3 subrepo: fix update -C with svn subrepos when cwd != repo.root
Patrick Mezard <pmezard@gmail.com>
parents: 13322
diff changeset
   275
  $ hg -R t update -C
13322
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   276
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   277
  Fetching external item into 't/s/externals'* (glob)
13322
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   278
  Checked out external at revision 1.
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   279
  
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   280
  Checked out revision 3.
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   281
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
13332
927e3940bfc3 subrepo: fix update -C with svn subrepos when cwd != repo.root
Patrick Mezard <pmezard@gmail.com>
parents: 13322
diff changeset
   282
  $ cd t/s
16526
f2cc0ffb09de test-subrepo-svn: fix non-determinism
Patrick Mezard <patrick@mezard.eu>
parents: 16451
diff changeset
   283
  $ svn status | sort
f2cc0ffb09de test-subrepo-svn: fix non-determinism
Patrick Mezard <patrick@mezard.eu>
parents: 16451
diff changeset
   284
  
13410
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   285
  ? *    a (glob)
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   286
  ? *    f1 (glob)
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   287
  ? *    f2 (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   288
  Performing status on external item at 'externals'* (glob)
16526
f2cc0ffb09de test-subrepo-svn: fix non-determinism
Patrick Mezard <patrick@mezard.eu>
parents: 16451
diff changeset
   289
  X *    externals (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   290
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   291
Sticky subrepositories, no changes
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   292
  $ cd "$TESTTMP/sub/t"
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   293
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   294
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   295
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   296
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   297
  3
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   298
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   299
  $ hg update 1
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   300
  U    *s/alpha (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   301
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   302
  Fetching external item into '*s/externals'* (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   303
  Checked out external at revision 1.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   304
  
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   305
  Checked out revision 2.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   306
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   307
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   308
  1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   309
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   310
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   311
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   312
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   313
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
   314
Sticky subrepositories, file changes
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   315
  $ touch s/f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   316
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   317
  $ svn add f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   318
  A         f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   319
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   320
  $ hg id -n
17255
3e856d8abe9c identity: show trailing '+' for dirty subrepos (issue2839)
Patrick Mezard <patrick@mezard.eu>
parents: 17108
diff changeset
   321
  1+
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   322
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   323
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   324
  2M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   325
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   326
  $ hg update tip
19811
5e10d41e7b9c merge: let the user choose to merge, keep local or keep remote subrepo revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 19799
diff changeset
   327
   subrepository s diverged (local revision: 2, remote revision: 3)
30060
a145161debed merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com>
parents: 28533
diff changeset
   328
  (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   329
   subrepository sources for s differ
22590
d4c972b97fee subrepo: remove superfluous newline from subrepo prompt
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   330
  use (l)ocal source (2) or (r)emote source (3)? l
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   331
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   332
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   333
  2+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   334
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   335
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   336
  2M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   337
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   338
  $ hg update --clean tip
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   339
  U    *s/alpha (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   340
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   341
  Fetching external item into '*s/externals'* (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   342
  Checked out external at revision 1.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   343
  
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   344
  Checked out revision 3.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   345
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   346
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   347
Sticky subrepository, revision updates
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   348
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   349
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   350
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   351
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   352
  3
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   353
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   354
  $ cd s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   355
  $ svn update -qr 1
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   356
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   357
  $ hg update 1
19811
5e10d41e7b9c merge: let the user choose to merge, keep local or keep remote subrepo revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 19799
diff changeset
   358
   subrepository s diverged (local revision: 3, remote revision: 2)
30060
a145161debed merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com>
parents: 28533
diff changeset
   359
  (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   360
   subrepository sources for s differ (in checked out version)
22590
d4c972b97fee subrepo: remove superfluous newline from subrepo prompt
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   361
  use (l)ocal source (1) or (r)emote source (2)? l
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   362
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   363
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   364
  1+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   365
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   366
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   367
  1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   368
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   369
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   370
Sticky subrepository, file changes and revision updates
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   371
  $ touch s/f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   372
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   373
  $ svn add f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   374
  A         f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   375
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   376
  1M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   377
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   378
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   379
  1+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   380
  $ hg update tip
19811
5e10d41e7b9c merge: let the user choose to merge, keep local or keep remote subrepo revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 19799
diff changeset
   381
   subrepository s diverged (local revision: 3, remote revision: 3)
30060
a145161debed merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com>
parents: 28533
diff changeset
   382
  (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   383
   subrepository sources for s differ
22590
d4c972b97fee subrepo: remove superfluous newline from subrepo prompt
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   384
  use (l)ocal source (1) or (r)emote source (3)? l
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   385
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   386
  $ hg id -n
17255
3e856d8abe9c identity: show trailing '+' for dirty subrepos (issue2839)
Patrick Mezard <patrick@mezard.eu>
parents: 17108
diff changeset
   387
  2+
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   388
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   389
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   390
  1M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   391
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   392
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   393
Sticky repository, update --clean
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   394
  $ hg update --clean tip | grep -v 's[/\]externals[/\]other'
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   395
  U    *s/alpha (glob)
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   396
   U   *s (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   397
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   398
  Fetching external item into '*s/externals'* (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   399
  Checked out external at revision 1.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   400
  
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   401
  Checked out revision 3.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   402
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   403
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   404
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   405
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   406
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   407
  3
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   408
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   409
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   410
Test subrepo already at intended revision:
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   411
  $ cd s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   412
  $ svn update -qr 2
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   413
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   414
  $ hg update 1
19811
5e10d41e7b9c merge: let the user choose to merge, keep local or keep remote subrepo revisions
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 19799
diff changeset
   415
   subrepository s diverged (local revision: 3, remote revision: 2)
30060
a145161debed merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com>
parents: 28533
diff changeset
   416
  (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   417
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   418
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   419
  1+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   420
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   421
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   422
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   423
  $ cd ..
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   424
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   425
Test case where subversion would fail to update the subrepo because there
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   426
are unknown directories being replaced by tracked ones (happens with rebase).
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   427
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   428
  $ cd "$WCROOT/src"
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   429
  $ mkdir dir
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   430
  $ echo epsilon.py > dir/epsilon.py
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   431
  $ svn add dir
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   432
  A         dir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   433
  A         dir/epsilon.py
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   434
  $ svn ci -qm 'Add dir/epsilon.py'
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   435
  $ cd ../..
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   436
  $ hg init rebaserepo
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   437
  $ cd rebaserepo
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   438
  $ svn co -r5 --quiet "$SVNREPOURL"/src s
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   439
  $ echo "s =        [svn]       $SVNREPOURL/src" >> .hgsub
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   440
  $ hg add .hgsub
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   441
  $ hg ci -m addsub
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   442
  $ echo a > a
23963
8f02682ff3b0 subrepo: don't abort in add when non-hg subrepos are present (issue4513)
Matt Harbison <matt_harbison@yahoo.com>
parents: 22947
diff changeset
   443
  $ hg add .
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   444
  adding a
23963
8f02682ff3b0 subrepo: don't abort in add when non-hg subrepos are present (issue4513)
Matt Harbison <matt_harbison@yahoo.com>
parents: 22947
diff changeset
   445
  $ hg ci -m adda
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   446
  $ hg up 0
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   447
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   448
  $ svn up -qr6 s
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   449
  $ hg ci -m updatesub
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   450
  created new head
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   451
  $ echo pyc > s/dir/epsilon.pyc
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   452
  $ hg up 1
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   453
  D    *s/dir (glob)
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   454
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   455
  Fetching external item into '*s/externals'* (glob)
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   456
  Checked out external at revision 1.
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   457
  
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   458
  Checked out revision 5.
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   459
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
16898
bb91c602d4ad tests: change odd uses of 'if hghave' to #if
Mads Kiilerich <mads@kiilerich.com>
parents: 16554
diff changeset
   460
  $ hg up -q 2
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   461
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   462
Modify one of the externals to point to a different path so we can
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   463
test having obstructions when switching branches on checkout:
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   464
  $ hg checkout tip
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   465
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   466
  $ echo "obstruct =        [svn]       $SVNREPOURL/externals" >> .hgsub
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   467
  $ svn co -r5 --quiet "$SVNREPOURL"/externals obstruct
15372
695ac6aca77f check-code: fix issues with finding patterns in unified tests, fix tests
Matt Mackall <mpm@selenic.com>
parents: 15346
diff changeset
   468
  $ hg commit -m 'Start making obstructed working copy'
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   469
  $ hg book other
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   470
  $ hg co -r 'p1(tip)'
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   471
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
21404
ca275f7ec576 update: when deactivating a bookmark, print a message
Siddharth Agarwal <sid0@fb.com>
parents: 21024
diff changeset
   472
  (leaving bookmark other)
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   473
  $ echo "obstruct =        [svn]       $SVNREPOURL/src" >> .hgsub
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   474
  $ svn co -r5 --quiet "$SVNREPOURL"/src obstruct
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   475
  $ hg commit -m 'Other branch which will be obstructed'
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   476
  created new head
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   477
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   478
Switching back to the head where we have another path mapped to the
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   479
same subrepo should work if the subrepo is clean.
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   480
  $ hg co other
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   481
  A    *obstruct/other (glob)
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   482
  Checked out revision 1.
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   483
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
21503
10f15e34d86c update: show message when a bookmark is activated by update
Stephen Lee <sphen.lee@gmail.com>
parents: 21404
diff changeset
   484
  (activating bookmark other)
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   485
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   486
This is surprising, but is also correct based on the current code:
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   487
  $ echo "updating should (maybe) fail" > obstruct/other
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   488
  $ hg co tip
19799
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 18364
diff changeset
   489
  abort: uncommitted changes
ab3e42225dbc update: add error message for dirty non-linear update with no rev
Siddharth Agarwal <sid0@fb.com>
parents: 18364
diff changeset
   490
  (commit or update --clean to discard changes)
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   491
  [255]
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   492
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   493
Point to a Subversion branch which has since been deleted and recreated
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   494
First, create that condition in the repository.
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   495
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   496
  $ hg ci --subrepos -m cleanup | filter_svn_output
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   497
  committing subrepository obstruct
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   498
  Sending        obstruct/other
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   499
  Committed revision 7.
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   500
  At revision 7.
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   501
  $ svn mkdir -qm "baseline" $SVNREPOURL/trunk
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   502
  $ svn copy -qm "initial branch" $SVNREPOURL/trunk $SVNREPOURL/branch
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   503
  $ svn co --quiet "$SVNREPOURL"/branch tempwc
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   504
  $ cd tempwc
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   505
  $ echo "something old" > somethingold
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   506
  $ svn add somethingold
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   507
  A         somethingold
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   508
  $ svn ci -qm 'Something old'
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   509
  $ svn rm -qm "remove branch" $SVNREPOURL/branch
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   510
  $ svn copy -qm "recreate branch" $SVNREPOURL/trunk $SVNREPOURL/branch
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   511
  $ svn up -q
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   512
  $ echo "something new" > somethingnew
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   513
  $ svn add somethingnew
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   514
  A         somethingnew
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   515
  $ svn ci -qm 'Something new'
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   516
  $ cd ..
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   517
  $ rm -rf tempwc
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   518
  $ svn co "$SVNREPOURL/branch"@10 recreated
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   519
  A    recreated/somethingold
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   520
  Checked out revision 10.
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   521
  $ echo "recreated =        [svn]       $SVNREPOURL/branch" >> .hgsub
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   522
  $ hg ci -m addsub
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   523
  $ cd recreated
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   524
  $ svn up -q
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   525
  $ cd ..
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   526
  $ hg ci -m updatesub
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   527
  $ hg up -r-2
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   528
  D    *recreated/somethingnew (glob)
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   529
  A    *recreated/somethingold (glob)
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   530
  Checked out revision 10.
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   531
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21404
ca275f7ec576 update: when deactivating a bookmark, print a message
Siddharth Agarwal <sid0@fb.com>
parents: 21024
diff changeset
   532
  (leaving bookmark other)
15282
d4addef0ec74 tests: don't use 'test -e'
Mads Kiilerich <mads@kiilerich.com>
parents: 14820
diff changeset
   533
  $ test -f recreated/somethingold
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   534
16450
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   535
Test archive
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   536
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   537
  $ hg archive -S ../archive-all --debug --config progress.debug=true
16450
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   538
  archiving: 0/2 files (0.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   539
  archiving: .hgsub 1/2 files (50.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   540
  archiving: .hgsubstate 2/2 files (100.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   541
  archiving (obstruct): 0/1 files (0.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   542
  archiving (obstruct): 1/1 files (100.00%)
18364
6252b4f1c4b4 subrepos: process subrepos in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18109
diff changeset
   543
  archiving (recreated): 0/1 files (0.00%)
6252b4f1c4b4 subrepos: process subrepos in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18109
diff changeset
   544
  archiving (recreated): 1/1 files (100.00%)
16450
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   545
  archiving (s): 0/2 files (0.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   546
  archiving (s): 1/2 files (50.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   547
  archiving (s): 2/2 files (100.00%)
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   548
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   549
  $ hg archive -S ../archive-exclude --debug --config progress.debug=true -X **old
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   550
  archiving: 0/2 files (0.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   551
  archiving: .hgsub 1/2 files (50.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   552
  archiving: .hgsubstate 2/2 files (100.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   553
  archiving (obstruct): 0/1 files (0.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   554
  archiving (obstruct): 1/1 files (100.00%)
18364
6252b4f1c4b4 subrepos: process subrepos in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18109
diff changeset
   555
  archiving (recreated): 0 files
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   556
  archiving (s): 0/2 files (0.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   557
  archiving (s): 1/2 files (50.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   558
  archiving (s): 2/2 files (100.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   559
  $ find ../archive-exclude | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   560
  ../archive-exclude
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   561
  ../archive-exclude/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   562
  ../archive-exclude/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   563
  ../archive-exclude/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   564
  ../archive-exclude/obstruct
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   565
  ../archive-exclude/obstruct/other
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   566
  ../archive-exclude/s
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   567
  ../archive-exclude/s/alpha
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   568
  ../archive-exclude/s/dir
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   569
  ../archive-exclude/s/dir/epsilon.py
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   570
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   571
Test forgetting files, not implemented in svn subrepo, used to
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   572
traceback
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   573
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   574
  $ hg forget 'notafile*'
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 34989
diff changeset
   575
  notafile*: $ENOENT$
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   576
  [1]
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   577
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   578
Test a subrepo referencing a just moved svn path. Last commit rev will
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   579
be different from the revision, and the path will be different as
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   580
well.
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   581
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   582
  $ cd "$WCROOT"
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   583
  $ svn up > /dev/null
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   584
  $ mkdir trunk/subdir branches
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   585
  $ echo a > trunk/subdir/a
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   586
  $ svn add trunk/subdir branches
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   587
  A         trunk/subdir
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   588
  A         trunk/subdir/a
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   589
  A         branches
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   590
  $ svn ci -qm addsubdir
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   591
  $ svn cp -qm branchtrunk $SVNREPOURL/trunk $SVNREPOURL/branches/somebranch
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   592
  $ cd ..
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   593
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   594
  $ hg init repo2
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   595
  $ cd repo2
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   596
  $ svn co $SVNREPOURL/branches/somebranch/subdir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   597
  A    subdir/a
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   598
  Checked out revision 15.
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   599
  $ echo "subdir = [svn] $SVNREPOURL/branches/somebranch/subdir" > .hgsub
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   600
  $ hg add .hgsub
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   601
  $ hg ci -m addsub
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   602
  $ hg up null
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   603
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   604
  $ hg up
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   605
  A    *subdir/a (glob)
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   606
  Checked out revision 15.
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   607
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   608
  $ cd ..
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   609
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   610
Test sanitizing ".hg/hgrc" in subrepo
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   611
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   612
  $ cd sub/t
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   613
  $ hg update -q -C tip
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   614
  $ cd s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   615
  $ mkdir .hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   616
  $ echo '.hg/hgrc in svn repo' > .hg/hgrc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   617
  $ mkdir -p sub/.hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   618
  $ echo 'sub/.hg/hgrc in svn repo' > sub/.hg/hgrc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   619
  $ svn add .hg sub
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   620
  A         .hg
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   621
  A         .hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   622
  A         sub
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   623
  A         sub/.hg
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   624
  A         sub/.hg/hgrc
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   625
  $ svn ci -qm 'add .hg/hgrc to be sanitized at hg update'
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   626
  $ svn up -q
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   627
  $ cd ..
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   628
  $ hg commit -S -m 'commit with svn revision including .hg/hgrc'
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   629
  $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   630
  16 s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   631
  $ cd ..
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   632
21566
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
   633
  $ hg -R tc pull -u -q 2>&1 | sort
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   634
  warning: removing potentially hostile 'hgrc' in '$TESTTMP/sub/tc/s/.hg'
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   635
  warning: removing potentially hostile 'hgrc' in '$TESTTMP/sub/tc/s/sub/.hg'
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   636
  $ cd tc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   637
  $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   638
  16 s
21930
a5168eb9b2bc tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21585
diff changeset
   639
  $ test -f s/.hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   640
  [1]
21930
a5168eb9b2bc tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21585
diff changeset
   641
  $ test -f s/sub/.hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   642
  [1]
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   643
21567
5900bc09e684 subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21566
diff changeset
   644
Test that sanitizing is omitted in meta data area:
5900bc09e684 subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21566
diff changeset
   645
5900bc09e684 subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21566
diff changeset
   646
  $ mkdir s/.svn/.hg
5900bc09e684 subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21566
diff changeset
   647
  $ echo '.hg/hgrc in svn metadata area' > s/.svn/.hg/hgrc
5900bc09e684 subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21566
diff changeset
   648
  $ hg update -q -C '.^1'
5900bc09e684 subrepo: avoid sanitizing ".hg/hgrc" in meta data area for non-hg subrepos
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21566
diff changeset
   649
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   650
  $ cd ../..
33657
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   651
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   652
SEC: test for ssh exploit
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   653
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   654
  $ hg init ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   655
  $ cd ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   656
  $ echo "s = [svn]$SVNREPOURL/src" >> .hgsub
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   657
  $ svn co --quiet "$SVNREPOURL"/src s
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   658
  $ hg add .hgsub
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   659
  $ hg ci -m1
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   660
  $ echo "s = [svn]svn+ssh://-oProxyCommand=touch%20owned%20nested" > .hgsub
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   661
  $ hg ci -m2
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   662
  $ cd ..
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   663
  $ hg clone ssh-vuln ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   664
  updating to branch default
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   665
  abort: potentially unsafe url: 'svn+ssh://-oProxyCommand=touch owned nested' (in subrepository "s")
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   666
  [255]
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   667
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   668
also check that a percent encoded '-' (%2D) doesn't work
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   669
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   670
  $ cd ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   671
  $ echo "s = [svn]svn+ssh://%2DoProxyCommand=touch%20owned%20nested" > .hgsub
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   672
  $ hg ci -m3
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   673
  $ cd ..
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   674
  $ rm -r ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   675
  $ hg clone ssh-vuln ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   676
  updating to branch default
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   677
  abort: potentially unsafe url: 'svn+ssh://-oProxyCommand=touch owned nested' (in subrepository "s")
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   678
  [255]
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   679
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   680
also check that hiding the attack in the username doesn't work:
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   681
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   682
  $ cd ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   683
  $ echo "s = [svn]svn+ssh://%2DoProxyCommand=touch%20owned%20foo@example.com/nested" > .hgsub
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   684
  $ hg ci -m3
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   685
  $ cd ..
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   686
  $ rm -r ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   687
  $ hg clone ssh-vuln ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   688
  updating to branch default
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   689
  abort: potentially unsafe url: 'svn+ssh://-oProxyCommand=touch owned foo@example.com/nested' (in subrepository "s")
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   690
  [255]