annotate tests/test-subrepo-git.t @ 44015:7ca8aa8840c0 stable

subrepo: fix a crash when archiving an svn or git subrepo Only hgsubrepos have a repository attribute. This is pretty hacky, but probably the best we can do on stable. Pushing the lfstatus check down into the wrapper for hgsubrepo (and dropping the check for lfstatus at the top of `hgsubrepoarchive()`) resulted in various test failures because: 1) hgsubrepoarchive isn't returning the number of files archived at the bottom, resulting in an error about += NoneType 2) These copypasta archive wrappers don't use progress bars 3) Largefiles are *not* currently archived when using extdiff (68822b7cdd01), but pushing this context manager down into the subrepo resulted in it apparently doing so (as evidenced by progress bars being dropped) The other uses of `lfstatus()` are not in the substate processing loop, so they shouldn't be an issue. I initially put testcases in this test for largefiles-{on,off}, and it flagged a bunch of exit code differences for `cat` and `diff`, so I backed that off. Differential Revision: https://phab.mercurial-scm.org/D7714
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 24 Dec 2019 01:38:02 -0500
parents f6540aba8e3e
children 88dfe1c279bb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21751
diff changeset
1 #require git
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
2
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
3 make git commits repeatable
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
4
32413
d6be5b5cc325 test: prepare tests for removing date aliases
Boris Feld <boris.feld@octobus.net>
parents: 30062
diff changeset
5 $ cat >> $HGRCPATH <<EOF
d6be5b5cc325 test: prepare tests for removing date aliases
Boris Feld <boris.feld@octobus.net>
parents: 30062
diff changeset
6 > [defaults]
d6be5b5cc325 test: prepare tests for removing date aliases
Boris Feld <boris.feld@octobus.net>
parents: 30062
diff changeset
7 > commit = -d "0 0"
d6be5b5cc325 test: prepare tests for removing date aliases
Boris Feld <boris.feld@octobus.net>
parents: 30062
diff changeset
8 > EOF
d6be5b5cc325 test: prepare tests for removing date aliases
Boris Feld <boris.feld@octobus.net>
parents: 30062
diff changeset
9
17022
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
10 $ echo "[core]" >> $HOME/.gitconfig
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
11 $ echo "autocrlf = false" >> $HOME/.gitconfig
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
12 $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
13 $ GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
14 $ GIT_AUTHOR_DATE='1234567891 +0000'; export GIT_AUTHOR_DATE
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
15 $ GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
16 $ GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
17 $ GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
23693
9a02f7517939 test-subrepo-git: ignore global git config
Matt Mackall <mpm@selenic.com>
parents: 23678
diff changeset
18 $ GIT_CONFIG_NOSYSTEM=1; export GIT_CONFIG_NOSYSTEM
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
19
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
20 root hg repo
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
21
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
22 $ hg init t
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
23 $ cd t
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
24 $ echo a > a
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
25 $ hg add a
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
26 $ hg commit -m a
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
27 $ cd ..
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
28
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
29 new external git repo
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
30
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
31 $ mkdir gitroot
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
32 $ cd gitroot
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
33 $ git init -q
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
34 $ echo g > g
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
35 $ git add g
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
36 $ git commit -q -m g
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
37
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
38 add subrepo clone
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
39
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
40 $ cd ../t
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
41 $ echo 's = [git]../gitroot' > .hgsub
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
42 $ git clone -q ../gitroot s
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
43 $ hg add .hgsub
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
44
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
45 git subrepo is disabled by default
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
46
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
47 $ hg commit -m 'new git subrepo'
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
48 abort: git subrepos not allowed
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
49 (see 'hg help config.subrepos' for details)
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
50 [255]
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
51
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
52 so enable it
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
53
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
54 $ cat >> $HGRCPATH <<EOF
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
55 > [subrepos]
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
56 > git:allowed = true
34987
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
57 > EOF
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
58
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
59 $ hg commit -m 'new git subrepo'
846942fd6d15 subrepo: disable git and svn subrepos by default (BC) (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34986
diff changeset
60
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
61 $ hg debugsub
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
62 path s
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
63 source ../gitroot
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
64 revision da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
65
12995
d90fc91c8377 subrepo: update and merge works with any git branch
Eric Eisner <ede@mit.edu>
parents: 12994
diff changeset
66 record a new commit from upstream from a different branch
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
67
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
68 $ cd ../gitroot
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
69 $ git checkout -q -b testing
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
70 $ echo gg >> g
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
71 $ git commit -q -a -m gg
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
72
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
73 $ cd ../t/s
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
74 $ git pull -q >/dev/null 2>/dev/null
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
75 $ git checkout -q -b testing origin/testing >/dev/null
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
76
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
77 $ cd ..
13182
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
78 $ hg status --subrepos
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
79 M s/g
12992
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
80 $ hg commit -m 'update git subrepo'
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
81 $ hg debugsub
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
82 path s
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
83 source ../gitroot
2b73a3279a9f subrepo: support for adding a git subrepo
Eric Eisner <ede@mit.edu>
parents:
diff changeset
84 revision 126f2a14290cd5ce061fdedc430170e8d39e1c5a
12993
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
85
13092
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
86 make $GITROOT pushable, by replacing it with a clone with nothing checked out
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
87
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
88 $ cd ..
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
89 $ git clone gitroot gitrootbare --bare -q
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
90 $ rm -rf gitroot
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
91 $ mv gitrootbare gitroot
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
92
12993
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
93 clone root
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
94
13092
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
95 $ cd t
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
96 $ hg clone . ../tc 2> /dev/null
12993
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
97 updating to branch default
13525
c12088259f64 subrepo: show the source that git clones
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
98 cloning subrepo s from $TESTTMP/gitroot
12993
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
99 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
100 $ cd ../tc
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
101 $ hg debugsub
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
102 path s
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
103 source ../gitroot
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
104 revision 126f2a14290cd5ce061fdedc430170e8d39e1c5a
34985
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
105 $ cd ..
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
106
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
107 clone with subrepo disabled (update should fail)
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
108
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
109 $ hg clone t -U tc2 --config subrepos.allowed=false
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
110 $ hg update -R tc2 --config subrepos.allowed=false
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
111 abort: subrepos not enabled
34985
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
112 (see 'hg help config.subrepos' for details)
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
113 [255]
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
114 $ ls tc2
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
115 a
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
116
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
117 $ hg clone t tc3 --config subrepos.allowed=false
34985
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
118 updating to branch default
34989
1a314176da9c subrepo: use per-type config options to enable subrepos
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34987
diff changeset
119 abort: subrepos not enabled
34985
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
120 (see 'hg help config.subrepos' for details)
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
121 [255]
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
122 $ ls tc3
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
123 a
12993
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
124
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
125 update to previous substate
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
126
34985
5e27afeddaee subrepo: add config option to reject any subrepo operations (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34984
diff changeset
127 $ cd tc
13111
560b8001f765 subrepo: silence git output when ui.quiet is set
Eric Eisner <ede@mit.edu>
parents: 13092
diff changeset
128 $ hg update 1 -q
12993
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
129 $ cat s/g
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
130 g
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
131 $ hg debugsub
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
132 path s
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
133 source ../gitroot
a91334380699 subrepo: cloning and updating of git subrepos
Eric Eisner <ede@mit.edu>
parents: 12992
diff changeset
134 revision da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
135
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
136 clone root, make local change
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
137
13092
83986af605e5 test-subrepo-git.t: make gitroot pushable earlier
Eric Eisner <ede@mit.edu>
parents: 13091
diff changeset
138 $ cd ../t
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
139 $ hg clone . ../ta 2> /dev/null
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
140 updating to branch default
13525
c12088259f64 subrepo: show the source that git clones
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
141 cloning subrepo s from $TESTTMP/gitroot
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
142 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
143
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
144 $ cd ../ta
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
145 $ echo ggg >> s/g
13182
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
146 $ hg status --subrepos
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
147 M s/g
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
148 $ hg diff --subrepos
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
149 diff --git a/s/g b/s/g
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
150 index 089258f..85341ee 100644
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
151 --- a/s/g
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
152 +++ b/s/g
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
153 @@ -1,2 +1,3 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
154 g
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
155 gg
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
156 +ggg
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 14481
diff changeset
157 $ hg commit --subrepos -m ggg
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
158 committing subrepository s
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
159 $ hg debugsub
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
160 path s
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
161 source ../gitroot
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
162 revision 79695940086840c99328513acbe35f90fcd55e57
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
163
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
164 clone root separately, make different local change
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
165
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
166 $ cd ../t
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
167 $ hg clone . ../tb 2> /dev/null
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
168 updating to branch default
13525
c12088259f64 subrepo: show the source that git clones
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
169 cloning subrepo s from $TESTTMP/gitroot
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
170 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
171
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
172 $ cd ../tb/s
23411
2d86f4e38c08 subrepo: add status support for ignored files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 22590
diff changeset
173 $ hg status --subrepos
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
174 $ echo f > f
23411
2d86f4e38c08 subrepo: add status support for ignored files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 22590
diff changeset
175 $ hg status --subrepos
2d86f4e38c08 subrepo: add status support for ignored files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 22590
diff changeset
176 ? s/f
23963
8f02682ff3b0 subrepo: don't abort in add when non-hg subrepos are present (issue4513)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23938
diff changeset
177 $ hg add .
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
178 adding f
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
179 $ git add f
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
180 $ cd ..
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
181
13182
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
182 $ hg status --subrepos
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
183 A s/f
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 14481
diff changeset
184 $ hg commit --subrepos -m f
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
185 committing subrepository s
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
186 $ hg debugsub
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
187 path s
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
188 source ../gitroot
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
189 revision aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
190
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
191 user b push changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
192
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
193 $ hg push 2>/dev/null
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
194 pushing to $TESTTMP/t
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
195 pushing branch testing of subrepository "s"
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
196 searching for changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
197 adding changesets
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
198 adding manifests
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
199 adding file changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
200 added 1 changesets with 1 changes to 1 files
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
201
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
202 user a pulls, merges, commits
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
203
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
204 $ cd ../ta
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
205 $ hg pull
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
206 pulling from $TESTTMP/t
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
207 searching for changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
208 adding changesets
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
209 adding manifests
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
210 adding file changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
211 added 1 changesets with 1 changes to 1 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34146
diff changeset
212 new changesets 089416c11d73
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
213 (run 'hg heads' to see heads, 'hg merge' to merge)
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
214 $ hg merge 2>/dev/null
21401
2c364f7801c8 subrepo: use subrepo shortid method to generate subrepo diverged promptchoice
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21024
diff changeset
215 subrepository s diverged (local revision: 7969594, remote revision: aa84837)
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
216 you can (m)erge, keep (l)ocal [working copy] or keep (r)emote [merge rev].
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
217 what do you want to do? m
13569
3ab3b892d223 subrepo: show the source that git pulls
Eric Eisner <ede@mit.edu>
parents: 13560
diff changeset
218 pulling subrepo s from $TESTTMP/gitroot
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
219 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
220 (branch merge, don't forget to commit)
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
221 $ hg st --subrepos s
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
222 A s/f
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
223 $ cat s/f
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
224 f
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
225 $ cat s/g
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
226 g
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
227 gg
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
228 ggg
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 14481
diff changeset
229 $ hg commit --subrepos -m 'merge'
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
230 committing subrepository s
13182
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
231 $ hg status --subrepos --rev 1:5
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
232 M .hgsubstate
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
233 M s/g
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
234 A s/f
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
235 $ hg debugsub
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
236 path s
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
237 source ../gitroot
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
238 revision f47b465e1bce645dbf37232a00574aa1546ca8d3
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
239 $ hg push 2>/dev/null
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
240 pushing to $TESTTMP/t
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
241 pushing branch testing of subrepository "s"
12994
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
242 searching for changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
243 adding changesets
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
244 adding manifests
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
245 adding file changes
845c602b8635 subrepo: allow git subrepos to push and merge
Eric Eisner <ede@mit.edu>
parents: 12993
diff changeset
246 added 2 changesets with 2 changes to 1 files
12996
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
247
13029
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
248 make upstream git changes
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
249
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
250 $ cd ..
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
251 $ git clone -q gitroot gitclone
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
252 $ cd gitclone
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
253 $ echo ff >> f
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
254 $ git commit -q -a -m ff
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
255 $ echo fff >> f
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
256 $ git commit -q -a -m fff
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
257 $ git push origin testing 2>/dev/null
13029
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
258
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
259 make and push changes to hg without updating the subrepo
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
260
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
261 $ cd ../t
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
262 $ hg clone . ../td 2>&1 | egrep -v '^Cloning into|^done\.'
13029
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
263 updating to branch default
13525
c12088259f64 subrepo: show the source that git clones
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
264 cloning subrepo s from $TESTTMP/gitroot
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
265 checking out detached HEAD in subrepository "s"
13029
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
266 check out a git branch if you intend to make changes
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
267 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
268 $ cd ../td
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
269 $ echo aa >> a
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
270 $ hg commit -m aa
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
271 $ hg push
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
272 pushing to $TESTTMP/t
13029
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
273 searching for changes
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
274 adding changesets
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
275 adding manifests
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
276 adding file changes
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
277 added 1 changesets with 1 changes to 1 files
f930032aa6d5 subrepo: lazier git push logic
Eric Eisner <ede@mit.edu>
parents: 13027
diff changeset
278
13087
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
279 sync to upstream git, distribute changes
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
280
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
281 $ cd ../ta
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
282 $ hg pull -u -q
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
283 $ cd s
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
284 $ git pull -q >/dev/null 2>/dev/null
13087
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
285 $ cd ..
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
286 $ hg commit -m 'git upstream sync'
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
287 $ hg debugsub
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
288 path s
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
289 source ../gitroot
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
290 revision 32a343883b74769118bb1d3b4b1fbf9156f4dddc
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
291 $ hg push -q
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
292
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
293 $ cd ../tb
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
294 $ hg pull -q
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
295 $ hg update 2>/dev/null
13569
3ab3b892d223 subrepo: show the source that git pulls
Eric Eisner <ede@mit.edu>
parents: 13560
diff changeset
296 pulling subrepo s from $TESTTMP/gitroot
13087
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
297 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
298 $ hg debugsub
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
299 path s
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
300 source ../gitroot
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
301 revision 32a343883b74769118bb1d3b4b1fbf9156f4dddc
cca0779b4832 subrepo: lazily update git's local tracking branches
Eric Eisner <ede@mit.edu>
parents: 13029
diff changeset
302
19013
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
303 create a new git branch
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
304
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
305 $ cd s
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
306 $ git checkout -b b2
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
307 Switched to a new branch 'b2'
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
308 $ echo a>a
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
309 $ git add a
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
310 $ git commit -qm 'add a'
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
311 $ cd ..
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
312 $ hg commit -m 'add branch in s'
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
313
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
314 pulling new git branch should not create tracking branch named 'origin/b2'
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
315 (issue3870)
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
316 $ cd ../td/s
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
317 $ git remote set-url origin $TESTTMP/tb/s
19049
2e5476980a57 subrepo: fix test breakage introduced in 2b34d004e644
Kevin Bullock <kbullock@ringworld.org>
parents: 19013
diff changeset
318 $ git branch --no-track oldtesting
19013
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
319 $ cd ..
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
320 $ hg pull -q ../tb
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
321 $ hg up
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
322 From $TESTTMP/tb/s
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
323 * [new branch] b2 -> origin/b2
35786
8144f1b07e21 tests: update test to work with Git 2.16
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
324 Previous HEAD position was f47b465* merge (glob)
19013
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
325 Switched to a new branch 'b2'
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
326 pulling subrepo s from $TESTTMP/tb/s
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
327 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2b34d004e644 subrepo: add regression test for issue3870
Kevin Bullock <kbullock@ringworld.org>
parents: 18109
diff changeset
328
12996
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
329 update to a revision without the subrepo, keeping the local git repository
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
330
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
331 $ cd ../t
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
332 $ hg up 0
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
333 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
13010
6bdae8ea0b48 test-subrepo-git.t: portability fix.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12996
diff changeset
334 $ ls -a s
12996
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
335 .
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
336 ..
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
337 .git
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
338
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
339 $ hg up 2
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
340 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
13010
6bdae8ea0b48 test-subrepo-git.t: portability fix.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12996
diff changeset
341 $ ls -a s
12996
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
342 .
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
343 ..
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
344 .git
3a42651b0a62 subrepo: removing (and restoring) git subrepo state
Eric Eisner <ede@mit.edu>
parents: 12995
diff changeset
345 g
13027
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
346
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
347 archive subrepos
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
348
13091
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
349 $ cd ../tc
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
350 $ hg pull -q
8cecea387574 test-subrepo-git.t: silence git output
Eric Eisner <ede@mit.edu>
parents: 13087
diff changeset
351 $ hg archive --subrepos -r 5 ../archive 2>/dev/null
13569
3ab3b892d223 subrepo: show the source that git pulls
Eric Eisner <ede@mit.edu>
parents: 13560
diff changeset
352 pulling subrepo s from $TESTTMP/gitroot
13027
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
353 $ cd ../archive
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
354 $ cat s/f
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
355 f
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
356 $ cat s/g
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
357 g
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
358 gg
7f2ecb64140d subrepo: archive git subrepos
Eric Eisner <ede@mit.edu>
parents: 13010
diff changeset
359 ggg
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
360
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
361 $ hg -R ../tc archive --subrepo -r 5 -X ../tc/**f ../archive_x 2>/dev/null
17114
ca75bd99f740 tests: ignore pax_global_header in test-subrepo-git.t
Mads Kiilerich <mads@kiilerich.com>
parents: 17108
diff changeset
362 $ find ../archive_x | sort | grep -v pax_global_header
17108
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
363 ../archive_x
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
364 ../archive_x/.hg_archival.txt
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
365 ../archive_x/.hgsub
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
366 ../archive_x/.hgsubstate
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
367 ../archive_x/a
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
368 ../archive_x/s
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
369 ../archive_x/s/g
1894dac619de subrepo: propagate matcher to subrepos when archiving
Matt Harbison <matt_harbison@yahoo.com>
parents: 17022
diff changeset
370
24953
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24943
diff changeset
371 $ hg -R ../tc archive -S ../archive.tgz --prefix '.' 2>/dev/null
24964
fc92ccbbeb9a test-subrepo-git: ignore pax_global_header when listing archive
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24953
diff changeset
372 $ tar -tzf ../archive.tgz | sort | grep -v pax_global_header
24953
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24943
diff changeset
373 .hg_archival.txt
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24943
diff changeset
374 .hgsub
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24943
diff changeset
375 .hgsubstate
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24943
diff changeset
376 a
5115d03440f4 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24943
diff changeset
377 s/g
24924
41cd8171e58f archive: always use portable path component separators with subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 24902
diff changeset
378
44015
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
379 $ hg -R ../tc archive -S ../lf_archive.tgz --prefix '.' \
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
380 > --config extensions.largefiles= 2>/dev/null
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
381 $ tar -tzf ../lf_archive.tgz | sort | grep -v pax_global_header
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
382 .hg_archival.txt
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
383 .hgsub
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
384 .hgsubstate
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
385 a
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
386 s/g
7ca8aa8840c0 subrepo: fix a crash when archiving an svn or git subrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 42588
diff changeset
387
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
388 create nested repo
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
389
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
390 $ cd ..
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
391 $ hg init outer
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
392 $ cd outer
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
393 $ echo b>b
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
394 $ hg add b
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
395 $ hg commit -m b
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
396
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
397 $ hg clone ../t inner 2> /dev/null
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
398 updating to branch default
13525
c12088259f64 subrepo: show the source that git clones
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
399 cloning subrepo s from $TESTTMP/gitroot
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
400 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
401 $ echo inner = inner > .hgsub
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
402 $ hg add .hgsub
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
403 $ hg commit -m 'nested sub'
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
404
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
405 nested commit
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
406
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
407 $ echo ffff >> inner/s/f
13182
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
408 $ hg status --subrepos
2537bd17421d subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu>
parents: 13181
diff changeset
409 M inner/s/f
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 14481
diff changeset
410 $ hg commit --subrepos -m nested
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
411 committing subrepository inner
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
412 committing subrepository inner/s
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
413
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
414 nested archive
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
415
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
416 $ hg archive --subrepos ../narchive
13296
5dda6c708138 Ignore pax_global_header that some tar versions write as a file.
Lee Cantey <lcantey@embarcadero.com>
parents: 13182
diff changeset
417 $ ls ../narchive/inner/s | grep -v pax_global_header
13181
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
418 f
413bef846806 subrepo: fix subrelpath for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13111
diff changeset
419 g
13324
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
420
13460
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
421 relative source expansion
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
422
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
423 $ cd ..
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
424 $ mkdir d
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
425 $ hg clone t d/t 2> /dev/null
13460
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
426 updating to branch default
13525
c12088259f64 subrepo: show the source that git clones
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
427 cloning subrepo s from $TESTTMP/gitroot
13460
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
428 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
64bb8e586a92 subrepo: expand relative sources for git subrepos
Eric Eisner <ede@mit.edu>
parents: 13428
diff changeset
429
13553
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
430 Don't crash if the subrepo is missing
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
431
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
432 $ hg clone t missing -q
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
433 $ cd missing
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
434 $ rm -rf s
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
435 $ hg status -S
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
436 $ hg sum | grep commit
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
437 commit: 1 subrepos
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
438 $ hg push -q
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
439 abort: subrepo s is missing (in subrepository "s")
13553
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
440 [255]
15321
e174353e8cda subrepos: abort commit by default if a subrepo is dirty (BC)
Martin Geisler <mg@lazybytes.net>
parents: 14481
diff changeset
441 $ hg commit --subrepos -qm missing
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
442 abort: subrepo s is missing (in subrepository "s")
13553
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
443 [255]
24902
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
444
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
445 #if symlink
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
446 Don't crash if subrepo is a broken symlink
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
447 $ ln -s broken s
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
448 $ hg status -S
34984
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34661
diff changeset
449 abort: subrepo 's' traverses symbolic link
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34661
diff changeset
450 [255]
24902
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
451 $ hg push -q
34984
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34661
diff changeset
452 abort: subrepo 's' traverses symbolic link
24902
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
453 [255]
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
454 $ hg commit --subrepos -qm missing
34984
071cbeba4212 subrepo: disallow symlink traversal across subrepo mount point (SEC)
Yuya Nishihara <yuya@tcha.org>
parents: 34661
diff changeset
455 abort: subrepo 's' traverses symbolic link
24902
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
456 [255]
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
457 $ rm s
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
458 #endif
986a5c23b1c1 util.checkcase: don't abort on broken symlinks
Siddharth Agarwal <sid0@fb.com>
parents: 24778
diff changeset
459
20105
c5a0f899e47b tests: deal with new gits sending status messages to stderr
Mads Kiilerich <madski@unity3d.com>
parents: 19811
diff changeset
460 $ hg update -C 2> /dev/null
13560
a2734c8322ac merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 13558
diff changeset
461 cloning subrepo s from $TESTTMP/gitroot
13553
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
462 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
463 $ hg sum | grep commit
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
464 commit: (clean)
dea6efdd7ec4 subrepo: don't crash when git repo is missing
Eric Eisner <ede@mit.edu>
parents: 13460
diff changeset
465
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
466 Don't crash if the .hgsubstate entry is missing
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
467
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
468 $ hg update 1 -q
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
469 $ hg rm .hgsubstate
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
470 $ hg commit .hgsubstate -m 'no substate'
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
471 nothing changed
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
472 [1]
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
473 $ hg tag -l nosubstate
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
474 $ hg manifest
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
475 .hgsub
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
476 .hgsubstate
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
477 a
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
478
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
479 $ hg status -S
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
480 R .hgsubstate
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
481 $ hg sum | grep commit
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
482 commit: 1 removed, 1 subrepos (new branch head)
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
483
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
484 $ hg commit -m 'restore substate'
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
485 nothing changed
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
486 [1]
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
487 $ hg manifest
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
488 .hgsub
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
489 .hgsubstate
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
490 a
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
491 $ hg sum | grep commit
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
492 commit: 1 removed, 1 subrepos (new branch head)
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
493
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
494 $ hg update -qC nosubstate
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
495 $ ls s
16073
b254f827b7a6 subrepo: rewrite handling of subrepo state at commit (issue2403)
Matt Mackall <mpm@selenic.com>
parents: 15531
diff changeset
496 g
14469
2fdea636f254 subrepo: don't crash when git .hgsubstate is empty (issue2716)
Eric Eisner <ede@alum.mit.edu>
parents: 13553
diff changeset
497
15531
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
498 issue3109: false positives in git diff-index
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
499
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
500 $ hg update -q
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
501 $ touch -t 200001010000 s/g
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
502 $ hg status --subrepos
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
503 $ touch -t 200001010000 s/g
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
504 $ hg sum | grep commit
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
505 commit: (clean)
0810ccc51f0a subrepo: fix git status false positive (issue3109)
Eric Roshan Eisner <ede@alum.mit.edu>
parents: 15321
diff changeset
506
13324
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
507 Check hg update --clean
13331
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
508 $ cd $TESTTMP/ta
13324
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
509 $ echo > s/g
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
510 $ cd s
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
511 $ echo c1 > f1
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
512 $ echo c1 > f2
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
513 $ git add f1
e5617047c926 subrepo: make update -C clean the working directory for git subrepos
Erik Zielke <ez@aragost.com>
parents: 13296
diff changeset
514 $ cd ..
13331
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
515 $ hg status -S
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
516 M s/g
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
517 A s/f1
23411
2d86f4e38c08 subrepo: add status support for ignored files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 22590
diff changeset
518 ? s/f2
13331
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
519 $ ls s
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
520 f
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
521 f1
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
522 f2
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
523 g
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
524 $ hg update --clean
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
525 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
526 $ hg status -S
23411
2d86f4e38c08 subrepo: add status support for ignored files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 22590
diff changeset
527 ? s/f1
2d86f4e38c08 subrepo: add status support for ignored files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 22590
diff changeset
528 ? s/f2
13331
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
529 $ ls s
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
530 f
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
531 f1
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
532 f2
9f2c6892e004 test-subrepo-git.t: make compatible with old git
Eric Eisner <ede@mit.edu>
parents: 13324
diff changeset
533 g
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
534
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
535 Sticky subrepositories, no changes
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
536 $ cd $TESTTMP/ta
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
537 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
538 7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
539 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
540 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
541 32a343883b74769118bb1d3b4b1fbf9156f4dddc
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
542 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
543 $ hg update 1 > /dev/null 2>&1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
544 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
545 1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
546 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
547 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
548 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
549 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
550
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 20105
diff changeset
551 Sticky subrepositories, file changes
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
552 $ touch s/f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
553 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
554 $ git add f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
555 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
556 $ hg id -n
17255
3e856d8abe9c identity: show trailing '+' for dirty subrepos (issue2839)
Patrick Mezard <patrick@mezard.eu>
parents: 17114
diff changeset
557 1+
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
558 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
559 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
560 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
561 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
562 $ hg update 4
21401
2c364f7801c8 subrepo: use subrepo shortid method to generate subrepo diverged promptchoice
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21024
diff changeset
563 subrepository s diverged (local revision: da5f5b1, remote revision: aa84837)
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
564 you can (m)erge, keep (l)ocal [working copy] or keep (r)emote [destination].
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
565 what do you want to do? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
566 subrepository sources for s differ
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
567 you can use (l)ocal source (da5f5b1) or (r)emote source (aa84837).
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
568 what do you want to do? l
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
569 0 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: 13331
diff changeset
570 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
571 4+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
572 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
573 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
574 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
575 $ cd ..
17345
4f8054d3171b check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents: 17255
diff changeset
576 $ hg update --clean tip > /dev/null 2>&1
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
577
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
578 Sticky subrepository, revision updates
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
579 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
580 7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
581 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
582 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
583 32a343883b74769118bb1d3b4b1fbf9156f4dddc
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
584 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
585 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
586 $ git checkout aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
35786
8144f1b07e21 tests: update test to work with Git 2.16
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
587 Previous HEAD position was 32a3438* fff (glob)
8144f1b07e21 tests: update test to work with Git 2.16
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
588 HEAD is now at aa84837* f (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
589 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
590 $ hg update 1
21401
2c364f7801c8 subrepo: use subrepo shortid method to generate subrepo diverged promptchoice
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21024
diff changeset
591 subrepository s diverged (local revision: 32a3438, remote revision: da5f5b1)
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
592 you can (m)erge, keep (l)ocal [working copy] or keep (r)emote [destination].
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
593 what do you want to do? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
594 subrepository sources for s differ (in checked out version)
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
595 you can use (l)ocal source (32a3438) or (r)emote source (da5f5b1).
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
596 what do you want to do? l
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
597 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: 13331
diff changeset
598 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
599 1+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
600 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
601 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
602 aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
603 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
604
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
605 Sticky subrepository, file changes and revision updates
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
606 $ touch s/f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
607 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
608 $ git add f1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
609 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
610 aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
611 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
612 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
613 1+
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
614 $ hg update 7
21401
2c364f7801c8 subrepo: use subrepo shortid method to generate subrepo diverged promptchoice
Angel Ezquerra <angel.ezquerra@gmail.com>
parents: 21024
diff changeset
615 subrepository s diverged (local revision: 32a3438, remote revision: 32a3438)
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
616 you can (m)erge, keep (l)ocal [working copy] or keep (r)emote [destination].
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
617 what do you want to do? m
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
618 subrepository sources for s differ
42588
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
619 you can use (l)ocal source (32a3438) or (r)emote source (32a3438).
f6540aba8e3e subrepos: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41603
diff changeset
620 what do you want to do? l
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
621 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: 13331
diff changeset
622 $ hg id -n
17255
3e856d8abe9c identity: show trailing '+' for dirty subrepos (issue2839)
Patrick Mezard <patrick@mezard.eu>
parents: 17114
diff changeset
623 7+
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
624 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
625 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
626 aa84837ccfbdfedcdcdeeedc309d73e6eb069edc
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
627 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
628
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
629 Sticky repository, update --clean
16264
0628290d98df tests: ignore git's output in test-subrepo-git.t
Javi Merino <cibervicho@gmail.com>
parents: 15531
diff changeset
630 $ hg update --clean tip 2>/dev/null
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
631 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: 13331
diff changeset
632 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
633 7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
634 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
635 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
636 32a343883b74769118bb1d3b4b1fbf9156f4dddc
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
637 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
638
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
639 Test subrepo already at intended revision:
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
640 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
641 $ git checkout 32a343883b74769118bb1d3b4b1fbf9156f4dddc
35786
8144f1b07e21 tests: update test to work with Git 2.16
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
642 HEAD is now at 32a3438* fff (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
643 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
644 $ hg update 1
35786
8144f1b07e21 tests: update test to work with Git 2.16
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
645 Previous HEAD position was 32a3438* fff (glob)
8144f1b07e21 tests: update test to work with Git 2.16
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
646 HEAD is now at da5f5b1* g (glob)
13417
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
647 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: 13331
diff changeset
648 $ hg id -n
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
649 1
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
650 $ cd s
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
651 $ git rev-parse HEAD
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
652 da5f5b1d8ffcf62fb8327bcd3c89a4367a6018e7
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
653 $ cd ..
0748e18be470 subrepos: prompt on conflicts on update with dirty subrepos
Erik Zielke <ez@aragost.com>
parents: 13331
diff changeset
654
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16271
diff changeset
655 Test forgetting files, not implemented in git subrepo, used to
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16271
diff changeset
656 traceback
17022
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
657 #if no-windows
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16271
diff changeset
658 $ hg forget 'notafile*'
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35154
diff changeset
659 notafile*: $ENOENT$
16527
17a1f7690b49 subrepo: fix default implementation of forget() (issue3404)
Patrick Mezard <patrick@mezard.eu>
parents: 16271
diff changeset
660 [1]
17022
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
661 #else
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35154
diff changeset
662 error: The filename, directory name, or volume label syntax is incorrect
17022
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
663 $ hg forget 'notafile'
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
664 notafile: * (glob)
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
665 [1]
8a38839ae1dc test-subrepo-git.t: adapt for Windows
Eduard-Cristian Stefan <alexandrul.ct@gmail.com>
parents: 16913
diff changeset
666 #endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16527
diff changeset
667
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16527
diff changeset
668 $ cd ..
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
669
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
670 Test sanitizing ".hg/hgrc" in subrepo
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
671
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
672 $ cd t
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
673 $ hg tip -q
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
674 7:af6d2edbb0d3
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
675 $ hg update -q -C af6d2edbb0d3
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
676 $ cd s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
677 $ git checkout -q -b sanitize-test
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
678 $ mkdir .hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
679 $ echo '.hg/hgrc in git repo' > .hg/hgrc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
680 $ mkdir -p sub/.hg
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
681 $ echo 'sub/.hg/hgrc in git repo' > sub/.hg/hgrc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
682 $ git add .hg sub
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
683 $ git commit -qm 'add .hg/hgrc to be sanitized at hg update'
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
684 $ git push -q origin sanitize-test
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
685 $ cd ..
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
686 $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
687 32a343883b74769118bb1d3b4b1fbf9156f4dddc s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
688 $ hg commit -qm 'commit with git revision including .hg/hgrc'
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
689 $ hg parents -q
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
690 8:3473d20bddcf
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
691 $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
692 c4069473b459cf27fd4d7c2f50c4346b4e936599 s
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
693 $ cd ..
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
694
21566
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21565
diff changeset
695 $ hg -R tc pull -q
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21565
diff changeset
696 $ hg -R tc update -q -C 3473d20bddcf 2>&1 | sort
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
697 warning: removing potentially hostile 'hgrc' in '$TESTTMP/tc/s/.hg'
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
698 warning: removing potentially hostile 'hgrc' in '$TESTTMP/tc/s/sub/.hg'
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
699 $ cd tc
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
700 $ hg parents -q
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
701 8:3473d20bddcf
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
702 $ grep ' s$' .hgsubstate
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
703 c4069473b459cf27fd4d7c2f50c4346b4e936599 s
21748
8621125a1718 tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21567
diff changeset
704 $ test -f s/.hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
705 [1]
21748
8621125a1718 tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21567
diff changeset
706 $ test -f s/sub/.hg/hgrc
21564
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
707 [1]
2e91d4964ecd subrepo: make "_sanitize()" work
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
708 $ cd ..
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
709
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
710 additional test for "git merge --ff" route:
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
711
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
712 $ cd t
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
713 $ hg tip -q
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
714 8:3473d20bddcf
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
715 $ hg update -q -C af6d2edbb0d3
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
716 $ cd s
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
717 $ git checkout -q testing
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
718 $ mkdir .hg
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
719 $ echo '.hg/hgrc in git repo' > .hg/hgrc
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
720 $ mkdir -p sub/.hg
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
721 $ echo 'sub/.hg/hgrc in git repo' > sub/.hg/hgrc
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
722 $ git add .hg sub
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
723 $ git commit -qm 'add .hg/hgrc to be sanitized at hg update (git merge --ff)'
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
724 $ git push -q origin testing
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
725 $ cd ..
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
726 $ grep ' s$' .hgsubstate
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
727 32a343883b74769118bb1d3b4b1fbf9156f4dddc s
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
728 $ hg commit -qm 'commit with git revision including .hg/hgrc'
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
729 $ hg parents -q
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
730 9:ed23f7fe024e
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
731 $ grep ' s$' .hgsubstate
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
732 f262643c1077219fbd3858d54e78ef050ef84fbf s
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
733 $ cd ..
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
734
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
735 $ cd tc
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
736 $ hg update -q -C af6d2edbb0d3
21748
8621125a1718 tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21567
diff changeset
737 $ test -f s/.hg/hgrc
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
738 [1]
21748
8621125a1718 tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21567
diff changeset
739 $ test -f s/sub/.hg/hgrc
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
740 [1]
21566
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21565
diff changeset
741 $ cd ..
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21565
diff changeset
742 $ hg -R tc pull -q
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21565
diff changeset
743 $ hg -R tc update -q -C ed23f7fe024e 2>&1 | sort
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
744 warning: removing potentially hostile 'hgrc' in '$TESTTMP/tc/s/.hg'
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
745 warning: removing potentially hostile 'hgrc' in '$TESTTMP/tc/s/sub/.hg'
21566
a01988cd9b61 subrepo: make "_sanitize()" take absolute path to the root of subrepo
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21565
diff changeset
746 $ cd tc
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
747 $ hg parents -q
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
748 9:ed23f7fe024e
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
749 $ grep ' s$' .hgsubstate
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
750 f262643c1077219fbd3858d54e78ef050ef84fbf s
21748
8621125a1718 tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21567
diff changeset
751 $ test -f s/.hg/hgrc
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
752 [1]
21748
8621125a1718 tests: cat error messages are different on Solaris
Danek Duvall <danek.duvall@oracle.com>
parents: 21567
diff changeset
753 $ test -f s/sub/.hg/hgrc
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
754 [1]
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
755
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
756 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
757
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
758 $ mkdir s/.git/.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
759 $ echo '.hg/hgrc in git metadata area' > s/.git/.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
760 $ hg update -q -C af6d2edbb0d3
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
761 checking out detached HEAD in subrepository "s"
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
762 check out a git branch if you intend to make changes
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
763
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
764 check differences made by most recent change
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
765 $ cd s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
766 $ cat > foobar << EOF
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
767 > woopwoop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
768 >
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
769 > foo
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
770 > bar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
771 > EOF
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
772 $ git add foobar
21565
7f7f634d073d subrepo: invoke "_sanitize()" also after "git merge --ff"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21564
diff changeset
773 $ cd ..
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
774
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
775 $ hg diff --subrepos
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
776 diff --git a/s/foobar b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
777 new file mode 100644
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
778 index 0000000..8a5a5e2
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
779 --- /dev/null
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
780 +++ b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
781 @@ -0,0 +1,4 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
782 +woopwoop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
783 +
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
784 +foo
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
785 +bar
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
786
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
787 $ hg commit --subrepos -m "Added foobar"
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
788 committing subrepository s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
789 created new head
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
790
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
791 $ hg diff -c . --subrepos --nodates
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
792 diff -r af6d2edbb0d3 -r 255ee8cf690e .hgsubstate
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
793 --- a/.hgsubstate
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
794 +++ b/.hgsubstate
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
795 @@ -1,1 +1,1 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
796 -32a343883b74769118bb1d3b4b1fbf9156f4dddc s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
797 +fd4dbf828a5b2fcd36b2bcf21ea773820970d129 s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
798 diff --git a/s/foobar b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
799 new file mode 100644
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
800 index 0000000..8a5a5e2
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
801 --- /dev/null
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
802 +++ b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
803 @@ -0,0 +1,4 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
804 +woopwoop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
805 +
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
806 +foo
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
807 +bar
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
808
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
809 check output when only diffing the subrepository
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
810 $ hg diff -c . --subrepos s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
811 diff --git a/s/foobar b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
812 new file mode 100644
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
813 index 0000000..8a5a5e2
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
814 --- /dev/null
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
815 +++ b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
816 @@ -0,0 +1,4 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
817 +woopwoop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
818 +
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
819 +foo
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
820 +bar
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
821
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
822 check output when diffing something else
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
823 $ hg diff -c . --subrepos .hgsubstate --nodates
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
824 diff -r af6d2edbb0d3 -r 255ee8cf690e .hgsubstate
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
825 --- a/.hgsubstate
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
826 +++ b/.hgsubstate
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
827 @@ -1,1 +1,1 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
828 -32a343883b74769118bb1d3b4b1fbf9156f4dddc s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
829 +fd4dbf828a5b2fcd36b2bcf21ea773820970d129 s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
830
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
831 add new changes, including whitespace
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
832 $ cd s
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
833 $ cat > foobar << EOF
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
834 > woop woop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
835 >
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
836 > foo
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
837 > bar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
838 > EOF
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
839 $ echo foo > barfoo
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
840 $ git add barfoo
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
841 $ cd ..
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
842
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
843 $ hg diff --subrepos --ignore-all-space
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
844 diff --git a/s/barfoo b/s/barfoo
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
845 new file mode 100644
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
846 index 0000000..257cc56
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
847 --- /dev/null
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
848 +++ b/s/barfoo
28035
c65da6892ae5 tests: make chunk header of external diff glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26969
diff changeset
849 @@ -0,0 +1* @@ (glob)
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
850 +foo
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
851 $ hg diff --subrepos s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
852 diff --git a/s/foobar b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
853 index 8a5a5e2..bd5812a 100644
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
854 --- a/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
855 +++ b/s/foobar
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
856 @@ -1,4 +1,4 @@
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
857 -woopwoop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
858 +woop woop
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
859
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
860 foo
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
861 bar
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
862
23542
8b5adc6b72ae tests: allow more flexibility in git diffstat output
Mathias De Maré <mathias.demare@gmail.com>
parents: 23523
diff changeset
863 execute a diffstat
8b5adc6b72ae tests: allow more flexibility in git diffstat output
Mathias De Maré <mathias.demare@gmail.com>
parents: 23523
diff changeset
864 the output contains a regex, because git 1.7.10 and 1.7.11
8b5adc6b72ae tests: allow more flexibility in git diffstat output
Mathias De Maré <mathias.demare@gmail.com>
parents: 23523
diff changeset
865 change the amount of whitespace
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
866 $ hg diff --subrepos --stat
35154
4c04fd032af6 tests: fix regex in test-subrepo-git.t to match entire string
Martin von Zweigbergk <martinvonz@google.com>
parents: 34989
diff changeset
867 \s*barfoo \|\s+1 \+ (re)
4c04fd032af6 tests: fix regex in test-subrepo-git.t to match entire string
Martin von Zweigbergk <martinvonz@google.com>
parents: 34989
diff changeset
868 \s*foobar \|\s+2 \+- (re)
23938
de519517f597 subrepo: correctly add newline for git subrepo diffs
Mathias De Maré <mathias.demare@gmail.com>
parents: 23937
diff changeset
869 2 files changed, 2 insertions\(\+\), 1 deletions?\(-\) (re)
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
870
24778
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
871 adding an include should ignore the other elements
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
872 $ hg diff --subrepos -I s/foobar
24778
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
873 diff --git a/s/foobar b/s/foobar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
874 index 8a5a5e2..bd5812a 100644
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
875 --- a/s/foobar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
876 +++ b/s/foobar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
877 @@ -1,4 +1,4 @@
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
878 -woopwoop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
879 +woop woop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
880
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
881 foo
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
882 bar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
883
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
884 adding an exclude should ignore this element
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
885 $ hg diff --subrepos -X s/foobar
24778
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
886 diff --git a/s/barfoo b/s/barfoo
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
887 new file mode 100644
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
888 index 0000000..257cc56
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
889 --- /dev/null
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
890 +++ b/s/barfoo
28035
c65da6892ae5 tests: make chunk header of external diff glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26969
diff changeset
891 @@ -0,0 +1* @@ (glob)
24778
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
892 +foo
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
893
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
894 moving a file should show a removal and an add
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
895 $ hg revert --all
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
896 reverting subrepo ../gitroot
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
897 $ cd s
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
898 $ git mv foobar woop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
899 $ cd ..
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
900 $ hg diff --subrepos
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
901 diff --git a/s/foobar b/s/foobar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
902 deleted file mode 100644
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
903 index 8a5a5e2..0000000
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
904 --- a/s/foobar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
905 +++ /dev/null
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
906 @@ -1,4 +0,0 @@
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
907 -woopwoop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
908 -
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
909 -foo
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
910 -bar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
911 diff --git a/s/woop b/s/woop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
912 new file mode 100644
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
913 index 0000000..8a5a5e2
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
914 --- /dev/null
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
915 +++ b/s/woop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
916 @@ -0,0 +1,4 @@
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
917 +woopwoop
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
918 +
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
919 +foo
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
920 +bar
a48b65ab428d subrepo: add include/exclude support for diffing git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24581
diff changeset
921 $ rm s/woop
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
922
23550
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
923 revert the subrepository
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
924 $ hg revert --all
23937
fd5b9417d315 tests: discard useless "(glob)" in "reverting subrepo" lines
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23693
diff changeset
925 reverting subrepo ../gitroot
23550
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
926
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
927 $ hg status --subrepos
23678
194d2f185008 subrepo: add full revert support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23551
diff changeset
928 ? s/barfoo
194d2f185008 subrepo: add full revert support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23551
diff changeset
929 ? s/foobar.orig
23550
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
930
23678
194d2f185008 subrepo: add full revert support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23551
diff changeset
931 $ mv s/foobar.orig s/foobar
194d2f185008 subrepo: add full revert support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23551
diff changeset
932
23550
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
933 $ hg revert --no-backup s
23937
fd5b9417d315 tests: discard useless "(glob)" in "reverting subrepo" lines
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23693
diff changeset
934 reverting subrepo ../gitroot
23550
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
935
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
936 $ hg status --subrepos
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
937 ? s/barfoo
7fa2189c1e87 subrepo: add revert support without backup for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23542
diff changeset
938
26940
91786f20db83 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com>
parents: 24964
diff changeset
939 revert moves orig files to the right place
91786f20db83 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com>
parents: 24964
diff changeset
940 $ echo 'bloop' > s/foobar
91786f20db83 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com>
parents: 24964
diff changeset
941 $ hg revert --all --verbose --config 'ui.origbackuppath=.hg/origbackups'
91786f20db83 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com>
parents: 24964
diff changeset
942 reverting subrepo ../gitroot
41603
ea5ebb8f72bd subrepo: migrate to scmutil.backuppath()
Martin von Zweigbergk <martinvonz@google.com>
parents: 41593
diff changeset
943 creating directory: $TESTTMP/tc/.hg/origbackups/s
ea5ebb8f72bd subrepo: migrate to scmutil.backuppath()
Martin von Zweigbergk <martinvonz@google.com>
parents: 41593
diff changeset
944 saving current version of foobar as .hg/origbackups/s/foobar
ea5ebb8f72bd subrepo: migrate to scmutil.backuppath()
Martin von Zweigbergk <martinvonz@google.com>
parents: 41593
diff changeset
945 $ ls .hg/origbackups/s
34146
9e4f82bc2b0b scmutil: don't append .orig to backups in origbackuppath (BC)
Mark Thomas <mbthomas@fb.com>
parents: 33660
diff changeset
946 foobar
26940
91786f20db83 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com>
parents: 24964
diff changeset
947 $ rm -rf .hg/origbackups
91786f20db83 git-subrepos: revert respects specified location to save .orig files
Christian Delahousse <cdelahousse@fb.com>
parents: 24964
diff changeset
948
23991
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
949 show file at specific revision
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
950 $ cat > s/foobar << EOF
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
951 > woop woop
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
952 > fooo bar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
953 > EOF
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
954 $ hg commit --subrepos -m "updated foobar"
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
955 committing subrepository s
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
956 $ cat > s/foobar << EOF
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
957 > current foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
958 > (should not be visible using hg cat)
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
959 > EOF
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
960
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
961 $ hg cat -r . s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
962 woop woop
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
963 fooo bar (no-eol)
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
964 $ hg cat -r "parents(.)" s/foobar > catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
965
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
966 $ mkdir -p tmp/s
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
967
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
968 $ hg cat -r "parents(.)" --output tmp/%% s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
969 $ diff tmp/% catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
970
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
971 $ hg cat -r "parents(.)" --output tmp/%s s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
972 $ diff tmp/foobar catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
973
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
974 $ hg cat -r "parents(.)" --output tmp/%d/otherfoobar s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
975 $ diff tmp/s/otherfoobar catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
976
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
977 $ hg cat -r "parents(.)" --output tmp/%p s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
978 $ diff tmp/s/foobar catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
979
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
980 $ hg cat -r "parents(.)" --output tmp/%H s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
981 $ diff tmp/255ee8cf690ec86e99b1e80147ea93ece117cd9d catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
982
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
983 $ hg cat -r "parents(.)" --output tmp/%R s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
984 $ diff tmp/10 catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
985
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
986 $ hg cat -r "parents(.)" --output tmp/%h s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
987 $ diff tmp/255ee8cf690e catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
988
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
989 $ rm tmp/10
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
990 $ hg cat -r "parents(.)" --output tmp/%r s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
991 $ diff tmp/10 catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
992
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
993 $ mkdir tmp/tc
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
994 $ hg cat -r "parents(.)" --output tmp/%b/foobar s/foobar
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
995 $ diff tmp/tc/foobar catparents
07c1a7d1ef69 subrepo: add 'cat' support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23963
diff changeset
996
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
997 cleanup
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
998 $ rm -r tmp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
999 $ rm catparents
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1000
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1001 add git files, using either files or patterns
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1002 $ echo "hsss! hsssssssh!" > s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1003 $ echo "ccc" > s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1004 $ echo "cpp" > s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1005
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1006 $ hg add s/snake.python s/c.c s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1007 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1008 M s/foobar
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1009 A s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1010 A s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1011 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1012 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1013 $ hg revert s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1014 reverting subrepo ../gitroot
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1015
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1016 $ hg add --subrepos "glob:**.python"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1017 adding s/snake.python
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1018 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1019 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1020 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1021 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1022 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1023 ? s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1024 $ hg revert s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1025 reverting subrepo ../gitroot
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1026
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1027 $ hg add --subrepos s
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1028 adding s/barfoo
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1029 adding s/c.c
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1030 adding s/cpp.cpp
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1031 adding s/foobar.orig
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1032 adding s/snake.python
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1033 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1034 A s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1035 A s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1036 A s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1037 A s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1038 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1039 $ hg revert s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1040 reverting subrepo ../gitroot
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1041 make sure everything is reverted correctly
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1042 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1043 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1044 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1045 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1046 ? s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1047 ? s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1048
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1049 $ hg add --subrepos --exclude "path:s/c.c"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1050 adding s/barfoo
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1051 adding s/cpp.cpp
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1052 adding s/foobar.orig
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1053 adding s/snake.python
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1054 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1055 A s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1056 A s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1057 A s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1058 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1059 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1060 $ hg revert --all -q
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1061
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1062 .hgignore should not have influence in subrepos
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1063 $ cat > .hgignore << EOF
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1064 > syntax: glob
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1065 > *.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1066 > EOF
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1067 $ hg add .hgignore
24182
00ef3edcf1d5 subrepo: don't exclude files in .hgignore when adding to git
Matt Harbison <matt_harbison@yahoo.com>
parents: 24174
diff changeset
1068 $ hg add --subrepos "glob:**.python" s/barfoo
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1069 adding s/snake.python
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1070 $ hg st --subrepos s
24182
00ef3edcf1d5 subrepo: don't exclude files in .hgignore when adding to git
Matt Harbison <matt_harbison@yahoo.com>
parents: 24174
diff changeset
1071 A s/barfoo
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1072 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1073 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1074 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1075 ? s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1076 $ hg revert --all -q
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1077
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1078 .gitignore should have influence,
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1079 except for explicitly added files (no patterns)
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1080 $ cat > s/.gitignore << EOF
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1081 > *.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1082 > EOF
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1083 $ hg add s/.gitignore
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1084 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1085 A s/.gitignore
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1086 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1087 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1088 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1089 ? s/foobar.orig
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1090 $ hg st --subrepos s --all
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1091 A s/.gitignore
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1092 ? s/barfoo
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1093 ? s/c.c
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1094 ? s/cpp.cpp
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1095 ? s/foobar.orig
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1096 I s/snake.python
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1097 C s/f
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1098 C s/foobar
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1099 C s/g
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1100 $ hg add --subrepos "glob:**.python"
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1101 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1102 A s/.gitignore
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1103 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1104 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1105 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1106 ? s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1107 $ hg add --subrepos s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1108 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1109 A s/.gitignore
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1110 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1111 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1112 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1113 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1114 ? s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1115
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1116 correctly do a dry run
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1117 $ hg add --subrepos s --dry-run
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1118 adding s/barfoo
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1119 adding s/c.c
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1120 adding s/cpp.cpp
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1121 adding s/foobar.orig
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1122 $ hg st --subrepos s
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1123 A s/.gitignore
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1124 A s/snake.python
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1125 ? s/barfoo
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1126 ? s/c.c
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1127 ? s/cpp.cpp
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1128 ? s/foobar.orig
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1129
24183
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1130 error given when adding an already tracked file
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1131 $ hg add s/.gitignore
24183
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1132 s/.gitignore already tracked!
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1133 [1]
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1134 $ hg add s/g
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1135 s/g already tracked!
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1136 [1]
24183
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1137
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1138 removed files can be re-added
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1139 removing files using 'rm' or 'git rm' has the same effect,
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1140 since we ignore the staging area
24183
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1141 $ hg ci --subrepos -m 'snake'
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1142 committing subrepository s
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1143 $ cd s
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1144 $ rm snake.python
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1145 (remove leftover .hg so Mercurial doesn't look for a root here)
24581
85219d6ece67 tests: handle deleted .hg directory (git 2.2.0 and higher) (issue4585)
Mathias De Maré <mathias.demare@gmail.com>
parents: 24256
diff changeset
1146 $ rm -rf .hg
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1147 $ hg status --subrepos --all .
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1148 R snake.python
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1149 ? barfoo
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1150 ? c.c
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1151 ? cpp.cpp
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1152 ? foobar.orig
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1153 C .gitignore
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1154 C f
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1155 C foobar
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1156 C g
24183
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1157 $ git rm snake.python
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1158 rm 'snake.python'
24256
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1159 $ hg status --subrepos --all .
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1160 R snake.python
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1161 ? barfoo
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1162 ? c.c
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1163 ? cpp.cpp
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1164 ? foobar.orig
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1165 C .gitignore
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1166 C f
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1167 C foobar
e964edc3274e subrepo: add status support for ignored and clean files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 24183
diff changeset
1168 C g
24183
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1169 $ touch snake.python
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1170 $ cd ..
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1171 $ hg add s/snake.python
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1172 $ hg status -S
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1173 M s/snake.python
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1174 ? .hgignore
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1175 ? s/barfoo
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1176 ? s/c.c
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1177 ? s/cpp.cpp
932de135041f subrepo: warn when adding already tracked files in gitsubrepo
Matt Harbison <matt_harbison@yahoo.com>
parents: 24182
diff changeset
1178 ? s/foobar.orig
24943
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1179 $ hg revert --all -q
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1180
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1181 make sure we show changed files, rather than changed subtrees
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1182 $ mkdir s/foo
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1183 $ touch s/foo/bwuh
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1184 $ hg add s/foo/bwuh
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1185 $ hg commit -S -m "add bwuh"
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1186 committing subrepository s
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1187 $ hg status -S --change .
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1188 M .hgsubstate
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1189 A s/foo/bwuh
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1190 ? s/barfoo
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1191 ? s/c.c
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1192 ? s/cpp.cpp
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1193 ? s/foobar.orig
3e39f67ef663 subrepo: correctly handle git subdirectory status change
Mathias De Maré <mathias.demare@gmail.com>
parents: 24924
diff changeset
1194 ? s/snake.python.orig
24174
bd9f64ec891d subrepos: support adding files in git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23991
diff changeset
1195
32902
642feee29d70 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io>
parents: 32413
diff changeset
1196 #if git19
642feee29d70 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io>
parents: 32413
diff changeset
1197
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1198 test for Git CVE-2016-3068
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1199 $ hg init malicious-subrepository
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1200 $ cd malicious-subrepository
29295
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1201 $ echo "s = [git]ext::sh -c echo% pwned:% \$PWNED_MSG% >pwned.txt" > .hgsub
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1202 $ git init s
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1203 Initialized empty Git repository in $TESTTMP/tc/malicious-subrepository/s/.git/
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1204 $ cd s
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1205 $ git commit --allow-empty -m 'empty'
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1206 [master (root-commit) 153f934] empty
23523
01a8dfc79cdc subrepo: add partial diff support for git subrepos
Mathias De Maré <mathias.demare@gmail.com>
parents: 23411
diff changeset
1207 $ cd ..
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1208 $ hg add .hgsub
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1209 $ hg commit -m "add subrepo"
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1210 $ cd ..
29256
1f8b861ba15c tests-subrepo-git: make the "pwned" message output in a stable order
Danek Duvall <danek.duvall@oracle.com>
parents: 28939
diff changeset
1211 $ rm -f pwned.txt
29135
3879d02cd1cc subrepo: use unset instead of env -u to fix test on BSDs (issue5229)
Kevin Bullock <kbullock+mercurial@ringworld.org>
parents: 28939
diff changeset
1212 $ unset GIT_ALLOW_PROTOCOL
29328
60621cecc8c5 merge with stable
Matt Mackall <mpm@selenic.com>
parents: 29135 29295
diff changeset
1213 $ PWNED_MSG="your git is too old or mercurial has regressed" hg clone \
29257
a9764ab80e11 tests-subrepo-git: emit a different "pwned" message based on the test
Danek Duvall <danek.duvall@oracle.com>
parents: 29256
diff changeset
1214 > malicious-subrepository malicious-subrepository-protected
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1215 Cloning into '$TESTTMP/tc/malicious-subrepository-protected/s'...
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1216 fatal: transport 'ext' not allowed
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1217 updating to branch default
29295
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1218 cloning subrepo s from ext::sh -c echo% pwned:% $PWNED_MSG% >pwned.txt
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
1219 abort: git clone error 128 in s (in subrepository "s")
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1220 [255]
29295
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1221 $ f -Dq pwned.txt
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1222 pwned.txt: file not found
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1223
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1224 whitelisting of ext should be respected (that's the git submodule behaviour)
29256
1f8b861ba15c tests-subrepo-git: make the "pwned" message output in a stable order
Danek Duvall <danek.duvall@oracle.com>
parents: 28939
diff changeset
1225 $ rm -f pwned.txt
29257
a9764ab80e11 tests-subrepo-git: emit a different "pwned" message based on the test
Danek Duvall <danek.duvall@oracle.com>
parents: 29256
diff changeset
1226 $ env GIT_ALLOW_PROTOCOL=ext PWNED_MSG="you asked for it" hg clone \
a9764ab80e11 tests-subrepo-git: emit a different "pwned" message based on the test
Danek Duvall <danek.duvall@oracle.com>
parents: 29256
diff changeset
1227 > malicious-subrepository malicious-subrepository-clone-allowed
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
1228 Cloning into '$TESTTMP/tc/malicious-subrepository-clone-allowed/s'...
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1229 fatal: Could not read from remote repository.
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1230
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1231 Please make sure you have the correct access rights
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1232 and the repository exists.
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1233 updating to branch default
29295
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1234 cloning subrepo s from ext::sh -c echo% pwned:% $PWNED_MSG% >pwned.txt
33365
6d88468d435b subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents: 32902
diff changeset
1235 abort: git clone error 128 in s (in subrepository "s")
28658
34d43cb85de8 subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)
Mateusz Kwapich <mitrandir@fb.com>
parents: 26969
diff changeset
1236 [255]
29295
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1237 $ f -Dq pwned.txt
9b4f0ad02f51 tests-subrepo-git: use "f" to dump pwned.txt, for portability
Danek Duvall <danek.duvall@oracle.com>
parents: 29257
diff changeset
1238 pwned: you asked for it
32902
642feee29d70 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io>
parents: 32413
diff changeset
1239
642feee29d70 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io>
parents: 32413
diff changeset
1240 #endif
33658
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1241
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1242 test for ssh exploit with git subrepos 2017-07-25
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1243
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1244 $ hg init malicious-proxycommand
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1245 $ cd malicious-proxycommand
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1246 $ echo 's = [git]ssh://-oProxyCommand=rm${IFS}non-existent/path' > .hgsub
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1247 $ git init s
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1248 Initialized empty Git repository in $TESTTMP/tc/malicious-proxycommand/s/.git/
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1249 $ cd s
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1250 $ git commit --allow-empty -m 'empty'
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1251 [master (root-commit) 153f934] empty
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1252 $ cd ..
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1253 $ hg add .hgsub
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1254 $ hg ci -m 'add subrepo'
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1255 $ cd ..
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1256 $ hg clone malicious-proxycommand malicious-proxycommand-clone
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1257 updating to branch default
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1258 abort: potentially unsafe url: 'ssh://-oProxyCommand=rm${IFS}non-existent/path' (in subrepository "s")
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1259 [255]
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1260
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1261 also check that a percent encoded '-' (%2D) doesn't work
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1262
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1263 $ cd malicious-proxycommand
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1264 $ echo 's = [git]ssh://%2DoProxyCommand=rm${IFS}non-existent/path' > .hgsub
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1265 $ hg ci -m 'change url to percent encoded'
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1266 $ cd ..
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1267 $ rm -r malicious-proxycommand-clone
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1268 $ hg clone malicious-proxycommand malicious-proxycommand-clone
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1269 updating to branch default
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1270 abort: potentially unsafe url: 'ssh://-oProxyCommand=rm${IFS}non-existent/path' (in subrepository "s")
db83a1df03fe subrepo: add tests for git rogue ssh urls (SEC)
Sean Farley <sean@farley.io>
parents: 33365
diff changeset
1271 [255]