view tests/test-diff-upgrade.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 e451e599fbcf
children 9b3913baba0c
line wrap: on
line source

% make a combination of new, changed and deleted file
adding binary
adding exec
adding regular
adding rmbinary
adding rmempty
adding rmexec
adding rmregular
adding setexec
adding unsetexec
adding newbinary
adding newempty
adding newexec
adding newregular
removing rmbinary
removing rmempty
removing rmexec
removing rmregular
% git=no: regular diff for all files
diff -r b3f053cd7c7f binary
Binary file binary has changed
diff -r b3f053cd7c7f exec
--- a/exec
+++ b/exec
@@ -1,1 +1,2 @@
 exec
+exec
diff -r b3f053cd7c7f newbinary
Binary file newbinary has changed
diff -r b3f053cd7c7f newexec
--- /dev/null
+++ b/newexec
@@ -0,0 +1,1 @@
+newexec
diff -r b3f053cd7c7f newregular
--- /dev/null
+++ b/newregular
@@ -0,0 +1,1 @@
+newregular
diff -r b3f053cd7c7f regular
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
 regular
+regular
diff -r b3f053cd7c7f rmbinary
Binary file rmbinary has changed
diff -r b3f053cd7c7f rmexec
--- a/rmexec
+++ /dev/null
@@ -1,1 +0,0 @@
-rmexec
diff -r b3f053cd7c7f rmregular
--- a/rmregular
+++ /dev/null
@@ -1,1 +0,0 @@
-rmregular
% git=no: git diff for single regular file
diff --git a/regular b/regular
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
 regular
+regular
% git=auto: regular diff for regular files and removals
diff -r b3f053cd7c7f newregular
--- /dev/null
+++ b/newregular
@@ -0,0 +1,1 @@
+newregular
diff -r b3f053cd7c7f regular
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
 regular
+regular
diff -r b3f053cd7c7f rmbinary
Binary file rmbinary has changed
diff -r b3f053cd7c7f rmexec
--- a/rmexec
+++ /dev/null
@@ -1,1 +0,0 @@
-rmexec
diff -r b3f053cd7c7f rmregular
--- a/rmregular
+++ /dev/null
@@ -1,1 +0,0 @@
-rmregular
% git=auto: git diff for exec
diff -r b3f053cd7c7f exec
--- a/exec
+++ b/exec
@@ -1,1 +1,2 @@
 exec
+exec
% git=auto: git diff for newexec
diff --git a/newexec b/newexec
new file mode 100755
--- /dev/null
+++ b/newexec
@@ -0,0 +1,1 @@
+newexec
% git=auto: git diff for setexec
diff --git a/setexec b/setexec
old mode 100644
new mode 100755
% git=auto: git diff for unsetexec
diff --git a/unsetexec b/unsetexec
old mode 100755
new mode 100644
% git=auto: git diff for binary
diff --git a/binary b/binary
index a9128c283485202893f5af379dd9beccb6e79486..09f370e38f498a462e1ca0faa724559b6630c04f
GIT binary patch
literal 2
Jc${Nk0000200961

% git=auto: git diff for newbinary
diff --git a/newbinary b/newbinary
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
GIT binary patch
literal 1
Ic${MZ000310RR91

% git=auto: git diff for newempty
diff --git a/newempty b/newempty
new file mode 100644
% git=auto: git diff for rmempty
diff --git a/rmempty b/rmempty
deleted file mode 100644
% git=warn: regular diff with data loss warnings
diff -r b3f053cd7c7f binary
Binary file binary has changed
diff -r b3f053cd7c7f exec
--- a/exec
+++ b/exec
@@ -1,1 +1,2 @@
 exec
+exec
diff -r b3f053cd7c7f newbinary
Binary file newbinary has changed
diff -r b3f053cd7c7f newexec
--- /dev/null
+++ b/newexec
@@ -0,0 +1,1 @@
+newexec
diff -r b3f053cd7c7f newregular
--- /dev/null
+++ b/newregular
@@ -0,0 +1,1 @@
+newregular
diff -r b3f053cd7c7f regular
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
 regular
+regular
diff -r b3f053cd7c7f rmbinary
Binary file rmbinary has changed
diff -r b3f053cd7c7f rmexec
--- a/rmexec
+++ /dev/null
@@ -1,1 +0,0 @@
-rmexec
diff -r b3f053cd7c7f rmregular
--- a/rmregular
+++ /dev/null
@@ -1,1 +0,0 @@
-rmregular
data lost for: binary
data lost for: newbinary
data lost for: newempty
data lost for: newexec
data lost for: rmempty
data lost for: setexec
data lost for: unsetexec
% git=abort: fail on execute bit change
abort: losing data for setexec
% git=abort: succeed on regular file
diff -r b3f053cd7c7f regular
--- a/regular
+++ b/regular
@@ -1,1 +1,2 @@
 regular
+regular