##// 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:

r13550:1792b8a9 stable
r14093:ce99d887 default
Show More
test-newbranch.t
321 lines | 7.1 KiB | text/troff | Tads3Lexer
jfh
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/...
r13272 $ branchcache=.hg/cache/branchheads
Adrian Buehlmann
combine tests
r12279
$ hg init t
$ cd t
$ hg branches
$ echo foo > a
$ hg add a
$ hg ci -m "initial"
$ hg branch foo
marked working directory as branch foo
$ hg branch
foo
$ hg ci -m "add branch name"
$ hg branch bar
marked working directory as branch bar
$ hg ci -m "change branch name"
Branch shadowing:
$ hg branch default
abort: a branch of the same name already exists (use 'hg update' to switch to it)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279
$ hg branch -f default
marked working directory as branch default
$ hg ci -m "clear branch name"
created new head
There should be only one default branch head
$ hg heads .
changeset: 3:9d567d0b51f9
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: clear branch name
$ hg co foo
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg branch
foo
$ echo bleah > a
$ hg ci -m "modify a branch"
$ hg merge default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg branch
foo
$ hg ci -m "merge"
$ hg log
changeset: 5:dc140083783b
branch: foo
tag: tip
parent: 4:98d14f698afe
parent: 3:9d567d0b51f9
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: merge
changeset: 4:98d14f698afe
branch: foo
parent: 1:0079f24813e2
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: modify a branch
changeset: 3:9d567d0b51f9
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: clear branch name
changeset: 2:ed2bbf4e0102
branch: bar
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: change branch name
changeset: 1:0079f24813e2
branch: foo
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add branch name
changeset: 0:db01e8ea3388
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: initial
$ hg branches
foo 5:dc140083783b
default 3:9d567d0b51f9 (inactive)
bar 2:ed2bbf4e0102 (inactive)
$ hg branches -q
foo
default
bar
Test for invalid branch cache:
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 4 (undo commit)
Wagner Bruna
rollback, i18n: avoid parameterized message
r13455 working directory now based on revisions 4 and 3
Adrian Buehlmann
combine tests
r12279
$ cp $branchcache .hg/bc-invalid
$ hg log -r foo
changeset: 4:98d14f698afe
branch: foo
tag: tip
parent: 1:0079f24813e2
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: modify a branch
$ cp .hg/bc-invalid $branchcache
$ hg --debug log -r foo
invalidating branch cache (tip differs)
changeset: 4:98d14f698afeaff8cb612dcf215ce95e639effc3
branch: foo
tag: tip
parent: 1:0079f24813e2b73a891577c243684c5066347bc8
parent: -1:0000000000000000000000000000000000000000
manifest: 4:d01b250baaa05909152f7ae07d7a649deea0df9a
user: test
date: Thu Jan 01 00:00:00 1970 +0000
files: a
extra: branch=foo
description:
modify a branch
$ rm $branchcache
$ echo corrupted > $branchcache
$ hg log -qr foo
4:98d14f698afe
$ cat $branchcache
98d14f698afeaff8cb612dcf215ce95e639effc3 4
9d567d0b51f9e2068b054e1948e1a927f99b5874 default
98d14f698afeaff8cb612dcf215ce95e639effc3 foo
ed2bbf4e01029020711be82ca905283e883f0e11 bar
Push should update the branch cache:
$ hg init ../target
Pushing just rev 0:
$ hg push -qr 0 ../target
$ cat ../target/$branchcache
db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 0
db01e8ea3388fd3c7c94e1436ea2bd6a53d581c5 default
Pushing everything:
$ hg push -qf ../target
$ cat ../target/$branchcache
98d14f698afeaff8cb612dcf215ce95e639effc3 4
9d567d0b51f9e2068b054e1948e1a927f99b5874 default
98d14f698afeaff8cb612dcf215ce95e639effc3 foo
ed2bbf4e01029020711be82ca905283e883f0e11 bar
Update with no arguments: tipmost revision of the current branch:
$ hg up -q -C 0
$ hg up -q
$ hg id
9d567d0b51f9
$ hg up -q 1
$ hg up -q
$ hg id
98d14f698afe (foo) tip
$ hg branch foobar
marked working directory as branch foobar
$ hg up
abort: branch foobar not found
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279
Fastforward merge:
$ hg branch ff
marked working directory as branch ff
$ echo ff > ff
$ hg ci -Am'fast forward'
adding ff
$ hg up foo
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg merge ff
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg branch
foo
$ hg commit -m'Merge ff into foo'
$ hg parents
Matt Mackall
merge: back out single-parent fast-forward merge...
r13550 changeset: 6:917eb54e1b4b
Adrian Buehlmann
combine tests
r12279 branch: foo
tag: tip
Matt Mackall
merge: back out single-parent fast-forward merge...
r13550 parent: 4:98d14f698afe
parent: 5:6683a60370cb
Adrian Buehlmann
combine tests
r12279 user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: Merge ff into foo
$ hg manifest
a
ff
Test merging, add 3 default heads and one test head:
$ cd ..
$ hg init merges
$ cd merges
$ echo a > a
$ hg ci -Ama
adding a
$ echo b > b
$ hg ci -Amb
adding b
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo c > c
$ hg ci -Amc
adding c
created new head
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo d > d
$ hg ci -Amd
adding d
created new head
$ hg up 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg branch test
marked working directory as branch test
$ echo e >> e
$ hg ci -Ame
adding e
$ hg log
changeset: 4:3a1e01ed1df4
branch: test
tag: tip
parent: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: e
changeset: 3:980f7dc84c29
parent: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: d
changeset: 2:d36c0562f908
parent: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: c
changeset: 1:d2ae7f538514
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: b
changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
Implicit merge with test branch as parent:
$ hg merge
abort: branch 'test' has one head - please merge with an explicit rev
(run 'hg heads' to see all heads)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279 $ hg up -C default
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Implicit merge with default branch as parent:
$ hg merge
abort: branch 'default' has 3 heads - please merge with an explicit rev
(run 'hg heads .' to see heads)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279
3 branch heads, explicit merge required:
$ hg merge 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -m merge
2 branch heads, implicit merge works:
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)