##// END OF EJS Templates
changegroup: move file matcher from narrow extension...
changegroup: move file matcher from narrow extension Sparse changegroup generation requires the use of a matcher to filter which files are relevant. This commit moves the file matcher from the narrow extension to core and updates the narrow extension to use it. I'm not sure why the narrow extension was storing the matcher as a callable that resolved to a matcher. So I changed it to be a simple matcher instance. In addition, code from narrow to intersect the matcher with the local narrow spec is now performed automatically when the changegroup packer is created. If a matcher is not passed into getbundler() an alwaysmatcher() is assumed. This ensures that a matcher is always defined for all operations. Differential Revision: https://phab.mercurial-scm.org/D4011

File last commit:

r37602:fd0e6678 default
r38818:9c057acb default
Show More
test-subrepo-missing.t
141 lines | 3.9 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-missing.t
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 $ hg init repo
$ cd repo
$ hg init subrepo
$ echo a > subrepo/a
$ hg -R subrepo ci -Am adda
adding a
$ echo 'subrepo = subrepo' > .hgsub
$ hg ci -Am addsubrepo
adding .hgsub
$ echo b > subrepo/b
$ hg -R subrepo ci -Am addb
adding b
$ hg ci -m updatedsub
Patrick Mezard
subrepo: ignore blank lines in .hgsubstate (issue3424)...
r16595 ignore blanklines in .hgsubstate
Pulkit Goyal
py3: suppress the return value of write() in tests/test-subrepo-missing.t...
r37602 >>> open('.hgsubstate', 'wb').write(b'\n\n \t \n \n') and None
Patrick Mezard
subrepo: ignore blank lines in .hgsubstate (issue3424)...
r16595 $ hg st --subrepos
M .hgsubstate
$ hg revert -qC .hgsubstate
Patrick Mezard
subrepo: do not traceback on .hgsubstate parsing errors...
r16596 abort more gracefully on .hgsubstate parsing error
$ cp .hgsubstate .hgsubstate.old
Pulkit Goyal
py3: suppress the return value of write() in tests/test-subrepo-missing.t...
r37602 >>> open('.hgsubstate', 'wb').write(b'\ninvalid') and None
FUJIWARA Katsunori
subrepo: use repo.pathto instead of util.pathto to simplify invocation...
r25769 $ hg st --subrepos --cwd $TESTTMP -R $TESTTMP/repo
Matt Harbison
test-subrepo: fix globs for Windows...
r25865 abort: invalid subrepository revision specifier in 'repo/.hgsubstate' line 2
Patrick Mezard
subrepo: do not traceback on .hgsubstate parsing errors...
r16596 [255]
$ mv .hgsubstate.old .hgsubstate
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 delete .hgsub and revert it
$ rm .hgsub
$ hg revert .hgsub
Matt Harbison
subrepo: precisely identify the missing subrepo spec file...
r24645 warning: subrepo spec file '.hgsub' not found
warning: subrepo spec file '.hgsub' not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017
delete .hgsubstate and revert it
$ rm .hgsubstate
$ hg revert .hgsubstate
delete .hgsub and update
$ rm .hgsub
FUJIWARA Katsunori
subrepo: use repo.pathto instead of util.pathto to simplify invocation...
r25769 $ hg up 0 --cwd $TESTTMP -R $TESTTMP/repo
Matt Harbison
test-subrepo: fix globs for Windows...
r25865 warning: subrepo spec file 'repo/.hgsub' not found
warning: subrepo spec file 'repo/.hgsub' not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg st
Matt Harbison
subrepo: precisely identify the missing subrepo spec file...
r24645 warning: subrepo spec file '.hgsub' not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 ! .hgsub
$ ls subrepo
a
delete .hgsubstate and update
$ hg up -C
Matt Harbison
subrepo: precisely identify the missing subrepo spec file...
r24645 warning: subrepo spec file '.hgsub' not found
warning: subrepo spec file '.hgsub' not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm .hgsubstate
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg up 0
Simon Farnsworth
merge: always use other, not remote, in user prompts...
r29775 other [destination] changed .hgsubstate which local [working copy] deleted
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 use (c)hanged version or leave (d)eleted? c
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg st
$ ls subrepo
a
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 Enable obsolete
$ cat >> $HGRCPATH << EOF
> [ui]
> logtemplate= {rev}:{node|short} {desc|firstline}
> [phases]
> publish=False
Durham Goode
obsolete: update tests to use obsolete options...
r22955 > [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 > EOF
check that we can update parent repo with missing (amended) subrepo revision
$ hg up --repository subrepo -r tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg ci -m "updated subrepo to tip"
created new head
$ cd subrepo
$ hg update -r tip
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo foo > a
$ hg commit --amend -m "addb (amended)"
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 $ hg update --clean .
Matt Harbison
subrepo: make the output references to subrepositories consistent...
r33365 revision 102a90ea7b4a in subrepository "subrepo" is hidden
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Harbison
subrepo: propagate the --hidden option to hg subrepositories...
r24877 check that --hidden is propagated to the subrepo
$ hg -R subrepo up tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg ci -m 'commit with amended subrepo'
$ echo bar > subrepo/a
$ hg -R subrepo ci --amend -m "amend a (again)"
$ hg --hidden cat subrepo/a
foo
Matt Harbison
verify: check the subrepository references in .hgsubstate...
r25591 verify will warn if locked-in subrepo revisions are hidden or missing
$ hg ci -m "amended subrepo (again)"
strip: strip obsmarkers exclusive to the stripped changeset...
r32629 $ hg --config extensions.strip= --hidden strip -R subrepo -qr 'tip' --config devel.strip-obsmarkers=no
Matt Harbison
verify: check the subrepository references in .hgsubstate...
r25591 $ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 5 total revisions
checking subrepo links
subrepo 'subrepo' is hidden in revision a66de08943b6
subrepo 'subrepo' is hidden in revision 674d05939c1e
subrepo 'subrepo' not found in revision a7d05d9055a4
Matt Harbison
verify: don't init subrepo when missing one is referenced (issue5128) (API)...
r29021 verifying shouldn't init a new subrepo if the reference doesn't exist
$ mv subrepo b
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 5 total revisions
checking subrepo links
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 0: repository $TESTTMP/repo/subrepo not found
1: repository $TESTTMP/repo/subrepo not found
3: repository $TESTTMP/repo/subrepo not found
4: repository $TESTTMP/repo/subrepo not found
Matt Harbison
verify: don't init subrepo when missing one is referenced (issue5128) (API)...
r29021 $ ls
b
$ mv b subrepo
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 $ cd ..