##// END OF EJS Templates
lfs: allow non-lfs exchanges when the extension is only enabled on one side...
lfs: allow non-lfs exchanges when the extension is only enabled on one side Once the 'lfs' requirement is added, the extension must be loaded on both sides, and changegroup3 used. But there's no reason that I can see for bailing with cryptic errors if lfs is not required, but randomly enabled somewhere.

File last commit:

r35173:ba6324ee stable
r35521:2526579a 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 ..