Mercurial > public > mercurial-scm > hg
diff tests/test-largefiles.t @ 16516:597ddcb41b32 stable
largefiles: notice dirty large files in a subrepo
Summary and commit use dirty() to check the status of a subrepository,
so this overrides dirty() in the subrepo in the same manner as
status() to check the large files instead of their standins.
Previously, if only a large file was changed in a subrepo, summary in
the top level repo would not report the subrepo was dirty and commit
-S would report nothing changed. If any type of file was changed in
the top repo and only a large file in the subrepo, commit -S would not
commit the changes to the subrepo.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 22 Apr 2012 13:19:22 -0400 |
parents | 12dabc22de77 |
children | bb3334806ace |
line wrap: on
line diff
--- a/tests/test-largefiles.t Sun Apr 22 03:47:34 2012 -0400 +++ b/tests/test-largefiles.t Sun Apr 22 13:19:22 2012 -0400 @@ -1060,19 +1060,40 @@ ? .hgsubstate $ echo "rev 1" > subrepo/large.txt $ hg -R subrepo add --large subrepo/large.txt + $ hg sum + parent: 1:8ee150ea2e9c tip + add subrepo + branch: default + commit: 1 subrepos + update: (current) $ hg st $ hg st -S A subrepo/large.txt -# This is a workaround for not noticing the subrepo is dirty - $ hg -R subrepo ci -m "commit large file" + $ hg ci -S -m "commit top repo" + committing subrepository subrepo Invoking status precommit hook A large.txt - $ hg ci -S -m "commit top repo" Invoking status precommit hook M .hgsubstate +# No differences $ hg st -S + $ hg sum + parent: 2:ce4cd0c527a6 tip + commit top repo + branch: default + commit: (clean) + update: (current) $ echo "rev 2" > subrepo/large.txt $ hg st -S M subrepo/large.txt - + $ hg sum + parent: 2:ce4cd0c527a6 tip + commit top repo + branch: default + commit: 1 subrepos + update: (current) + $ hg ci -m "this commit should fail without -S" + abort: uncommitted changes in subrepo subrepo + (use --subrepos for recursive commit) + [255] $ cd ..