tests/test-subrepo-svn.t
author Durham Goode <durham@fb.com>
Tue, 26 Sep 2017 03:56:20 -0700
changeset 34337 c36c3fa7d35b
parent 33660 3fee7f7d2da0
child 34987 846942fd6d15
permissions -rw-r--r--
dirstate: move opendirstatefile to dirstatemap As part of moving the dirstate storage logic to another class, let's move opendirstatefile to dirstatemap. This will allow extensions to replace the pending abstraction. Future patches will move the consumers of _opendirstatefile into dirstatemap as well. Differential Revision: https://phab.mercurial-scm.org/D757
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
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
    25
  A         src/alpha (glob)
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
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
    30
  A         externals/other (glob)
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
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    60
  $ hg ci -m1
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    61
12798
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    62
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
    63
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    64
  $ hg sum
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    65
  parent: 1:* tip (glob)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    66
   1
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    67
  branch: default
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    68
  commit: (clean)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    69
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25125
diff changeset
    70
  phases: 2 draft
12798
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    71
  $ hg ci -moops
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    72
  nothing changed
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    73
  [1]
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    74
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    75
debugsub
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    76
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
    77
  $ hg debugsub
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    78
  path s
12668
89e35377dbe8 test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
    79
   source   file://*/svn-repo/src (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    80
   revision 2
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
    81
  path subdir/s
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
    82
   source   file://*/svn-repo/src (glob)
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
    83
   revision 2
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    84
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    85
change file in svn and hg, commit
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
    86
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    87
  $ echo a >> a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    88
  $ echo alpha >> s/alpha
12798
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    89
  $ hg sum
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    90
  parent: 1:* tip (glob)
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    91
   1
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    92
  branch: default
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    93
  commit: 1 modified, 1 subrepos
3d6ba8c2b1b8 subrepo: fix status check on SVN subrepos (issue2445)
Matt Mackall <mpm@selenic.com>
parents: 12668
diff changeset
    94
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25125
diff changeset
    95
  phases: 2 draft
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
    96
  $ hg commit --subrepos -m 'Message!' | filter_svn_output
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    97
  committing subrepository s
12377
a5b77eb0409b tests: various fixes for new unified test pattern format
Matt Mackall <mpm@selenic.com>
parents: 12376
diff changeset
    98
  Sending*s/alpha (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
    99
  Committed revision 3.
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   100
  Fetching external item into '*s/externals'* (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   101
  External at revision 1.
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   102
  At revision 3.
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
   103
  $ hg debugsub
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   104
  path s
12668
89e35377dbe8 test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
   105
   source   file://*/svn-repo/src (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   106
   revision 3
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   107
  path subdir/s
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   108
   source   file://*/svn-repo/src (glob)
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   109
   revision 2
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   110
16529
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   111
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
   112
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   113
  $ rm s/alpha
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   114
  $ 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
   115
  committing subrepository s
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 30060
diff changeset
   116
  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
   117
  [255]
3d5d204a08c7 subrepo/svn: abort on commit with missing file (issue3029)
Patrick Mezard <patrick@mezard.eu>
parents: 16527
diff changeset
   118
  $ 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
   119
13287
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   120
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
   121
bringing any changes.
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   122
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   123
  $ 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
   124
  $ svn up -q s
13287
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   125
  $ hg sum
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   126
  parent: 2:* tip (glob)
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   127
   Message!
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   128
  branch: default
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   129
  commit: (clean)
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   130
  update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25125
diff changeset
   131
  phases: 3 draft
13287
d0e0d3d43e14 subrepo: compare svn subrepo state to last committed revision
Patrick Mezard <pmezard@gmail.com>
parents: 13015
diff changeset
   132
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   133
  $ echo a > s/a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   134
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   135
should be empty despite change to s/a
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   136
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   137
  $ hg st
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   138
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   139
add a commit from svn
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   140
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   141
  $ cd "$WCROOT/src"
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   142
  $ svn up -q
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   143
  $ echo xyz >> alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   144
  $ svn propset svn:mime-type 'text/xml' alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   145
  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
   146
  $ svn ci -qm 'amend a from svn'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   147
  $ cd ../../sub/t
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   148
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   149
this commit from hg will fail
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   150
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   151
  $ 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
   152
  $ (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
   153
  committing subrepository s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   154
  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
   155
  [255]
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   156
  $ svn revert -q s/alpha
10273
e898bc7810ad subrepo: handle svn externals and meta changes (issue1982)
Patrick Mezard <pmezard@gmail.com>
parents: 10267
diff changeset
   157
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   158
this commit fails because of meta changes
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   159
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   160
  $ svn propset svn:mime-type 'text/html' s/alpha
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   161
  property 'svn:mime-type' set on 's/alpha' (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   162
  $ (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
   163
  committing subrepository s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   164
  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
   165
  [255]
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   166
  $ svn revert -q s/alpha
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   167
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   168
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
   169
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   170
  $ 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
   171
  $ hg ci --subrepos -m 'amend externals from hg'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   172
  committing subrepository s
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 30060
diff changeset
   173
  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
   174
  [255]
12209
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   175
  $ 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
   176
  --- 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
   177
  +++ 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
   178
  @@ -1,2 +1,2 @@
12209
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   179
  -2 s
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   180
  +3 s
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   181
   2 subdir/s
12209
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   182
  --- 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
   183
  +++ 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
   184
  @@ -1,1 +1,2 @@
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   185
   a
affec9fb56ef subrepos: handle diff nodeids in subrepos, not before
Patrick Mezard <pmezard@gmail.com>
parents: 11916
diff changeset
   186
  +a
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   187
  $ 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
   188
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   189
this commit fails because of externals meta changes
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   190
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   191
  $ svn propset svn:mime-type 'text/html' s/externals/other
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   192
  property 'svn:mime-type' set on 's/externals/other' (glob)
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 15282
diff changeset
   193
  $ hg ci --subrepos -m 'amend externals from hg'
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   194
  committing subrepository s
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 30060
diff changeset
   195
  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
   196
  [255]
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   197
  $ 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
   198
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   199
clone
10178
cd477be6f2fc subrepo: Subversion support
Augie Fackler <durin42@gmail.com>
parents:
diff changeset
   200
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   201
  $ cd ..
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   202
  $ hg clone t tc
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   203
  updating to branch default
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   204
  A    tc/s/alpha (glob)
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   205
   U   tc/s (glob)
13907
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   206
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   207
  Fetching external item into 'tc/s/externals'* (glob)
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   208
  A    tc/s/externals/other (glob)
13907
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   209
  Checked out external at revision 1.
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   210
  
a0ed0d0dd713 subrepo: fix up svn test output
Matt Mackall <mpm@selenic.com>
parents: 13559
diff changeset
   211
  Checked out revision 3.
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   212
  A    tc/subdir/s/alpha (glob)
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   213
   U   tc/subdir/s (glob)
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   214
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   215
  Fetching external item into 'tc/subdir/s/externals'* (glob)
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   216
  A    tc/subdir/s/externals/other (glob)
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   217
  Checked out external at revision 1.
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   218
  
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   219
  Checked out revision 2.
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   220
  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
   221
  $ cd tc
10954
33119d0252c1 subrepo: fix repo root path handling in svn subrepo
Brett Cannon <brett@python.org>
parents: 10791
diff changeset
   222
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   223
debugsub in clone
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   224
12366
c01dc9087d9a tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents: 12365
diff changeset
   225
  $ hg debugsub
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   226
  path s
12668
89e35377dbe8 test-subrepo-svn.t: ignore that subversion %-encodes $TESTTMP
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
   227
   source   file://*/svn-repo/src (glob)
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   228
   revision 3
13015
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   229
  path subdir/s
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   230
   source   file://*/svn-repo/src (glob)
82ca0c43bc44 subrepo: prune empty directories when removing svn subrepo
Patrick Mezard <pmezard@gmail.com>
parents: 12930
diff changeset
   231
   revision 2
11916
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   232
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   233
verify subrepo is contained within the repo directory
d1ea16ca6520 tests: unify test-subrepo-svn
Martin Geisler <mg@lazybytes.net>
parents: 11142
diff changeset
   234
22947
c63a09b6b337 tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents: 22590
diff changeset
   235
  $ $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
   236
  True
12930
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   237
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   238
update to nullrev (must delete the subrepo)
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   239
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   240
  $ hg up null
9bb180abc4d0 subrepo: test & fix svn subrepo removal
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents: 12798
diff changeset
   241
  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
   242
  $ ls
13322
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   243
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   244
Check hg update --clean
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   245
  $ 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
   246
  $ cd s
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   247
  $ echo c0 > alpha
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   248
  $ echo c1 > f1
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   249
  $ echo c1 > f2
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   250
  $ 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
   251
  $ svn status | sort
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   252
  
13410
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   253
  ? *    a (glob)
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   254
  ? *    f2 (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   255
  A *    f1 (glob)
13410
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   256
  M *    alpha (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   257
  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
   258
  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
   259
  $ cd ../..
927e3940bfc3 subrepo: fix update -C with svn subrepos when cwd != repo.root
Patrick Mezard <pmezard@gmail.com>
parents: 13322
diff changeset
   260
  $ 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
   261
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   262
  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
   263
  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
   264
  
c19b9282d3a7 subrepo: make update -C clean the working directory for svn subrepos
Erik Zielke <ez@aragost.com>
parents: 13287
diff changeset
   265
  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
   266
  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
   267
  $ cd t/s
16526
f2cc0ffb09de test-subrepo-svn: fix non-determinism
Patrick Mezard <patrick@mezard.eu>
parents: 16451
diff changeset
   268
  $ svn status | sort
f2cc0ffb09de test-subrepo-svn: fix non-determinism
Patrick Mezard <patrick@mezard.eu>
parents: 16451
diff changeset
   269
  
13410
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   270
  ? *    a (glob)
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   271
  ? *    f1 (glob)
1f2b2c33d386 tests: fixes for svn 1.4.2
Matt Mackall <mpm@selenic.com>
parents: 13332
diff changeset
   272
  ? *    f2 (glob)
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   273
  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
   274
  X *    externals (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   275
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   276
Sticky subrepositories, no changes
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   277
  $ cd "$TESTTMP/sub/t"
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   278
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   279
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   280
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   281
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   282
  3
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   283
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   284
  $ hg update 1
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   285
  U    *s/alpha (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   286
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   287
  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
   288
  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
   289
  
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   290
  Checked out revision 2.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   291
  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
   292
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   293
  1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   294
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   295
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   296
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   297
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   298
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
   299
Sticky subrepositories, file changes
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   300
  $ touch s/f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   301
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   302
  $ svn add f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   303
  A         f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   304
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   305
  $ hg id -n
17255
3e856d8abe9c identity: show trailing '+' for dirty subrepos (issue2839)
Patrick Mezard <patrick@mezard.eu>
parents: 17108
diff changeset
   306
  1+
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   307
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   308
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   309
  2M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   310
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   311
  $ 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
   312
   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
   313
  (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
   314
   subrepository sources for s differ
22590
d4c972b97fee subrepo: remove superfluous newline from subrepo prompt
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   315
  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
   316
  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
   317
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   318
  2+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   319
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   320
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   321
  2M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   322
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   323
  $ 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
   324
  U    *s/alpha (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   325
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   326
  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
   327
  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
   328
  
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   329
  Checked out revision 3.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   330
  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
   331
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   332
Sticky subrepository, revision updates
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   333
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   334
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   335
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   336
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   337
  3
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   338
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   339
  $ cd s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   340
  $ svn update -qr 1
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   341
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   342
  $ 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
   343
   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
   344
  (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
   345
   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
   346
  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
   347
  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
   348
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   349
  1+
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
  1
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
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   355
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
   356
  $ touch s/f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   357
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   358
  $ svn add f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   359
  A         f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   360
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   361
  1M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   362
  $ cd ..
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
  $ 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
   366
   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
   367
  (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
   368
   subrepository sources for s differ
22590
d4c972b97fee subrepo: remove superfluous newline from subrepo prompt
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
   369
  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
   370
  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
   371
  $ hg id -n
17255
3e856d8abe9c identity: show trailing '+' for dirty subrepos (issue2839)
Patrick Mezard <patrick@mezard.eu>
parents: 17108
diff changeset
   372
  2+
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   373
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   374
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   375
  1M
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   376
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   377
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   378
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
   379
  $ 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
   380
  U    *s/alpha (glob)
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   381
   U   *s (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   382
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   383
  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
   384
  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
   385
  
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   386
  Checked out revision 3.
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   387
  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
   388
  $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   389
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   390
  $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   391
  $ svnversion
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   392
  3
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   393
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   394
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   395
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
   396
  $ cd s
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   397
  $ svn update -qr 2
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   398
  $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   399
  $ 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
   400
   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
   401
  (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
   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
  1+
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
  2
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13410
diff changeset
   408
  $ cd ..
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   409
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   410
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
   411
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
   412
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   413
  $ cd "$WCROOT/src"
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   414
  $ mkdir dir
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   415
  $ echo epsilon.py > dir/epsilon.py
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   416
  $ svn add dir
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   417
  A         dir
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   418
  A         dir/epsilon.py (glob)
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   419
  $ 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
   420
  $ cd ../..
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   421
  $ hg init rebaserepo
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   422
  $ cd rebaserepo
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   423
  $ svn co -r5 --quiet "$SVNREPOURL"/src s
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   424
  $ echo "s =        [svn]       $SVNREPOURL/src" >> .hgsub
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   425
  $ hg add .hgsub
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   426
  $ hg ci -m addsub
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   427
  $ 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
   428
  $ hg add .
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   429
  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
   430
  $ hg ci -m adda
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   431
  $ hg up 0
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   432
  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
   433
  $ svn up -qr6 s
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   434
  $ hg ci -m updatesub
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   435
  created new head
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   436
  $ echo pyc > s/dir/epsilon.pyc
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   437
  $ hg up 1
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   438
  D    *s/dir (glob)
14050
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   439
  
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   440
  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
   441
  Checked out external at revision 1.
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   442
  
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   443
  Checked out revision 5.
9e8a9d45945c subrepo: handle svn tracked/unknown directory collisions
Patrick Mezard <pmezard@gmail.com>
parents: 13559
diff changeset
   444
  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
   445
  $ hg up -q 2
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   446
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   447
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
   448
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
   449
  $ hg checkout tip
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   450
  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
   451
  $ echo "obstruct =        [svn]       $SVNREPOURL/externals" >> .hgsub
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   452
  $ 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
   453
  $ 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
   454
  $ hg book other
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   455
  $ hg co -r 'p1(tip)'
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   456
  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
   457
  (leaving bookmark other)
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   458
  $ echo "obstruct =        [svn]       $SVNREPOURL/src" >> .hgsub
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   459
  $ 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
   460
  $ 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
   461
  created new head
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   462
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   463
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
   464
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
   465
  $ hg co other
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   466
  A    *obstruct/other (glob)
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   467
  Checked out revision 1.
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   468
  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
   469
  (activating bookmark other)
14664
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   470
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   471
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
   472
  $ echo "updating should (maybe) fail" > obstruct/other
0ae98cd2a83f svn subrepos: work around checkout obstructions (issue2752)
Augie Fackler <durin42@gmail.com>
parents: 14052
diff changeset
   473
  $ 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
   474
  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
   475
  (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
   476
  [255]
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   477
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   478
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
   479
First, create that condition in the repository.
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   480
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   481
  $ 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
   482
  committing subrepository obstruct
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   483
  Sending        obstruct/other (glob)
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   484
  Committed revision 7.
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   485
  At revision 7.
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   486
  $ svn mkdir -qm "baseline" $SVNREPOURL/trunk
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   487
  $ 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
   488
  $ svn co --quiet "$SVNREPOURL"/branch tempwc
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   489
  $ cd tempwc
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   490
  $ echo "something old" > somethingold
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   491
  $ svn add somethingold
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   492
  A         somethingold
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   493
  $ svn ci -qm 'Something old'
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   494
  $ svn rm -qm "remove branch" $SVNREPOURL/branch
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   495
  $ 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
   496
  $ svn up -q
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   497
  $ echo "something new" > somethingnew
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   498
  $ svn add somethingnew
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   499
  A         somethingnew
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   500
  $ svn ci -qm 'Something new'
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   501
  $ cd ..
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   502
  $ rm -rf tempwc
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   503
  $ svn co "$SVNREPOURL/branch"@10 recreated
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   504
  A    recreated/somethingold (glob)
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   505
  Checked out revision 10.
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   506
  $ echo "recreated =        [svn]       $SVNREPOURL/branch" >> .hgsub
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   507
  $ hg ci -m addsub
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   508
  $ cd recreated
15607
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   509
  $ svn up -q
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   510
  $ cd ..
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   511
  $ hg ci -m updatesub
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   512
  $ 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
   513
  D    *recreated/somethingnew (glob)
fab28a577a38 test-svn-subrepo: fix reference output for svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15372
diff changeset
   514
  A    *recreated/somethingold (glob)
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   515
  Checked out revision 10.
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   516
  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
   517
  (leaving bookmark other)
15282
d4addef0ec74 tests: don't use 'test -e'
Mads Kiilerich <mads@kiilerich.com>
parents: 14820
diff changeset
   518
  $ test -f recreated/somethingold
14820
7ef125fa9b35 subrepo: correct revision in svn checkout
Eli Carter <eli.carter@tektronix.com>
parents: 14664
diff changeset
   519
16450
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   520
Test archive
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   521
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   522
  $ 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
   523
  archiving: 0/2 files (0.00%)
c9c8c9053119 archive: make it work with svn subrepos (issue3308)
Patrick Mezard <patrick@mezard.eu>
parents: 15607
diff changeset
   524
  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
   525
  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
   526
  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
   527
  archiving (obstruct): 1/1 files (100.00%)
18364
6252b4f1c4b4 subrepos: process subrepos in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18109
diff changeset
   528
  archiving (recreated): 0/1 files (0.00%)
6252b4f1c4b4 subrepos: process subrepos in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18109
diff changeset
   529
  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
   530
  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
   531
  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
   532
  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
   533
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25111
diff changeset
   534
  $ 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
   535
  archiving: 0/2 files (0.00%)
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   536
  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
   537
  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
   538
  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
   539
  archiving (obstruct): 1/1 files (100.00%)
18364
6252b4f1c4b4 subrepos: process subrepos in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents: 18109
diff changeset
   540
  archiving (recreated): 0 files
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   541
  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
   542
  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
   543
  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
   544
  $ find ../archive-exclude | sort
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   545
  ../archive-exclude
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   546
  ../archive-exclude/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   547
  ../archive-exclude/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   548
  ../archive-exclude/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   549
  ../archive-exclude/obstruct
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   550
  ../archive-exclude/obstruct/other
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   551
  ../archive-exclude/s
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   552
  ../archive-exclude/s/alpha
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   553
  ../archive-exclude/s/dir
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   554
  ../archive-exclude/s/dir/epsilon.py
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17033
diff changeset
   555
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   556
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
   557
traceback
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   558
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   559
#if no-windows
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   560
  $ hg forget 'notafile*'
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   561
  notafile*: No such file or directory
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16526
diff changeset
   562
  [1]
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   563
#else
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   564
  $ hg forget 'notafile'
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   565
  notafile: * (glob)
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   566
  [1]
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   567
#endif
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   568
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   569
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
   570
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
   571
well.
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   572
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   573
  $ cd "$WCROOT"
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   574
  $ svn up > /dev/null
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   575
  $ mkdir trunk/subdir branches
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   576
  $ echo a > trunk/subdir/a
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   577
  $ svn add trunk/subdir branches
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   578
  A         trunk/subdir (glob)
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   579
  A         trunk/subdir/a (glob)
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   580
  A         branches
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   581
  $ svn ci -qm addsubdir
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   582
  $ 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
   583
  $ cd ..
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   584
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   585
  $ hg init repo2
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   586
  $ cd repo2
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   587
  $ svn co $SVNREPOURL/branches/somebranch/subdir
17032
7dd82e0c43ea test-subrepo-svn.t: partially adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16898
diff changeset
   588
  A    subdir/a (glob)
16554
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   589
  Checked out revision 15.
17033
0413f68da85c tests: cleanup of svn url handling
Mads Kiilerich <mads@kiilerich.com>
parents: 17032
diff changeset
   590
  $ 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
   591
  $ hg add .hgsub
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   592
  $ hg ci -m addsub
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   593
  $ hg up null
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   594
  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
   595
  $ hg up
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   596
  A    *subdir/a (glob)
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   597
  Checked out revision 15.
ae2664ee0223 subrepo/svn: fix checked out rev number retrieval (issue2968)
Patrick Mezard <patrick@mezard.eu>
parents: 16530
diff changeset
   598
  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
   599
  $ cd ..
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   600
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   601
Test sanitizing ".hg/hgrc" in subrepo
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   602
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   603
  $ cd sub/t
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   604
  $ hg update -q -C tip
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   605
  $ cd s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   606
  $ mkdir .hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   607
  $ echo '.hg/hgrc in svn repo' > .hg/hgrc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   608
  $ mkdir -p sub/.hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   609
  $ 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
   610
  $ svn add .hg sub
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   611
  A         .hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   612
  A         .hg/hgrc (glob)
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   613
  A         sub
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   614
  A         sub/.hg (glob)
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   615
  A         sub/.hg/hgrc (glob)
26374
048e41e9a6ac tests: suppress verbose output of svn transaction
Yuya Nishihara <yuya@tcha.org>
parents: 25382
diff changeset
   616
  $ 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
   617
  $ svn up -q
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   618
  $ cd ..
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   619
  $ 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
   620
  $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   621
  16 s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   622
  $ cd ..
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   623
21566
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
   624
  $ hg -R tc pull -u -q 2>&1 | sort
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
   625
  warning: removing potentially hostile 'hgrc' in '$TESTTMP/sub/tc/s/.hg' (glob)
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
   626
  warning: removing potentially hostile 'hgrc' in '$TESTTMP/sub/tc/s/sub/.hg' (glob)
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   627
  $ cd tc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   628
  $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   629
  16 s
21930
a5168eb9b2bc tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21585
diff changeset
   630
  $ test -f s/.hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   631
  [1]
21930
a5168eb9b2bc tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21585
diff changeset
   632
  $ test -f s/sub/.hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   633
  [1]
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   634
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
   635
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
   636
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
   637
  $ 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
   638
  $ 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
   639
  $ 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
   640
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
   641
  $ cd ../..
33657
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   642
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   643
SEC: test for ssh exploit
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   644
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   645
  $ hg init ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   646
  $ cd ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   647
  $ 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
   648
  $ 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
   649
  $ hg add .hgsub
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   650
  $ hg ci -m1
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   651
  $ 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
   652
  $ hg ci -m2
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   653
  $ cd ..
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   654
  $ 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
   655
  updating to branch default
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   656
  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
   657
  [255]
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   658
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   659
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
   660
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   661
  $ cd ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   662
  $ 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
   663
  $ hg ci -m3
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   664
  $ cd ..
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   665
  $ rm -r ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   666
  $ 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
   667
  updating to branch default
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   668
  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
   669
  [255]
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   670
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   671
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
   672
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   673
  $ cd ssh-vuln
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   674
  $ 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
   675
  $ hg ci -m3
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   676
  $ cd ..
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   677
  $ rm -r ssh-vuln-clone
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   678
  $ 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
   679
  updating to branch default
60ee7af2a2ba subrepo: add tests for svn rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
   680
  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
   681
  [255]