|
|
#!/bin/sh
|
|
|
|
|
|
$ echo "[ui]" >> $HGRCPATH
|
|
|
$ echo "interactive=true" >> $HGRCPATH
|
|
|
$ echo "[extensions]" >> $HGRCPATH
|
|
|
$ echo "record=" >> $HGRCPATH
|
|
|
|
|
|
Help
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
Select no files
|
|
|
|
|
|
$ touch empty-rw
|
|
|
$ hg add empty-rw
|
|
|
|
|
|
$ hg record empty-rw<<EOF
|
|
|
> 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<<EOF
|
|
|
> 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
|
|
|
|
|
|
|
|
|
|
|
|
Record empty file
|
|
|
|
|
|
$ hg record -d '0 0' -m empty empty-rw<<EOF
|
|
|
> 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
|
|
|
|
|
|
|
|
|
|
|
|
Summary shows we updated to the new cset
|
|
|
|
|
|
$ hg summary
|
|
|
parent: 0:c0708cf4e46e tip
|
|
|
empty
|
|
|
branch: default
|
|
|
commit: (clean)
|
|
|
update: (current)
|
|
|
|
|
|
Rename empty file
|
|
|
|
|
|
$ hg mv empty-rw empty-rename
|
|
|
$ hg record -d '1 0' -m rename<<EOF
|
|
|
> 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 tip -p
|
|
|
changeset: 1:d695e8dcb197
|
|
|
tag: tip
|
|
|
user: test
|
|
|
date: Thu Jan 01 00:00:01 1970 +0000
|
|
|
summary: rename
|
|
|
|
|
|
|
|
|
|
|
|
Copy empty file
|
|
|
|
|
|
$ hg cp empty-rename empty-copy
|
|
|
$ hg record -d '2 0' -m copy<<EOF
|
|
|
> 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 rm empty-copy
|
|
|
$ hg record -d '3 0' -m delete<<EOF
|
|
|
> y
|
|
|
> EOF
|
|
|
diff --git a/empty-copy b/empty-copy
|
|
|
deleted file mode 100644
|
|
|
examine changes to 'empty-copy'? [Ynsfdaq?]
|
|
|
|
|
|
$ 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<<EOF
|
|
|
> 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 tip -p
|
|
|
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
|
|
|
|
|
|
$ hg bundle --base -2 tip.bundle
|
|
|
1 changesets found
|
|
|
$ hg record -d '5 0' -m binary-change<<EOF
|
|
|
> y
|
|
|
> EOF
|
|
|
diff --git a/tip.bundle b/tip.bundle
|
|
|
this modifies a binary file (all or nothing)
|
|
|
examine changes to 'tip.bundle'? [Ynsfdaq?]
|
|
|
|
|
|
$ 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 mv tip.bundle top.bundle
|
|
|
$ hg bundle --base -2 top.bundle
|
|
|
1 changesets found
|
|
|
$ hg record -d '6 0' -m binary-change-rename<<EOF
|
|
|
> 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 tip -p
|
|
|
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
|
|
|
|
|
|
$ for i in 1 2 3 4 5 6 7 8 9 10; do
|
|
|
> echo $i >> plain
|
|
|
> done
|
|
|
|
|
|
$ hg add plain
|
|
|
$ hg record -d '7 0' -m plain plain<<EOF
|
|
|
> y
|
|
|
> y
|
|
|
> EOF
|
|
|
diff --git a/plain b/plain
|
|
|
new file mode 100644
|
|
|
examine changes to 'plain'? [Ynsfdaq?]
|
|
|
|
|
|
$ 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 <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
Modify end of plain file, no EOL
|
|
|
|
|
|
$ hg tip --template '{node}' >> plain
|
|
|
$ hg record -d '9 0' -m noeol plain <<EOF
|
|
|
> 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 >> plain
|
|
|
$ hg record -d '10 0' -m eol plain <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
Modify beginning, trim end, record both
|
|
|
|
|
|
$ rm plain
|
|
|
$ for i in 2 2 3 4 5 6 7 8 9 10; do
|
|
|
> echo $i >> plain
|
|
|
> done
|
|
|
|
|
|
$ hg record -d '10 0' -m begin-and-end plain <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ hg tip -p
|
|
|
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
|
|
|
|
|
|
$ rm plain
|
|
|
> for i in 4 5 6 7 8 9 10.new; do
|
|
|
> echo $i >> plain
|
|
|
> done
|
|
|
|
|
|
Record end
|
|
|
|
|
|
$ hg record -d '11 0' -m end-only plain <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
|
|
|
Record beginning
|
|
|
|
|
|
$ hg record -d '12 0' -m begin-only plain <<EOF
|
|
|
> 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 tip -p
|
|
|
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
|
|
|
|
|
|
$ rm plain
|
|
|
$ for i in 1 2 3 4 5 6 7 8 9; do
|
|
|
> echo $i >> plain
|
|
|
> done
|
|
|
|
|
|
Record end
|
|
|
|
|
|
$ hg record --traceback -d '13 0' -m end-again plain<<EOF
|
|
|
> 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?]
|
|
|
|
|
|
Add to beginning, middle, end
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
Record beginning, middle
|
|
|
|
|
|
$ hg record -d '14 0' -m middle-only plain <<EOF
|
|
|
> 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 tip -p
|
|
|
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
|
|
|
|
|
|
$ hg record -d '15 0' -m end-only plain <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
|
|
|
$ mkdir subdir
|
|
|
$ cd subdir
|
|
|
$ echo a > a
|
|
|
$ hg ci -d '16 0' -Amsubdir
|
|
|
adding subdir/a
|
|
|
|
|
|
$ echo a >> a
|
|
|
$ hg record -d '16 0' -m subdir-change a <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
|
|
|
$ echo a > f1
|
|
|
$ echo b > f2
|
|
|
$ hg add f1 f2
|
|
|
|
|
|
$ hg ci -mz -d '17 0'
|
|
|
|
|
|
$ echo a >> f1
|
|
|
$ echo b >> f2
|
|
|
|
|
|
Help, quit
|
|
|
|
|
|
$ hg record <<EOF
|
|
|
> ?
|
|
|
> 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
|
|
|
|
|
|
$ hg record <<EOF
|
|
|
> 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 <<EOF
|
|
|
> 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
|
|
|
|
|
|
f, quit
|
|
|
|
|
|
$ hg record <<EOF
|
|
|
> 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
|
|
|
|
|
|
$ hg record -d '18 0' -mx <<EOF
|
|
|
> 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 tip -p
|
|
|
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
|
|
|
|
|
|
$ hg record -d '19 0' -my <<EOF
|
|
|
> f
|
|
|
> EOF
|
|
|
diff --git a/subdir/f1 b/subdir/f1
|
|
|
1 hunks, 1 lines changed
|
|
|
examine changes to 'subdir/f1'? [Ynsfdaq?]
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
$ chmod +x f1
|
|
|
$ echo a >> f1
|
|
|
$ hg record -d '20 0' -mz <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ hg tip --config diff.git=True -p
|
|
|
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
|
|
|
|
|
|
$ echo b >> f1
|
|
|
$ hg record -d '21 0' -maa <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ hg tip --config diff.git=True -p
|
|
|
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
|
|
|
|
|
|
$ chmod -x f1
|
|
|
$ echo c >> f1
|
|
|
$ hg record -d '22 0' -mab <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ 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
|
|
|
|
|
|
$ 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 d >> subdir/f1
|
|
|
$ hg record -d '23 0' -mw1 <<EOF
|
|
|
> 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?]
|
|
|
|
|
|
$ hg tip -p
|
|
|
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
|
|
|
|
|
|
|