##// END OF EJS Templates
largefiles: restore standins from non branch-tip parent at rollback correctly...
largefiles: restore standins from non branch-tip parent at rollback correctly Before this patch, "hg rollback" can't restore standins correclty, if: - old parent of the working directory is rollback-ed, and - new parent of the working directory is not branch-tip "overriderollback" uses "merge.update" as a kind of "revert" utility to restore only standins with "node=None", and this makes "merge.update" choose "branch-tip" revision as the updating target unexpectedly. Then, "merge.update" restores standins from the branch-tip revision regardless of the parent of the working directory after rollback and this may cause unexpected behavior. This patch invokes "merge.update" with "node='.'" to restore standins from the parent revision of the working directory. In fact, this "merge.update" invocation will be replaced in the subsequent patch to fix another problem, but this change is usefull to inform reason why such complicated case should be tested.

File last commit:

r20319:427d672c stable
r22284:72b37865 default
Show More
test-subrepo-missing.t
102 lines | 2.5 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
>>> file('.hgsubstate', 'wb').write('\n\n \t \n \n')
$ 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
>>> file('.hgsubstate', 'wb').write('\ninvalid')
$ hg st --subrepos
abort: invalid subrepository revision specifier in .hgsubstate line 2
[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
warning: subrepo spec file .hgsub not found
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 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
$ hg up 0
warning: subrepo spec file .hgsub not found
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 warning: subrepo spec file .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 Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 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
warning: subrepo spec file .hgsub not found
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 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
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 remote changed .hgsubstate which local deleted
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 > ${TESTTMP}/obs.py << EOF
> import mercurial.obsolete
> mercurial.obsolete._enabled = True
> EOF
$ cat >> $HGRCPATH << EOF
> [ui]
> logtemplate= {rev}:{node|short} {desc|firstline}
> [phases]
> publish=False
> [extensions]'
> obs=${TESTTMP}/obs.py
> 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 .
revision 102a90ea7b4a in subrepo subrepo is hidden
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..