# HG changeset patch # User Mads Kiilerich # Date 2009-10-16 09:16:42 # Node ID 1e1809d7c35a176203fcc44884019f441565d197 # Parent bd017f359c0867e9aa8bee2fe69ed81720b15087 # Parent 1f54b1b7122f53d8fe077a22f49a163a65409546 Redo c655432c2c24 (issue1860) diff --git a/contrib/bash_completion b/contrib/bash_completion --- a/contrib/bash_completion +++ b/contrib/bash_completion @@ -278,6 +278,22 @@ complete -o bashdefault -o default -F _h # Completion for commands provided by extensions +# bookmarks +_hg_bookmarks() +{ + local bookmarks="$("$hg" bookmarks --quiet 2>/dev/null )" + local IFS=$'\n' + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$bookmarks' -- "$cur")) +} + +_hg_cmd_bookmarks() +{ + if [[ "$prev" = @(-d|--delete|-m|--rename) ]]; then + _hg_bookmarks + return + fi +} + # mq _hg_ext_mq_patchlist() { diff --git a/hgext/bookmarks.py b/hgext/bookmarks.py --- a/hgext/bookmarks.py +++ b/hgext/bookmarks.py @@ -193,8 +193,11 @@ def bookmark(ui, repo, mark=None, rev=No else: prefix = (n == cur) and '*' or ' ' - ui.write(" %s %-25s %d:%s\n" % ( - prefix, bmark, repo.changelog.rev(n), hexfn(n))) + if ui.quiet: + ui.write("%s\n" % bmark) + else: + ui.write(" %s %-25s %d:%s\n" % ( + prefix, bmark, repo.changelog.rev(n), hexfn(n))) return def _revstostrip(changelog, node): diff --git a/hgext/record.py b/hgext/record.py --- a/hgext/record.py +++ b/hgext/record.py @@ -291,7 +291,7 @@ def filterpatch(ui, chunks): _('Record &all changes to all remaining files'), _('&Quit, recording no changes'), _('&?')) - r = ui.promptchoice("%s %s " % (query, resps), choices) + r = ui.promptchoice("%s %s" % (query, resps), choices) if r == 7: # ? doc = gettext(record.__doc__) c = doc.find(_('y - record this change')) diff --git a/tests/test-keyword b/tests/test-keyword --- a/tests/test-keyword +++ b/tests/test-keyword @@ -5,6 +5,20 @@ cat <> $HGRCPATH hgext.keyword = hgext.mq = hgext.notify = +EOF + +# demo before [keyword] files are set up +# would succeed without uisetup otherwise +echo % hg kwdemo +hg --quiet kwdemo \ +| sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \ + -e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \ + -e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \ + -e 's! 20[0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-6][0-9]:[0-6][0-9]! 2000/00/00 00:00:00!' + +hg --quiet kwdemo "Branch = {branches}" + +cat <> $HGRCPATH [keyword] * = b = ignore @@ -13,15 +27,6 @@ commit= commit.test=cp a hooktest EOF -echo % hg kwdemo -hg --quiet kwdemo --default \ -| sed -e 's![^ ][^ ]*demo.txt,v!/TMP/demo.txt,v!' \ - -e 's/,v [a-z0-9][a-z0-9]* /,v xxxxxxxxxxxx /' \ - -e '/[$]Revision/ s/: [a-z0-9][a-z0-9]* /: xxxxxxxxxxxx /' \ - -e 's! 20[0-9][0-9]/[01][0-9]/[0-3][0-9] [0-2][0-9]:[0-6][0-9]:[0-6][0-9]! 2000/00/00 00:00:00!' - -hg --quiet kwdemo "Branch = {branches}" - hg init Test-bndl cd Test-bndl diff --git a/tests/test-keyword.out b/tests/test-keyword.out --- a/tests/test-keyword.out +++ b/tests/test-keyword.out @@ -2,8 +2,6 @@ [extensions] hgext.keyword = [keyword] -* = -b = ignore demo.txt = [keywordmaps] RCSFile = {file|basename},v @@ -23,8 +21,6 @@ Revision = {node|short} [extensions] hgext.keyword = [keyword] -* = -b = ignore demo.txt = [keywordmaps] Branch = {branches} diff --git a/tests/test-qrecord.out b/tests/test-qrecord.out --- a/tests/test-qrecord.out +++ b/tests/test-qrecord.out @@ -80,28 +80,28 @@ diff -r 1057167b20ef dir/a.txt % qrecord a.patch diff --git a/1.txt b/1.txt 2 hunks, 4 lines changed -examine changes to '1.txt'? [Ynsfdaq?] @@ -1,3 +1,3 @@ +examine changes to '1.txt'? [Ynsfdaq?] @@ -1,3 +1,3 @@ 1 -2 +2 2 3 -record change 1/6 to '1.txt'? [Ynsfdaq?] @@ -3,3 +3,3 @@ +record change 1/6 to '1.txt'? [Ynsfdaq?] @@ -3,3 +3,3 @@ 3 -4 +4 4 5 -record change 2/6 to '1.txt'? [Ynsfdaq?] diff --git a/2.txt b/2.txt +record change 2/6 to '1.txt'? [Ynsfdaq?] diff --git a/2.txt b/2.txt 1 hunks, 2 lines changed -examine changes to '2.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@ +examine changes to '2.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@ a -b +b b c d e -record change 4/6 to '2.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt +record change 4/6 to '2.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt 1 hunks, 2 lines changed -examine changes to 'dir/a.txt'? [Ynsfdaq?] +examine changes to 'dir/a.txt'? [Ynsfdaq?] % after qrecord a.patch 'tip' changeset: 1:5d1ca63427ee tag: qtip @@ -157,22 +157,22 @@ diff -r 5d1ca63427ee dir/a.txt % qrecord b.patch diff --git a/1.txt b/1.txt 1 hunks, 2 lines changed -examine changes to '1.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@ +examine changes to '1.txt'? [Ynsfdaq?] @@ -1,5 +1,5 @@ 1 2 2 3 -4 +4 4 5 -record change 1/3 to '1.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt +record change 1/3 to '1.txt'? [Ynsfdaq?] diff --git a/dir/a.txt b/dir/a.txt 1 hunks, 2 lines changed -examine changes to 'dir/a.txt'? [Ynsfdaq?] @@ -1,4 +1,4 @@ +examine changes to 'dir/a.txt'? [Ynsfdaq?] @@ -1,4 +1,4 @@ -hello world +hello world! someone up -record change 3/3 to 'dir/a.txt'? [Ynsfdaq?] +record change 3/3 to 'dir/a.txt'? [Ynsfdaq?] % after qrecord b.patch 'tip' changeset: 2:b056198bf878 tag: qtip diff --git a/tests/test-record.out b/tests/test-record.out --- a/tests/test-record.out +++ b/tests/test-record.out @@ -39,7 +39,7 @@ use "hg -v help record" to show global o % select no files diff --git a/empty-rw b/empty-rw new file mode 100644 -examine changes to 'empty-rw'? [Ynsfdaq?] no changes to record +examine changes to 'empty-rw'? [Ynsfdaq?] no changes to record changeset: -1:000000000000 tag: tip @@ -50,7 +50,7 @@ date: Thu Jan 01 00:00:00 1970 +0 % select files but no hunks diff --git a/empty-rw b/empty-rw new file mode 100644 -examine changes to 'empty-rw'? [Ynsfdaq?] abort: empty commit message +examine changes to 'empty-rw'? [Ynsfdaq?] abort: empty commit message changeset: -1:000000000000 tag: tip @@ -61,7 +61,7 @@ date: Thu Jan 01 00:00:00 1970 +0 % record empty file diff --git a/empty-rw b/empty-rw new file mode 100644 -examine changes to 'empty-rw'? [Ynsfdaq?] +examine changes to 'empty-rw'? [Ynsfdaq?] changeset: 0:c0708cf4e46e tag: tip user: test @@ -73,7 +73,7 @@ summary: empty diff --git a/empty-rw b/empty-rename rename from empty-rw rename to empty-rename -examine changes to 'empty-rw' and 'empty-rename'? [Ynsfdaq?] +examine changes to 'empty-rw' and 'empty-rename'? [Ynsfdaq?] changeset: 1:df251d174da3 tag: tip user: test @@ -85,7 +85,7 @@ summary: rename diff --git a/empty-rename b/empty-copy copy from empty-rename copy to empty-copy -examine changes to 'empty-rename' and 'empty-copy'? [Ynsfdaq?] +examine changes to 'empty-rename' and 'empty-copy'? [Ynsfdaq?] changeset: 2:b63ea3939f8d tag: tip user: test @@ -96,7 +96,7 @@ summary: copy % delete empty file diff --git a/empty-copy b/empty-copy deleted file mode 100644 -examine changes to 'empty-copy'? [Ynsfdaq?] +examine changes to 'empty-copy'? [Ynsfdaq?] changeset: 3:a2546574bce9 tag: tip user: test @@ -109,7 +109,7 @@ 1 changesets found diff --git a/tip.bundle b/tip.bundle new file mode 100644 this is a binary file -examine changes to 'tip.bundle'? [Ynsfdaq?] +examine changes to 'tip.bundle'? [Ynsfdaq?] changeset: 4:9e998a545a8b tag: tip user: test @@ -123,7 +123,7 @@ Binary file tip.bundle has changed 1 changesets found diff --git a/tip.bundle b/tip.bundle this modifies a binary file (all or nothing) -examine changes to 'tip.bundle'? [Ynsfdaq?] +examine changes to 'tip.bundle'? [Ynsfdaq?] changeset: 5:93d05561507d tag: tip user: test @@ -139,7 +139,7 @@ diff --git a/tip.bundle b/top.bundle rename from tip.bundle rename to top.bundle this modifies a binary file (all or nothing) -examine changes to 'tip.bundle' and 'top.bundle'? [Ynsfdaq?] +examine changes to 'tip.bundle' and 'top.bundle'? [Ynsfdaq?] changeset: 6:699cc1bea9aa tag: tip user: test @@ -154,7 +154,7 @@ Binary file top.bundle has changed % add plain file diff --git a/plain b/plain new file mode 100644 -examine changes to 'plain'? [Ynsfdaq?] +examine changes to 'plain'? [Ynsfdaq?] changeset: 7:118ed744216b tag: tip user: test @@ -179,46 +179,46 @@ diff -r 699cc1bea9aa -r 118ed744216b pla % modify end of plain file diff --git a/plain b/plain 1 hunks, 1 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -8,3 +8,4 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -8,3 +8,4 @@ 8 9 10 +11 -record this change to 'plain'? [Ynsfdaq?] % modify end of plain file, no EOL +record this change to 'plain'? [Ynsfdaq?] % modify end of plain file, no EOL diff --git a/plain b/plain 1 hunks, 1 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -9,3 +9,4 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -9,3 +9,4 @@ 9 10 11 +cf81a2760718a74d44c0c2eecb72f659e63a69c5 \ No newline at end of file -record this change to 'plain'? [Ynsfdaq?] % modify end of plain file, add EOL +record this change to 'plain'? [Ynsfdaq?] % modify end of plain file, add EOL diff --git a/plain b/plain 1 hunks, 2 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -9,4 +9,4 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -9,4 +9,4 @@ 9 10 11 -cf81a2760718a74d44c0c2eecb72f659e63a69c5 \ No newline at end of file +cf81a2760718a74d44c0c2eecb72f659e63a69c5 -record this change to 'plain'? [Ynsfdaq?] % modify beginning, trim end, record both +record this change to 'plain'? [Ynsfdaq?] % modify beginning, trim end, record both diff --git a/plain b/plain 2 hunks, 4 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -1,4 +1,4 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -1,4 +1,4 @@ -1 +2 2 3 4 -record change 1/2 to 'plain'? [Ynsfdaq?] @@ -8,5 +8,3 @@ +record change 1/2 to 'plain'? [Ynsfdaq?] @@ -8,5 +8,3 @@ 8 9 10 -11 -cf81a2760718a74d44c0c2eecb72f659e63a69c5 -record change 2/2 to 'plain'? [Ynsfdaq?] +record change 2/2 to 'plain'? [Ynsfdaq?] changeset: 11:d09ab1967dab tag: tip user: test @@ -245,7 +245,7 @@ diff -r e2ecd9b0b78d -r d09ab1967dab pla % record end diff --git a/plain b/plain 2 hunks, 5 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -1,9 +1,6 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -1,9 +1,6 @@ -2 -2 -3 @@ -255,7 +255,7 @@ examine changes to 'plain'? [Ynsfdaq?] 7 8 9 -record change 1/2 to 'plain'? [Ynsfdaq?] @@ -4,7 +1,7 @@ +record change 1/2 to 'plain'? [Ynsfdaq?] @@ -4,7 +1,7 @@ 4 5 6 @@ -264,7 +264,7 @@ record change 1/2 to 'plain'? [Ynsfdaq?] 9 -10 +10.new -record change 2/2 to 'plain'? [Ynsfdaq?] +record change 2/2 to 'plain'? [Ynsfdaq?] changeset: 12:44516c9708ae tag: tip user: test @@ -284,14 +284,14 @@ diff -r d09ab1967dab -r 44516c9708ae pla % record beginning diff --git a/plain b/plain 1 hunks, 3 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -1,6 +1,3 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -1,6 +1,3 @@ -2 -2 -3 4 5 6 -record this change to 'plain'? [Ynsfdaq?] +record this change to 'plain'? [Ynsfdaq?] changeset: 13:3ebbace64a8d tag: tip user: test @@ -313,7 +313,7 @@ diff -r 44516c9708ae -r 3ebbace64a8d pla % record end diff --git a/plain b/plain 2 hunks, 4 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -1,6 +1,9 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -1,6 +1,9 @@ +1 +2 +3 @@ -323,7 +323,7 @@ examine changes to 'plain'? [Ynsfdaq?] 7 8 9 -record change 1/2 to 'plain'? [Ynsfdaq?] @@ -1,7 +4,6 @@ +record change 1/2 to 'plain'? [Ynsfdaq?] @@ -1,7 +4,6 @@ 4 5 6 @@ -331,17 +331,17 @@ record change 1/2 to 'plain'? [Ynsfdaq?] 8 9 -10.new -record change 2/2 to 'plain'? [Ynsfdaq?] % add to beginning, middle, end +record change 2/2 to 'plain'? [Ynsfdaq?] % add to beginning, middle, end % record beginning, middle diff --git a/plain b/plain 3 hunks, 7 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -1,2 +1,5 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -1,2 +1,5 @@ +1 +2 +3 4 5 -record change 1/3 to 'plain'? [Ynsfdaq?] @@ -1,6 +4,8 @@ +record change 1/3 to 'plain'? [Ynsfdaq?] @@ -1,6 +4,8 @@ 4 5 +5.new @@ -350,14 +350,14 @@ record change 1/3 to 'plain'? [Ynsfdaq?] 7 8 9 -record change 2/3 to 'plain'? [Ynsfdaq?] @@ -3,4 +8,6 @@ +record change 2/3 to 'plain'? [Ynsfdaq?] @@ -3,4 +8,6 @@ 6 7 8 9 +10 +11 -record change 3/3 to 'plain'? [Ynsfdaq?] +record change 3/3 to 'plain'? [Ynsfdaq?] changeset: 15:c1c639d8b268 tag: tip user: test @@ -382,13 +382,13 @@ diff -r efc0dad7bd9f -r c1c639d8b268 pla % record end diff --git a/plain b/plain 1 hunks, 2 lines changed -examine changes to 'plain'? [Ynsfdaq?] @@ -9,3 +9,5 @@ +examine changes to 'plain'? [Ynsfdaq?] @@ -9,3 +9,5 @@ 7 8 9 +10 +11 -record this change to 'plain'? [Ynsfdaq?] +record this change to 'plain'? [Ynsfdaq?] changeset: 16:80b74bbc7808 tag: tip user: test @@ -408,10 +408,10 @@ diff -r c1c639d8b268 -r 80b74bbc7808 pla adding subdir/a diff --git a/subdir/a b/subdir/a 1 hunks, 1 lines changed -examine changes to 'subdir/a'? [Ynsfdaq?] @@ -1,1 +1,2 @@ +examine changes to 'subdir/a'? [Ynsfdaq?] @@ -1,1 +1,2 @@ a +a -record this change to 'subdir/a'? [Ynsfdaq?] +record this change to 'subdir/a'? [Ynsfdaq?] changeset: 18:33ff5c4fb017 tag: tip user: test @@ -428,7 +428,7 @@ diff -r aecf2b2ea83c -r 33ff5c4fb017 sub % help, quit diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] y - record this change +examine changes to 'subdir/f1'? [Ynsfdaq?] y - record this change n - skip this change s - skip remaining changes to this file f - record remaining changes to this file @@ -436,31 +436,31 @@ d - done, skip remaining changes and fil a - record all changes to all remaining files q - quit, recording no changes ? - display help -examine changes to 'subdir/f1'? [Ynsfdaq?] abort: user quit +examine changes to 'subdir/f1'? [Ynsfdaq?] abort: user quit % skip diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 +examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 1 hunks, 1 lines changed -examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected +examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected % no diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 +examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 1 hunks, 1 lines changed -examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected +examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected % f, quit diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 +examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 1 hunks, 1 lines changed -examine changes to 'subdir/f2'? [Ynsfdaq?] abort: user quit +examine changes to 'subdir/f2'? [Ynsfdaq?] abort: user quit % s, all diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 +examine changes to 'subdir/f1'? [Ynsfdaq?] diff --git a/subdir/f2 b/subdir/f2 1 hunks, 1 lines changed -examine changes to 'subdir/f2'? [Ynsfdaq?] +examine changes to 'subdir/f2'? [Ynsfdaq?] changeset: 20:094183e04b7c tag: tip user: test @@ -477,7 +477,7 @@ diff -r f9e855cd9374 -r 094183e04b7c sub % f diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] +examine changes to 'subdir/f1'? [Ynsfdaq?] changeset: 21:38164785b0ef tag: tip user: test @@ -496,11 +496,11 @@ diff --git a/subdir/f1 b/subdir/f1 old mode 100644 new mode 100755 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -1,2 +1,3 @@ +examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -1,2 +1,3 @@ a a +a -record this change to 'subdir/f1'? [Ynsfdaq?] +record this change to 'subdir/f1'? [Ynsfdaq?] changeset: 22:a891589cb933 tag: tip user: test @@ -520,12 +520,12 @@ new mode 100755 % preserve execute permission on original diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -1,3 +1,4 @@ +examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -1,3 +1,4 @@ a a a +b -record this change to 'subdir/f1'? [Ynsfdaq?] +record this change to 'subdir/f1'? [Ynsfdaq?] changeset: 23:befa0dae6201 tag: tip user: test @@ -546,12 +546,12 @@ diff --git a/subdir/f1 b/subdir/f1 old mode 100755 new mode 100644 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -2,3 +2,4 @@ +examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -2,3 +2,4 @@ a a b +c -record this change to 'subdir/f1'? [Ynsfdaq?] +record this change to 'subdir/f1'? [Ynsfdaq?] changeset: 24:8fd83ff53ce6 tag: tip user: test @@ -572,12 +572,12 @@ new mode 100644 % with win32ext diff --git a/subdir/f1 b/subdir/f1 1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -3,3 +3,4 @@ +examine changes to 'subdir/f1'? [Ynsfdaq?] @@ -3,3 +3,4 @@ a b c +d -record this change to 'subdir/f1'? [Ynsfdaq?] +record this change to 'subdir/f1'? [Ynsfdaq?] changeset: 25:49b3838dc9e7 tag: tip user: test