view tests/test-qrecord.out @ 11109:a2bc2f2d77a9

subrepo: normalize path part of URLs so that pulling subrepos from webdir works For a "all projects at root" repo layout eg: /main /sub Where subrepos are used such that a clone of main has this layout: ./main/ ./main/.hgsub ./main/sub/ And the .hgsub content is: sub = ../sub This allows a pull from a hgweb where main and sub are exposed at the root (or same directory level) The current code doesn't normalize the path component of a pull url. this results in trying to pull from http://server.com/hg/main/../sub Current hgweb implementation doesn't reduce the path component so this results in a 404 error though everything is setup logically. This patch adresses this 404 error on the puller side normalizing the URLs used for pulling sub repos. For this example, the URL would be reduced to http://server.com/hg/sub Fix + test
author Edouard Gomez <ed.gomez@free.fr>
date Sat, 01 May 2010 23:05:19 +0200
parents c7dbd6c4877a
children 40c06bbf58be
line wrap: on
line source

% help (no mq, so no qrecord)
hg: unknown command 'qrecord'
Mercurial Distributed SCM

basic commands:

 add        add the specified files on the next commit
 annotate   show changeset information by line for each file
 clone      make a copy of an existing repository
 commit     commit the specified files or all outstanding changes
 diff       diff repository (or selected files)
 export     dump the header and diffs for one or more changesets
 forget     forget the specified files on the next commit
 init       create a new repository in the given directory
 log        show revision history of entire repository or files
 merge      merge working directory with another revision
 pull       pull changes from the specified source
 push       push changes to the specified destination
 remove     remove the specified files on the next commit
 serve      start stand-alone webserver
 status     show changed files in the working directory
 summary    summarize working directory state
 update     update working directory (or switch revisions)

use "hg help" for the full list of commands or "hg -v" for details
% help (mq present)
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         add "From: <given user>" to patch
 -D --currentdate  add "Date: <current date>" to patch
 -d --date         add "Date: <given date>" to patch
 -I --include      include names matching the given patterns
 -X --exclude      exclude names matching the given patterns
 -m --message      use <text> as commit message
 -l --logfile      read commit message from <file>

use "hg -v help qrecord" to show global options
% base commit
% changing files
% whole diff
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
diff --git a/1.txt b/1.txt
2 hunks, 4 lines changed
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 @@
 3
-4
+4 4
 5
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 @@
 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
1 hunks, 2 lines changed
examine changes to 'dir/a.txt'? [Ynsfdaq?] 

% after qrecord a.patch 'tip'
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'
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
diff --git a/1.txt b/1.txt
1 hunks, 2 lines changed
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
1 hunks, 2 lines changed
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?] 

% after qrecord b.patch 'tip'
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'

% --- end ---