diff --git a/tests/test-record.out b/tests/test-record.out deleted file mode 100644 --- a/tests/test-record.out +++ /dev/null @@ -1,670 +0,0 @@ -% help -hg record [OPTION]... [FILE]... - -interactively select changes to commit - - If a list of files is omitted, all changes reported by "hg status" will be - candidates for recording. - - See "hg help dates" for a list of formats valid for -d/--date. - - You will be prompted for whether to record changes to each modified file, - and for files with multiple changes, for each change to use. For each - query, the following responses are possible: - - y - record this change - n - skip this change - - s - skip remaining changes to this file - f - record remaining changes to this file - - d - done, skip remaining changes and files - a - record all changes to all remaining files - q - quit, recording no changes - - ? - display help - - This command is not available when committing a merge. - -options: - - -A --addremove mark new/missing files as added/removed before - committing - --close-branch mark a branch as closed, hiding it from the branch - list - -I --include PATTERN [+] include names matching the given patterns - -X --exclude PATTERN [+] exclude names matching the given patterns - -m --message TEXT use text as commit message - -l --logfile FILE read commit message from file - -d --date DATE record datecode as commit date - -u --user USER record the specified user as committer - -[+] marked option can be specified multiple times - -use "hg -v help record" to show global options -% 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 - -changeset: -1:000000000000 -tag: tip -user: -date: Thu Jan 01 00:00:00 1970 +0000 - - -% 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 - -changeset: -1:000000000000 -tag: tip -user: -date: Thu Jan 01 00:00:00 1970 +0000 - - -% record empty file -diff --git a/empty-rw b/empty-rw -new file mode 100644 -examine changes to 'empty-rw'? [Ynsfdaq?] - -changeset: 0:c0708cf4e46e -tag: tip -user: test -date: Thu Jan 01 00:00:00 1970 +0000 -summary: empty - - -% summary shows we updated to the new cset -parent: 0:c0708cf4e46e tip - empty -branch: default -commit: (clean) -update: (current) - -% rename empty file -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?] - -changeset: 1:d695e8dcb197 -tag: tip -user: test -date: Thu Jan 01 00:00:01 1970 +0000 -summary: rename - - -% copy empty file -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?] - -changeset: 2:1d4b90bea524 -tag: tip -user: test -date: Thu Jan 01 00:00:02 1970 +0000 -summary: copy - - -% delete empty file -diff --git a/empty-copy b/empty-copy -deleted file mode 100644 -examine changes to 'empty-copy'? [Ynsfdaq?] - -changeset: 3:b39a238f01a1 -tag: tip -user: test -date: Thu Jan 01 00:00:03 1970 +0000 -summary: delete - - -% add binary file -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?] - -changeset: 4:ad816da3711e -tag: tip -user: test -date: Thu Jan 01 00:00:04 1970 +0000 -summary: binary - -diff -r b39a238f01a1 -r ad816da3711e tip.bundle -Binary file tip.bundle has changed - -% change binary file -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?] - -changeset: 5:dccd6f3eb485 -tag: tip -user: test -date: Thu Jan 01 00:00:05 1970 +0000 -summary: binary-change - -diff -r ad816da3711e -r dccd6f3eb485 tip.bundle -Binary file tip.bundle has changed - -% rename and change binary file -1 changesets found -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?] - -changeset: 6:7fa44105f5b3 -tag: tip -user: test -date: Thu Jan 01 00:00:06 1970 +0000 -summary: binary-change-rename - -diff -r dccd6f3eb485 -r 7fa44105f5b3 tip.bundle -Binary file tip.bundle has changed -diff -r dccd6f3eb485 -r 7fa44105f5b3 top.bundle -Binary file top.bundle has changed - -% add plain file -diff --git a/plain b/plain -new file mode 100644 -examine changes to 'plain'? [Ynsfdaq?] - -changeset: 7:11fb457c1be4 -tag: tip -user: test -date: Thu Jan 01 00:00:07 1970 +0000 -summary: plain - -diff -r 7fa44105f5b3 -r 11fb457c1be4 plain ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/plain Thu Jan 01 00:00:07 1970 +0000 -@@ -0,0 +1,10 @@ -+1 -+2 -+3 -+4 -+5 -+6 -+7 -+8 -+9 -+10 - -% 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 @@ - 8 - 9 - 10 -+11 -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 @@ - 9 - 10 - 11 -+7264f99c5f5ff3261504828afa4fb4d406c3af54 -\ No newline at end of file -record this change to 'plain'? [Ynsfdaq?] -% modify end of plain file, add EOL -diff --git a/plain b/plain -1 hunks, 1 lines changed -examine changes to 'plain'? [Ynsfdaq?] -@@ -9,4 +9,4 @@ - 9 - 10 - 11 --7264f99c5f5ff3261504828afa4fb4d406c3af54 -\ No newline at end of file -+7264f99c5f5ff3261504828afa4fb4d406c3af54 -record this change to 'plain'? [Ynsfdaq?] -% modify beginning, trim end, record both -diff --git a/plain b/plain -2 hunks, 3 lines changed -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 @@ - 8 - 9 - 10 --11 --7264f99c5f5ff3261504828afa4fb4d406c3af54 -record change 2/2 to 'plain'? [Ynsfdaq?] - -changeset: 11:efca65c9b09e -tag: tip -user: test -date: Thu Jan 01 00:00:10 1970 +0000 -summary: begin-and-end - -diff -r cd07d48e8cbe -r efca65c9b09e plain ---- a/plain Thu Jan 01 00:00:10 1970 +0000 -+++ b/plain Thu Jan 01 00:00:10 1970 +0000 -@@ -1,4 +1,4 @@ --1 -+2 - 2 - 3 - 4 -@@ -8,5 +8,3 @@ - 8 - 9 - 10 --11 --7264f99c5f5ff3261504828afa4fb4d406c3af54 - -% trim beginning, modify end -% record end -diff --git a/plain b/plain -2 hunks, 4 lines changed -examine changes to 'plain'? [Ynsfdaq?] -@@ -1,9 +1,6 @@ --2 --2 --3 - 4 - 5 - 6 - 7 - 8 - 9 -record change 1/2 to 'plain'? [Ynsfdaq?] -@@ -4,7 +1,7 @@ - 4 - 5 - 6 - 7 - 8 - 9 --10 -+10.new -record change 2/2 to 'plain'? [Ynsfdaq?] - -changeset: 12:7d1e66983c15 -tag: tip -user: test -date: Thu Jan 01 00:00:11 1970 +0000 -summary: end-only - -diff -r efca65c9b09e -r 7d1e66983c15 plain ---- a/plain Thu Jan 01 00:00:10 1970 +0000 -+++ b/plain Thu Jan 01 00:00:11 1970 +0000 -@@ -7,4 +7,4 @@ - 7 - 8 - 9 --10 -+10.new - -% record beginning -diff --git a/plain b/plain -1 hunks, 3 lines changed -examine changes to 'plain'? [Ynsfdaq?] -@@ -1,6 +1,3 @@ --2 --2 --3 - 4 - 5 - 6 -record this change to 'plain'? [Ynsfdaq?] - -changeset: 13:a09fc62a0e61 -tag: tip -user: test -date: Thu Jan 01 00:00:12 1970 +0000 -summary: begin-only - -diff -r 7d1e66983c15 -r a09fc62a0e61 plain ---- a/plain Thu Jan 01 00:00:11 1970 +0000 -+++ b/plain Thu Jan 01 00:00:12 1970 +0000 -@@ -1,6 +1,3 @@ --2 --2 --3 - 4 - 5 - 6 - -% add to beginning, trim from end -% record end -diff --git a/plain b/plain -2 hunks, 4 lines changed -examine changes to 'plain'? [Ynsfdaq?] -@@ -1,6 +1,9 @@ -+1 -+2 -+3 - 4 - 5 - 6 - 7 - 8 - 9 -record change 1/2 to 'plain'? [Ynsfdaq?] -@@ -1,7 +4,6 @@ - 4 - 5 - 6 - 7 - 8 - 9 --10.new -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 @@ -+1 -+2 -+3 - 4 - 5 -record change 1/3 to 'plain'? [Ynsfdaq?] -@@ -1,6 +4,8 @@ - 4 - 5 -+5.new -+5.reallynew - 6 - 7 - 8 - 9 -record change 2/3 to 'plain'? [Ynsfdaq?] -@@ -3,4 +8,6 @@ - 6 - 7 - 8 - 9 -+10 -+11 -record change 3/3 to 'plain'? [Ynsfdaq?] - -changeset: 15:7d137997f3a6 -tag: tip -user: test -date: Thu Jan 01 00:00:14 1970 +0000 -summary: middle-only - -diff -r c0b8e5fb0be6 -r 7d137997f3a6 plain ---- a/plain Thu Jan 01 00:00:13 1970 +0000 -+++ b/plain Thu Jan 01 00:00:14 1970 +0000 -@@ -1,5 +1,10 @@ -+1 -+2 -+3 - 4 - 5 -+5.new -+5.reallynew - 6 - 7 - 8 - -% record end -diff --git a/plain b/plain -1 hunks, 2 lines changed -examine changes to 'plain'? [Ynsfdaq?] -@@ -9,3 +9,5 @@ - 7 - 8 - 9 -+10 -+11 -record this change to 'plain'? [Ynsfdaq?] - -changeset: 16:4959e3ff13eb -tag: tip -user: test -date: Thu Jan 01 00:00:15 1970 +0000 -summary: end-only - -diff -r 7d137997f3a6 -r 4959e3ff13eb plain ---- a/plain Thu Jan 01 00:00:14 1970 +0000 -+++ b/plain Thu Jan 01 00:00:15 1970 +0000 -@@ -9,3 +9,5 @@ - 7 - 8 - 9 -+10 -+11 - -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 @@ - a -+a -record this change to 'subdir/a'? [Ynsfdaq?] - -changeset: 18:40698cd490b2 -tag: tip -user: test -date: Thu Jan 01 00:00:16 1970 +0000 -summary: subdir-change - -diff -r 661eacdc08b9 -r 40698cd490b2 subdir/a ---- a/subdir/a Thu Jan 01 00:00:16 1970 +0000 -+++ b/subdir/a Thu Jan 01 00:00:16 1970 +0000 -@@ -1,1 +1,2 @@ - a -+a - -% 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 -n - skip this change -s - skip remaining changes to this file -f - record remaining changes to this file -d - done, skip remaining changes and files -a - record all changes to all remaining files -q - quit, recording no changes -? - display help -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 -1 hunks, 1 lines changed -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 -1 hunks, 1 lines changed -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 -1 hunks, 1 lines changed -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 -1 hunks, 1 lines changed -examine changes to 'subdir/f2'? [Ynsfdaq?] - -changeset: 20:d2d8c25276a8 -tag: tip -user: test -date: Thu Jan 01 00:00:18 1970 +0000 -summary: x - -diff -r 25eb2a7694fb -r d2d8c25276a8 subdir/f2 ---- a/subdir/f2 Thu Jan 01 00:00:17 1970 +0000 -+++ b/subdir/f2 Thu Jan 01 00:00:18 1970 +0000 -@@ -1,1 +1,2 @@ - b -+b - -% f -diff --git a/subdir/f1 b/subdir/f1 -1 hunks, 1 lines changed -examine changes to 'subdir/f1'? [Ynsfdaq?] - -changeset: 21:1013f51ce32f -tag: tip -user: test -date: Thu Jan 01 00:00:19 1970 +0000 -summary: y - -diff -r d2d8c25276a8 -r 1013f51ce32f subdir/f1 ---- a/subdir/f1 Thu Jan 01 00:00:18 1970 +0000 -+++ b/subdir/f1 Thu Jan 01 00:00:19 1970 +0000 -@@ -1,1 +1,2 @@ - a -+a - -% preserve chmod +x -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 @@ - a - a -+a -record this change to 'subdir/f1'? [Ynsfdaq?] - -changeset: 22:5df857735621 -tag: tip -user: test -date: Thu Jan 01 00:00:20 1970 +0000 -summary: z - -diff --git a/subdir/f1 b/subdir/f1 -old mode 100644 -new mode 100755 ---- a/subdir/f1 -+++ b/subdir/f1 -@@ -1,2 +1,3 @@ - a - a -+a - -% 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 @@ - a - a - a -+b -record this change to 'subdir/f1'? [Ynsfdaq?] - -changeset: 23:a4ae36a78715 -tag: tip -user: test -date: Thu Jan 01 00:00:21 1970 +0000 -summary: aa - -diff --git a/subdir/f1 b/subdir/f1 ---- a/subdir/f1 -+++ b/subdir/f1 -@@ -1,3 +1,4 @@ - a - a - a -+b - -% preserve chmod -x -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 @@ - a - a - b -+c -record this change to 'subdir/f1'? [Ynsfdaq?] - -changeset: 24:1460f6e47966 -tag: tip -user: test -date: Thu Jan 01 00:00:22 1970 +0000 -summary: ab - -diff --git a/subdir/f1 b/subdir/f1 -old mode 100755 -new mode 100644 ---- a/subdir/f1 -+++ b/subdir/f1 -@@ -2,3 +2,4 @@ - a - a - b -+c - -% abort early when a merge is in progress -1 files updated, 0 files merged, 5 files removed, 0 files unresolved -marked working directory as branch thatbranch -5 files updated, 0 files merged, 2 files removed, 0 files unresolved -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -(branch merge, don't forget to commit) - -abort: cannot partially commit a merge (use hg commit instead) -0 files updated, 0 files merged, 1 files removed, 0 files unresolved -% 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 @@ - a - b - c -+d -record this change to 'subdir/f1'? [Ynsfdaq?] - -changeset: 26:5bacc1f6e9cf -tag: tip -parent: 24:1460f6e47966 -user: test -date: Thu Jan 01 00:00:23 1970 +0000 -summary: w1 - -diff -r 1460f6e47966 -r 5bacc1f6e9cf subdir/f1 ---- a/subdir/f1 Thu Jan 01 00:00:22 1970 +0000 -+++ b/subdir/f1 Thu Jan 01 00:00:23 1970 +0000 -@@ -3,3 +3,4 @@ - a - b - c -+d - diff --git a/tests/test-record b/tests/test-record.t old mode 100755 new mode 100644 rename from tests/test-record rename to tests/test-record.t --- a/tests/test-record +++ b/tests/test-record.t @@ -1,332 +1,975 @@ #!/bin/sh -echo "[ui]" >> $HGRCPATH -echo "interactive=true" >> $HGRCPATH -echo "[extensions]" >> $HGRCPATH -echo "record=" >> $HGRCPATH + $ echo "[ui]" >> $HGRCPATH + $ echo "interactive=true" >> $HGRCPATH + $ echo "[extensions]" >> $HGRCPATH + $ echo "record=" >> $HGRCPATH -echo % help +Help -hg help record + $ hg help record + hg record [OPTION]... [FILE]... + + interactively select changes to commit + + If a list of files is omitted, all changes reported by "hg status" will be + candidates for recording. + + See "hg help dates" for a list of formats valid for -d/--date. + + You will be prompted for whether to record changes to each modified file, + and for files with multiple changes, for each change to use. For each + query, the following responses are possible: + + y - record this change + n - skip this change + + s - skip remaining changes to this file + f - record remaining changes to this file + + d - done, skip remaining changes and files + a - record all changes to all remaining files + q - quit, recording no changes + + ? - display help + + This command is not available when committing a merge. + + options: + + -A --addremove mark new/missing files as added/removed before + committing + --close-branch mark a branch as closed, hiding it from the branch + list + -I --include PATTERN [+] include names matching the given patterns + -X --exclude PATTERN [+] exclude names matching the given patterns + -m --message TEXT use text as commit message + -l --logfile FILE read commit message from file + -d --date DATE record datecode as commit date + -u --user USER record the specified user as committer + + [+] marked option can be specified multiple times + + use "hg -v help record" to show global options -hg init a -cd a + $ hg init a + $ cd a -echo % select no files +Select no files -touch empty-rw -hg add empty-rw -hg record empty-rw< n + > EOF + diff --git a/empty-rw b/empty-rw + new file mode 100644 + examine changes to 'empty-rw'? [Ynsfdaq?] + no changes to record + + $ hg tip -p + changeset: -1:000000000000 + tag: tip + user: + date: Thu Jan 01 00:00:00 1970 +0000 + + + +Select files but no hunks -hg record empty-rw< y + > n + > EOF + diff --git a/empty-rw b/empty-rw + new file mode 100644 + examine changes to 'empty-rw'? [Ynsfdaq?] + abort: empty commit message + + $ hg tip -p + changeset: -1:000000000000 + tag: tip + user: + date: Thu Jan 01 00:00:00 1970 +0000 + + -echo % record empty file +Record empty file -hg record -d '0 0' -m empty empty-rw< y + > y + > EOF + diff --git a/empty-rw b/empty-rw + new file mode 100644 + examine changes to 'empty-rw'? [Ynsfdaq?] + + $ hg tip -p + changeset: 0:c0708cf4e46e + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: empty + + -echo % summary shows we updated to the new cset -hg summary -echo +Summary shows we updated to the new cset + + $ hg summary + parent: 0:c0708cf4e46e tip + empty + branch: default + commit: (clean) + update: (current) -echo % rename empty file +Rename empty file + + $ hg mv empty-rw empty-rename + $ hg record -d '1 0' -m rename< y + > EOF + 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?] -hg mv empty-rw empty-rename -hg record -d '1 0' -m rename< y + > EOF + 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?] + + $ hg tip -p + changeset: 2:1d4b90bea524 + tag: tip + user: test + date: Thu Jan 01 00:00:02 1970 +0000 + summary: copy + + + +Delete empty file -hg cp empty-rename empty-copy -hg record -d '2 0' -m copy< y + > EOF + diff --git a/empty-copy b/empty-copy + deleted file mode 100644 + examine changes to 'empty-copy'? [Ynsfdaq?] -echo % delete empty file + $ hg tip -p + changeset: 3:b39a238f01a1 + tag: tip + user: test + date: Thu Jan 01 00:00:03 1970 +0000 + summary: delete + + + +Add binary file + + $ hg bundle --base -2 tip.bundle + 1 changesets found + $ hg add tip.bundle + $ hg record -d '4 0' -m binary< y + > EOF + diff --git a/tip.bundle b/tip.bundle + new file mode 100644 + this is a binary file + examine changes to 'tip.bundle'? [Ynsfdaq?] -hg rm empty-copy -hg record -d '3 0' -m delete< y + > EOF + diff --git a/tip.bundle b/tip.bundle + this modifies a binary file (all or nothing) + examine changes to 'tip.bundle'? [Ynsfdaq?] -echo % change binary file + $ hg tip -p + changeset: 5:dccd6f3eb485 + tag: tip + user: test + date: Thu Jan 01 00:00:05 1970 +0000 + summary: binary-change + + diff -r ad816da3711e -r dccd6f3eb485 tip.bundle + Binary file tip.bundle has changed + + +Rename and change binary file -hg bundle --base -2 tip.bundle -hg record -d '5 0' -m binary-change< y + > EOF + 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?] -hg mv tip.bundle top.bundle -hg bundle --base -2 top.bundle -hg record -d '6 0' -m binary-change-rename< echo $i >> plain + > done + + $ hg add plain + $ hg record -d '7 0' -m plain plain< y + > y + > EOF + diff --git a/plain b/plain + new file mode 100644 + examine changes to 'plain'? [Ynsfdaq?] -for i in 1 2 3 4 5 6 7 8 9 10; do - echo $i >> plain -done + $ hg tip -p + changeset: 7:11fb457c1be4 + tag: tip + user: test + date: Thu Jan 01 00:00:07 1970 +0000 + summary: plain + + diff -r 7fa44105f5b3 -r 11fb457c1be4 plain + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 + +++ b/plain Thu Jan 01 00:00:07 1970 +0000 + @@ -0,0 +1,10 @@ + +1 + +2 + +3 + +4 + +5 + +6 + +7 + +8 + +9 + +10 + + +Modify end of plain file + + $ echo 11 >> plain + $ hg record -d '8 0' -m end plain < y + > y + > EOF + diff --git a/plain b/plain + 1 hunks, 1 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -8,3 +8,4 @@ + 8 + 9 + 10 + +11 + record this change to 'plain'? [Ynsfdaq?] -hg add plain -hg record -d '7 0' -m plain plain<> plain + $ hg record -d '9 0' -m noeol plain < y + > y + > EOF + diff --git a/plain b/plain + 1 hunks, 1 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -9,3 +9,4 @@ + 9 + 10 + 11 + +7264f99c5f5ff3261504828afa4fb4d406c3af54 + \ No newline at end of file + record this change to 'plain'? [Ynsfdaq?] + +Modify end of plain file, add EOL -echo % modify end of plain file + $ echo >> plain + $ hg record -d '10 0' -m eol plain < y + > y + > y + > EOF + diff --git a/plain b/plain + 1 hunks, 1 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -9,4 +9,4 @@ + 9 + 10 + 11 + -7264f99c5f5ff3261504828afa4fb4d406c3af54 + \ No newline at end of file + +7264f99c5f5ff3261504828afa4fb4d406c3af54 + record this change to 'plain'? [Ynsfdaq?] -echo 11 >> plain -hg record -d '8 0' -m end plain <> plain -hg record -d '9 0' -m noeol plain < echo $i >> plain + > done -echo % modify end of plain file, add EOL + $ hg record -d '10 0' -m begin-and-end plain < y + > y + > y + > EOF + diff --git a/plain b/plain + 2 hunks, 3 lines changed + 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 @@ + 8 + 9 + 10 + -11 + -7264f99c5f5ff3261504828afa4fb4d406c3af54 + record change 2/2 to 'plain'? [Ynsfdaq?] -echo >> plain -hg record -d '10 0' -m eol plain <> plain -done + $ rm plain + > for i in 4 5 6 7 8 9 10.new; do + > echo $i >> plain + > done + +Record end -hg record -d '10 0' -m begin-and-end plain < y + > n + > y + > EOF + diff --git a/plain b/plain + 2 hunks, 4 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -1,9 +1,6 @@ + -2 + -2 + -3 + 4 + 5 + 6 + 7 + 8 + 9 + record change 1/2 to 'plain'? [Ynsfdaq?] + @@ -4,7 +1,7 @@ + 4 + 5 + 6 + 7 + 8 + 9 + -10 + +10.new + record change 2/2 to 'plain'? [Ynsfdaq?] -rm plain -for i in 4 5 6 7 8 9 10.new; do - echo $i >> plain -done - -echo % record end + $ hg tip -p + changeset: 12:7d1e66983c15 + tag: tip + user: test + date: Thu Jan 01 00:00:11 1970 +0000 + summary: end-only + + diff -r efca65c9b09e -r 7d1e66983c15 plain + --- a/plain Thu Jan 01 00:00:10 1970 +0000 + +++ b/plain Thu Jan 01 00:00:11 1970 +0000 + @@ -7,4 +7,4 @@ + 7 + 8 + 9 + -10 + +10.new + -hg record -d '11 0' -m end-only plain < y + > y + > EOF + diff --git a/plain b/plain + 1 hunks, 3 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -1,6 +1,3 @@ + -2 + -2 + -3 + 4 + 5 + 6 + record this change to 'plain'? [Ynsfdaq?] -hg record -d '12 0' -m begin-only plain < echo $i >> plain + > done + +Record end -echo % add to beginning, trim from end + $ hg record --traceback -d '13 0' -m end-again plain< y + > n + > y + > EOF + diff --git a/plain b/plain + 2 hunks, 4 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -1,6 +1,9 @@ + +1 + +2 + +3 + 4 + 5 + 6 + 7 + 8 + 9 + record change 1/2 to 'plain'? [Ynsfdaq?] + @@ -1,7 +4,6 @@ + 4 + 5 + 6 + 7 + 8 + 9 + -10.new + record change 2/2 to 'plain'? [Ynsfdaq?] -rm plain -for i in 1 2 3 4 5 6 7 8 9; do - echo $i >> plain -done - -echo % record end +Add to beginning, middle, end -hg record --traceback -d '13 0' -m end-again plain< echo $i >> plain + > done -echo % add to beginning, middle, end +Record beginning, middle -rm plain -for i in 1 2 3 4 5 5.new 5.reallynew 6 7 8 9 10 11; do - echo $i >> plain -done - -echo % record beginning, middle + $ hg record -d '14 0' -m middle-only plain < y + > y + > y + > n + > EOF + diff --git a/plain b/plain + 3 hunks, 7 lines changed + 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 @@ + 4 + 5 + +5.new + +5.reallynew + 6 + 7 + 8 + 9 + record change 2/3 to 'plain'? [Ynsfdaq?] + @@ -3,4 +8,6 @@ + 6 + 7 + 8 + 9 + +10 + +11 + record change 3/3 to 'plain'? [Ynsfdaq?] -hg record -d '14 0' -m middle-only plain < y + > y + > EOF + diff --git a/plain b/plain + 1 hunks, 2 lines changed + examine changes to 'plain'? [Ynsfdaq?] + @@ -9,3 +9,5 @@ + 7 + 8 + 9 + +10 + +11 + record this change to 'plain'? [Ynsfdaq?] -mkdir subdir -cd subdir -echo a > a -hg ci -d '16 0' -Amsubdir + $ hg tip -p + changeset: 16:4959e3ff13eb + tag: tip + user: test + date: Thu Jan 01 00:00:15 1970 +0000 + summary: end-only + + diff -r 7d137997f3a6 -r 4959e3ff13eb plain + --- a/plain Thu Jan 01 00:00:14 1970 +0000 + +++ b/plain Thu Jan 01 00:00:15 1970 +0000 + @@ -9,3 +9,5 @@ + 7 + 8 + 9 + +10 + +11 + -echo a >> a -hg record -d '16 0' -m subdir-change a < a + $ hg ci -d '16 0' -Amsubdir + adding subdir/a + + $ echo a >> a + $ hg record -d '16 0' -m subdir-change a < y + > y + > EOF + diff --git a/subdir/a b/subdir/a + 1 hunks, 1 lines changed + examine changes to 'subdir/a'? [Ynsfdaq?] + @@ -1,1 +1,2 @@ + a + +a + record this change to 'subdir/a'? [Ynsfdaq?] -echo a > f1 -echo b > f2 -hg add f1 f2 + $ hg tip -p + changeset: 18:40698cd490b2 + tag: tip + user: test + date: Thu Jan 01 00:00:16 1970 +0000 + summary: subdir-change + + diff -r 661eacdc08b9 -r 40698cd490b2 subdir/a + --- a/subdir/a Thu Jan 01 00:00:16 1970 +0000 + +++ b/subdir/a Thu Jan 01 00:00:16 1970 +0000 + @@ -1,1 +1,2 @@ + a + +a + -hg ci -mz -d '17 0' + $ echo a > f1 + $ echo b > f2 + $ hg add f1 f2 -echo a >> f1 -echo b >> f2 + $ hg ci -mz -d '17 0' -echo % help, quit + $ echo a >> f1 + $ echo b >> f2 + +Help, quit -hg record < ? + > q + > EOF + diff --git a/subdir/f1 b/subdir/f1 + 1 hunks, 1 lines changed + 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 + d - done, skip remaining changes and files + a - record all changes to all remaining files + q - quit, recording no changes + ? - display help + examine changes to 'subdir/f1'? [Ynsfdaq?] + abort: user quit + +Skip -echo % skip + $ hg record < s + > EOF + 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 + 1 hunks, 1 lines changed + examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected + +No -hg record < n + > EOF + 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 + 1 hunks, 1 lines changed + examine changes to 'subdir/f2'? [Ynsfdaq?] abort: response expected -echo % no +f, quit -hg record < f + > q + > EOF + 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 + 1 hunks, 1 lines changed + examine changes to 'subdir/f2'? [Ynsfdaq?] + abort: user quit + +s, all -echo % f, quit + $ hg record -d '18 0' -mx < s + > a + > EOF + 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 + 1 hunks, 1 lines changed + examine changes to 'subdir/f2'? [Ynsfdaq?] -hg record < f + > EOF + diff --git a/subdir/f1 b/subdir/f1 + 1 hunks, 1 lines changed + examine changes to 'subdir/f1'? [Ynsfdaq?] -echo % f + $ hg tip -p + changeset: 21:1013f51ce32f + tag: tip + user: test + date: Thu Jan 01 00:00:19 1970 +0000 + summary: y + + diff -r d2d8c25276a8 -r 1013f51ce32f subdir/f1 + --- a/subdir/f1 Thu Jan 01 00:00:18 1970 +0000 + +++ b/subdir/f1 Thu Jan 01 00:00:19 1970 +0000 + @@ -1,1 +1,2 @@ + a + +a + + +Preserve chmod +x -hg record -d '19 0' -my <> f1 + $ hg record -d '20 0' -mz < y + > y + > y + > EOF + 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 @@ + a + a + +a + record this change to 'subdir/f1'? [Ynsfdaq?] -chmod +x f1 -echo a >> f1 -hg record -d '20 0' -mz <> f1 + $ hg record -d '21 0' -maa < y + > y + > y + > EOF + diff --git a/subdir/f1 b/subdir/f1 + 1 hunks, 1 lines changed + examine changes to 'subdir/f1'? [Ynsfdaq?] + @@ -1,3 +1,4 @@ + a + a + a + +b + record this change to 'subdir/f1'? [Ynsfdaq?] -echo b >> f1 -hg record -d '21 0' -maa <> f1 -hg record -d '22 0' -mab <> f1 + $ hg record -d '22 0' -mab < y + > y + > y + > EOF + 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 @@ + a + a + b + +c + record this change to 'subdir/f1'? [Ynsfdaq?] -cd .. + $ hg tip --config diff.git=True -p + changeset: 24:1460f6e47966 + tag: tip + user: test + date: Thu Jan 01 00:00:22 1970 +0000 + summary: ab + + diff --git a/subdir/f1 b/subdir/f1 + old mode 100755 + new mode 100644 + --- a/subdir/f1 + +++ b/subdir/f1 + @@ -2,3 +2,4 @@ + a + a + b + +c + + + $ cd .. + +Abort early when a merge is in progress + + $ hg up 4 + 1 files updated, 0 files merged, 5 files removed, 0 files unresolved -echo % abort early when a merge is in progress -hg up 4 -touch iwillmergethat -hg add iwillmergethat -hg branch thatbranch -hg ci -m'new head' -hg up default -hg merge thatbranch -echo; hg record -m'will abort' -hg up -C + $ touch iwillmergethat + $ hg add iwillmergethat + + $ hg branch thatbranch + marked working directory as branch thatbranch + + $ hg ci -m'new head' + + $ hg up default + 5 files updated, 0 files merged, 2 files removed, 0 files unresolved + + $ hg merge thatbranch + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (branch merge, don't forget to commit) + + $ hg record -m'will abort' + abort: cannot partially commit a merge (use hg commit instead) + + $ hg up -C + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + +With win32text + + $ echo '[extensions]' >> .hg/hgrc + $ echo 'win32text = ' >> .hg/hgrc + $ echo '[decode]' >> .hg/hgrc + $ echo '** = cleverdecode:' >> .hg/hgrc + $ echo '[encode]' >> .hg/hgrc + $ echo '** = cleverencode:' >> .hg/hgrc + $ echo '[patch]' >> .hg/hgrc + $ echo 'eol = crlf' >> .hg/hgrc -echo % with win32ext -echo '[extensions]' >> .hg/hgrc -echo 'win32text = ' >> .hg/hgrc -echo '[decode]' >> .hg/hgrc -echo '** = cleverdecode:' >> .hg/hgrc -echo '[encode]' >> .hg/hgrc -echo '** = cleverencode:' >> .hg/hgrc -echo '[patch]' >> .hg/hgrc -echo 'eol = crlf' >> .hg/hgrc + $ echo d >> subdir/f1 + $ hg record -d '23 0' -mw1 < y + > y + > EOF + diff --git a/subdir/f1 b/subdir/f1 + 1 hunks, 1 lines changed + examine changes to 'subdir/f1'? [Ynsfdaq?] + @@ -3,3 +3,4 @@ + a + b + c + +d + record this change to 'subdir/f1'? [Ynsfdaq?] -echo d >> subdir/f1 -hg record -d '23 0' -mw1 <