##// END OF EJS Templates
revlog: extract function for getting node from known-to-exist rev...
revlog: extract function for getting node from known-to-exist rev Many of the calls to index_node() (which converts a rev to a nodeid) are done with a rev that's know to exist. If the function fails, there's something really wrong and we should just abort. This was done in only one place. This patch starts by extracting that code to a function that we can reuse in later patches. Differential Revision: https://phab.mercurial-scm.org/D3456

File last commit:

r35173:ba6324ee stable
r37877:a91f31a1 default
Show More
test-amend-subrepo.t
154 lines | 2.5 KiB | text/troff | Tads3Lexer
/ tests / test-amend-subrepo.t
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017 #testcases obsstore-off obsstore-on
$ cat << EOF >> $HGRCPATH
> [extensions]
> amend =
> EOF
#if obsstore-on
$ cat << EOF >> $HGRCPATH
> [experimental]
> evolution.createmarkers = True
> EOF
#endif
Prepare parent repo
-------------------
$ hg init r
$ cd r
$ echo a > a
$ hg ci -Am0
adding a
Link first subrepo
------------------
$ echo 's = s' >> .hgsub
$ hg add .hgsub
$ hg init s
amend without .hgsub
$ hg amend s
Yuya Nishihara
amend: update .hgsubstate before committing a memctx (issue5677)...
r35019 abort: can't commit subrepos without .hgsub
[255]
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017
amend with subrepo
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
$ hg status --change .
A .hgsub
Yuya Nishihara
amend: update .hgsubstate before committing a memctx (issue5677)...
r35019 A .hgsubstate
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017 A a
$ cat .hgsubstate
0000000000000000000000000000000000000000 s
Update subrepo
--------------
add new commit to be amended
$ echo a >> a
$ hg ci -m1
amend with dirty subrepo
$ echo a >> s/a
$ hg add -R s
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 adding s/a
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017 $ hg amend
Yuya Nishihara
amend: update .hgsubstate before committing a memctx (issue5677)...
r35019 abort: uncommitted changes in subrepository "s"
(use --subrepos for recursive commit)
[255]
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017
amend with modified subrepo
$ hg ci -R s -m0
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
Yuya Nishihara
amend: update .hgsubstate before committing a memctx (issue5677)...
r35019 $ hg status --change .
M .hgsubstate
M a
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017 $ cat .hgsubstate
f7b1eb17ad24730a1651fccd46c43826d1bbc2ac s
revert subrepo change
$ hg up -R s -q null
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
$ hg status --change .
M a
Link another subrepo
--------------------
add new commit to be amended
$ echo b >> b
$ hg ci -qAm2
also checks if non-subrepo change is included
$ echo a >> a
amend with another subrepo
$ hg init t
$ echo b >> t/b
$ hg ci -R t -Am0
adding b
$ echo 't = t' >> .hgsub
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
$ hg status --change .
M .hgsub
Yuya Nishihara
amend: update .hgsubstate before committing a memctx (issue5677)...
r35019 M .hgsubstate
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017 M a
A b
$ cat .hgsubstate
0000000000000000000000000000000000000000 s
bfb1a4fb358498a9533dabf4f2043d94162f1fcd t
Unlink one subrepo
------------------
add new commit to be amended
$ echo a >> a
$ hg ci -m3
amend with one subrepo dropped
$ echo 't = t' > .hgsub
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
$ hg status --change .
M .hgsub
Yuya Nishihara
amend: update .hgsubstate before committing a memctx (issue5677)...
r35019 M .hgsubstate
Yuya Nishihara
tests: demonstrate that .hgsubstate isn't updated on amend...
r35017 M a
$ cat .hgsubstate
bfb1a4fb358498a9533dabf4f2043d94162f1fcd t
Unlink subrepos completely
--------------------------
add new commit to be amended
$ echo a >> a
$ hg ci -m3
amend with .hgsub removed
$ hg rm .hgsub
$ hg amend
saved backup bundle to * (glob) (obsstore-off !)
$ hg status --change .
M a
R .hgsub
R .hgsubstate
$ cd ..