##// END OF EJS Templates
httprepo: long arguments support (issue2126)...
httprepo: long arguments support (issue2126) Send the command arguments in the HTTP headers. The command is still part of the URL. If the server does not have the 'httpheader' capability, the client will send the command arguments in the URL as it did previously. Web servers typically allow more data to be placed within the headers than in the URL, so this approach will: - Avoid HTTP errors due to using a URL that is too large. - Allow Mercurial to implement a more efficient wire protocol. An alternate approach is to send the arguments as part of the request body. This approach has been rejected because it requires the use of POST requests, so it would break any existing configuration that relies on the request type for authentication or caching. Extensibility: - The header size is provided by the server, which makes it possible to introduce an hgrc setting for it. - The client ignores the capability value after the first comma, which allows more information to be included in the future.

File last commit:

r14016:bd738875 merge default
r14093:ce99d887 default
Show More
test-qrecord.t
368 lines | 7.5 KiB | text/troff | Tads3Lexer
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 Create configuration
$ echo "[ui]" >> $HGRCPATH
$ echo "interactive=true" >> $HGRCPATH
timeless
record: improve help test coverage
r13935
help record (no record)
$ hg help record
record extension - commands to interactively select changes for commit/qrefresh
use "hg help extensions" for information on enabling extensions
timeless
qrecord: provide help when mq is not enabled
r13936 help qrecord (no record)
$ hg help qrecord
'qrecord' is provided by the following extension:
record commands to interactively select changes for commit/qrefresh
use "hg help extensions" for information on enabling extensions
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 $ echo "[extensions]" >> $HGRCPATH
$ echo "record=" >> $HGRCPATH
timeless
record: improve help test coverage
r13935 help record (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
Martin Geisler
merge with stable
r14016 -d --date DATE record the specified date as commit date
timeless
record: improve help test coverage
r13935 -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
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 help (no mq, so no qrecord)
$ hg help qrecord
timeless
qrecord: provide help when mq is not enabled
r13936 hg qrecord [OPTION]... PATCH [FILE]...
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075
timeless
qrecord: provide help when mq is not enabled
r13936 interactively record a new patch
See "hg help qnew" & "hg help record" for more information and usage.
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075
timeless
qrecord: provide help when mq is not enabled
r13936 use "hg -v help qrecord" to show global options
$ hg init a
qrecord (mq not present)
$ hg -R a qrecord
hg qrecord: invalid arguments
hg qrecord [OPTION]... PATCH [FILE]...
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075
timeless
qrecord: provide help when mq is not enabled
r13936 interactively record a new patch
Adrian Buehlmann
help: do not show full help text for command on option errors...
r13950 use "hg help qrecord" to show the full help text
timeless
qrecord: provide help when mq is not enabled
r13936 [255]
qrecord patch (mq not present)
$ hg -R a qrecord patch
abort: 'mq' extension not loaded
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075
help (mq present)
$ echo "mq=" >> $HGRCPATH
$ hg help qrecord
hg qrecord [OPTION]... PATCH [FILE]...
interactively record a new patch
See "hg help qnew" & "hg help record" for more information and usage.
options:
-e --edit edit commit message
-g --git use git extended diff format
-U --currentuser add "From: <current user>" to patch
-u --user USER add "From: <USER>" to patch
-D --currentdate add "Date: <current date>" to patch
-d --date DATE add "Date: <DATE>" to patch
-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
[+] marked option can be specified multiple times
use "hg -v help qrecord" to show global options
$ cd a
Base commit
$ cat > 1.txt <<EOF
> 1
> 2
> 3
> 4
> 5
> EOF
$ cat > 2.txt <<EOF
> a
> b
> c
> d
> e
> f
> EOF
$ mkdir dir
$ cat > dir/a.txt <<EOF
> hello world
>
> someone
> up
> there
> loves
> me
> EOF
$ hg add 1.txt 2.txt dir/a.txt
$ hg commit -m 'initial checkin'
Changing files
$ sed -e 's/2/2 2/;s/4/4 4/' 1.txt > 1.txt.new
$ sed -e 's/b/b b/' 2.txt > 2.txt.new
$ sed -e 's/hello world/hello world!/' dir/a.txt > dir/a.txt.new
$ mv -f 1.txt.new 1.txt
$ mv -f 2.txt.new 2.txt
$ mv -f dir/a.txt.new dir/a.txt
Whole diff
$ hg diff --nodates
diff -r 1057167b20ef 1.txt
--- a/1.txt
+++ b/1.txt
@@ -1,5 +1,5 @@
1
-2
+2 2
3
-4
+4 4
5
diff -r 1057167b20ef 2.txt
--- a/2.txt
+++ b/2.txt
@@ -1,5 +1,5 @@
a
-b
+b b
c
d
e
diff -r 1057167b20ef dir/a.txt
--- a/dir/a.txt
+++ b/dir/a.txt
@@ -1,4 +1,4 @@
-hello world
+hello world!
someone
up
qrecord a.patch
$ hg qrecord -d '0 0' -m aaa a.patch <<EOF
> y
> y
> n
> y
> y
> n
> EOF
diff --git a/1.txt b/1.txt
2 hunks, 2 lines changed
examine changes to '1.txt'? [Ynsfdaq?]
@@ -1,3 +1,3 @@
1
-2
+2 2
3
Patrick Mezard
record: do not include files into changes count...
r13295 record change 1/4 to '1.txt'? [Ynsfdaq?]
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 @@ -3,3 +3,3 @@
3
-4
+4 4
5
Patrick Mezard
record: do not include files into changes count...
r13295 record change 2/4 to '1.txt'? [Ynsfdaq?]
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 diff --git a/2.txt b/2.txt
1 hunks, 1 lines changed
examine changes to '2.txt'? [Ynsfdaq?]
@@ -1,5 +1,5 @@
a
-b
+b b
c
d
e
Patrick Mezard
record: do not include files into changes count...
r13295 record change 3/4 to '2.txt'? [Ynsfdaq?]
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 diff --git a/dir/a.txt b/dir/a.txt
1 hunks, 1 lines changed
examine changes to 'dir/a.txt'? [Ynsfdaq?]
After qrecord a.patch 'tip'"
$ hg tip -p
changeset: 1:5d1ca63427ee
tag: a.patch
tag: qbase
tag: qtip
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: aaa
diff -r 1057167b20ef -r 5d1ca63427ee 1.txt
--- a/1.txt Thu Jan 01 00:00:00 1970 +0000
+++ b/1.txt Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +1,5 @@
1
-2
+2 2
3
4
5
diff -r 1057167b20ef -r 5d1ca63427ee 2.txt
--- a/2.txt Thu Jan 01 00:00:00 1970 +0000
+++ b/2.txt Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +1,5 @@
a
-b
+b b
c
d
e
After qrecord a.patch 'diff'"
$ hg diff --nodates
diff -r 5d1ca63427ee 1.txt
--- a/1.txt
+++ b/1.txt
@@ -1,5 +1,5 @@
1
2 2
3
-4
+4 4
5
diff -r 5d1ca63427ee dir/a.txt
--- a/dir/a.txt
+++ b/dir/a.txt
@@ -1,4 +1,4 @@
-hello world
+hello world!
someone
up
qrecord b.patch
$ hg qrecord -d '0 0' -m bbb b.patch <<EOF
> y
> y
> y
> y
> EOF
diff --git a/1.txt b/1.txt
1 hunks, 1 lines changed
examine changes to '1.txt'? [Ynsfdaq?]
@@ -1,5 +1,5 @@
1
2 2
3
-4
+4 4
5
Patrick Mezard
record: do not include files into changes count...
r13295 record change 1/2 to '1.txt'? [Ynsfdaq?]
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075 diff --git a/dir/a.txt b/dir/a.txt
1 hunks, 1 lines changed
examine changes to 'dir/a.txt'? [Ynsfdaq?]
@@ -1,4 +1,4 @@
-hello world
+hello world!
someone
up
Patrick Mezard
record: do not include files into changes count...
r13295 record change 2/2 to 'dir/a.txt'? [Ynsfdaq?]
Dan Villiom Podlaski Christiansen
tests: unify test-qrecord
r12075
After qrecord b.patch 'tip'
$ hg tip -p
changeset: 2:b056198bf878
tag: b.patch
tag: qtip
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: bbb
diff -r 5d1ca63427ee -r b056198bf878 1.txt
--- a/1.txt Thu Jan 01 00:00:00 1970 +0000
+++ b/1.txt Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +1,5 @@
1
2 2
3
-4
+4 4
5
diff -r 5d1ca63427ee -r b056198bf878 dir/a.txt
--- a/dir/a.txt Thu Jan 01 00:00:00 1970 +0000
+++ b/dir/a.txt Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +1,4 @@
-hello world
+hello world!
someone
up
After qrecord b.patch 'diff'
$ hg diff --nodates