--- a/tests/test-shelve.t Thu Oct 20 12:05:17 2022 -0400
+++ b/tests/test-shelve.t Mon Oct 24 15:32:14 2022 +0200
@@ -24,7 +24,7 @@
$ cat <<EOF >> $HGRCPATH
> [format]
- > internal-phase = yes
+ > use-internal-phase = yes
> EOF
#endif
@@ -253,12 +253,12 @@
(this also tests that same timestamp prevents backups from being
removed, even though there are more than 'maxbackups' backups)
- $ f -t .hg/shelve-backup/default.patch
- .hg/shelve-backup/default.patch: file
- $ touch -t 200001010000 .hg/shelve-backup/default.patch
- $ f -t .hg/shelve-backup/default-1.patch
- .hg/shelve-backup/default-1.patch: file
- $ touch -t 200001010000 .hg/shelve-backup/default-1.patch
+ $ f -t .hg/shelve-backup/default.shelve
+ .hg/shelve-backup/default.shelve: file
+ $ touch -t 200001010000 .hg/shelve-backup/default.shelve
+ $ f -t .hg/shelve-backup/default-1.shelve
+ .hg/shelve-backup/default-1.shelve: file
+ $ touch -t 200001010000 .hg/shelve-backup/default-1.shelve
$ hg unshelve
unshelving change 'default-01'
@@ -1544,4 +1544,87 @@
$ hg update -q --clean .
$ hg patch -p1 test_patch.patch
applying test_patch.patch
+
+ $ hg strip -q -r .
#endif
+
+Check the comment of the last commit for consistency
+
+ $ hg log -r . --template '{desc}\n'
+ add C to bars
+
+-- if phasebased, shelve works without patch and bundle
+
+ $ hg update -q --clean .
+ $ rm -r .hg/shelve*
+ $ echo import antigravity >> somefile.py
+ $ hg add somefile.py
+ $ hg shelve -q
+#if phasebased
+ $ rm .hg/shelved/default.hg
+ $ rm .hg/shelved/default.patch
+#endif
+
+shelve --list --patch should work even with no patch file.
+
+ $ hg shelve --list --patch
+ default (*s ago) * changes to: add C to bars (glob)
+
+ diff --git a/somefile.py b/somefile.py
+ new file mode 100644
+ --- /dev/null
+ +++ b/somefile.py
+ @@ -0,0 +1,1 @@
+ +import antigravity
+
+ $ hg unshelve
+ unshelving change 'default'
+
+#if phasebased
+ $ ls .hg/shelve-backup
+ default.shelve
+#endif
+
+#if stripbased
+ $ ls .hg/shelve-backup
+ default.hg
+ default.patch
+ default.shelve
+#endif
+
+
+-- allow for phase-based shelves to be disabled
+
+ $ hg update -q --clean .
+ $ hg strip -q --hidden -r 0
+ $ rm -r .hg/shelve*
+
+#if phasebased
+ $ cat <<EOF >> $HGRCPATH
+ > [shelve]
+ > store = strip
+ > EOF
+#endif
+
+ $ echo import this >> somefile.py
+ $ hg add somefile.py
+ $ hg shelve -q
+ $ hg log --hidden
+ $ ls .hg/shelved
+ default.hg
+ default.patch
+ default.shelve
+ $ hg unshelve -q
+
+Override the disabling, re-enabling phase-based shelves
+
+ $ hg shelve --config shelve.store=internal -q
+
+#if phasebased
+ $ hg log --hidden --template '{user}\n'
+ shelve@localhost
+#endif
+
+#if stripbased
+ $ hg log --hidden --template '{user}\n'
+#endif