# HG changeset patch # User Pulkit Goyal <7895pul...@gmail.com> # Date 1484337187 -19800 # Sat Jan 14 01:23:07 2017 +0530 # Node ID 9dc4d056d85a041b2b28587b3b84608b1f0903a5 # Parent e9bc34f57537249115de4de5c0990365ef65298e shelve: allow multiple shelves with --patch and --stat
Before this patch, there was a single way to see multiple shelves using `--patch --list` which show all the shelves. Doing `--patch s1 s2` returns an error. This patch allows to show multiple shelves using `--patch` and `--stat`. diff -r e9bc34f57537 -r 9dc4d056d85a hgext/shelve.py --- a/hgext/shelve.py Sun Jan 08 10:08:29 2017 +0800 +++ b/hgext/shelve.py Sat Jan 14 01:23:07 2017 +0530 @@ -523,13 +523,13 @@ ui.write(chunk, label=label) def singlepatchcmds(ui, repo, pats, opts, subcommand): - """subcommand that displays a single shelf""" - if len(pats) != 1: - raise error.Abort(_("--%s expects a single shelf") % subcommand) - shelfname = pats[0] + """subcommand that displays shelves""" + if len(pats) == 0: + raise error.Abort(_("--%s expects atleast one shelf") % subcommand) - if not shelvedfile(repo, shelfname, patchextension).exists(): - raise error.Abort(_("cannot find shelf %s") % shelfname) + for shelfname in pats: + if not shelvedfile(repo, shelfname, patchextension).exists(): + raise error.Abort(_("cannot find shelf %s") % shelfname) listcmd(ui, repo, pats, opts) diff -r e9bc34f57537 -r 9dc4d056d85a tests/test-shelve.t --- a/tests/test-shelve.t Sun Jan 08 10:08:29 2017 +0800 +++ b/tests/test-shelve.t Sat Jan 14 01:23:07 2017 +0530 @@ -991,7 +991,7 @@ x x -shelve --patch and shelve --stat should work with a single valid shelfname +shelve --patch and shelve --stat should work with valid shelfnames $ hg up --clean . 1 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -1008,11 +1008,29 @@ shelved as default-01 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ hg shelve --patch default default-01 - abort: --patch expects a single shelf - [255] + default-01 (1s ago) changes to: create conflict + + diff --git a/shelf-patch-b b/shelf-patch-b + new file mode 100644 + --- /dev/null + +++ b/shelf-patch-b + @@ -0,0 +1,1 @@ + +patch b + default (1s ago) changes to: create conflict + + diff --git a/shelf-patch-a b/shelf-patch-a + new file mode 100644 + --- /dev/null + +++ b/shelf-patch-a + @@ -0,0 +1,1 @@ + +patch a $ hg shelve --stat default default-01 - abort: --stat expects a single shelf - [255] + default-01 (1s ago) changes to: create conflict + shelf-patch-b | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + default (1s ago) changes to: create conflict + shelf-patch-a | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) $ hg shelve --patch default default (*)* changes to: create conflict (glob) @@ -1032,6 +1050,12 @@ $ hg shelve --stat nonexistentshelf abort: cannot find shelf nonexistentshelf [255] + $ hg shelve --patch default nonexistentshelf + abort: cannot find shelf nonexistentshelf + [255] + $ hg shelve --patch + abort: --patch expects atleast one shelf + [255] $ cd .. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel