view tests/test-win32text.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 f2618cacb485
children
line wrap: on
line source

[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf
pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf

commit should succeed

updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
commit should fail
Attempt to commit or push text file(s) using CRLF line endings
in f583ea08d42a: f
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed

commits should succeed

push should fail
pushing to ../zoz
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Attempt to commit or push text file(s) using CRLF line endings
in bc2d09796734: g
in b1aa5cde7ff4: f

To prevent this mistake in your local repository,
add to Mercurial.ini or .hg/hgrc:

[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf

and also consider adding:

[extensions]
win32text =
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
transaction abort!
rollback completed
abort: pretxnchangegroup.crlf hook failed

commit should succeed

push should succeed
pushing to ../zoz
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 2 files

and now for something completely different
Attempt to commit or push text file(s) using CRLF line endings
in 053ba1a3035a: d/f2
transaction abort!
rollback completed
abort: pretxncommit.crlf hook failed
forgetting d/f2


changeset:   5:f0b1c8d75fce
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       bin
description:
5


changeset:   4:77796dbcd4ad
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
4


changeset:   3:7c1b5430b350
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f g
description:
2.3


changeset:   2:bc2d09796734
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       g
description:
2.2


changeset:   1:b1aa5cde7ff4
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
2


changeset:   0:fcf06d5c4e1d
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
1



updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

adding dupe/a
adding dupe/b
adding dupe/c
adding dupe/d
changeset:   8:67ac5962ab43
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       d
description:
d


changeset:   7:68c127d1834e
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       b c
description:
b/c


changeset:   6:adbf8bf7f31d
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       a
description:
a


changeset:   5:f0b1c8d75fce
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       bin
description:
5


changeset:   4:77796dbcd4ad
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
4


changeset:   3:7c1b5430b350
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f g
description:
2.3


changeset:   2:bc2d09796734
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       g
description:
2.2


changeset:   1:b1aa5cde7ff4
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
2


changeset:   0:fcf06d5c4e1d
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
1



pulling from dupe
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 4 changes to 4 files
Attempt to commit or push text file(s) using CRLF line endings
in 67ac5962ab43: d
in 68c127d1834e: b
in 68c127d1834e: c

To prevent this mistake in your local repository,
add to Mercurial.ini or .hg/hgrc:

[hooks]
pretxncommit.crlf = python:hgext.win32text.forbidcrlf

and also consider adding:

[extensions]
win32text =
[encode]
** = cleverencode:
[decode]
** = cleverdecode:
transaction abort!
rollback completed
abort: pretxnchangegroup.crlf hook failed

changeset:   5:f0b1c8d75fce
tag:         tip
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       bin
description:
5


changeset:   4:77796dbcd4ad
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
4


changeset:   3:7c1b5430b350
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f g
description:
2.3


changeset:   2:bc2d09796734
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       g
description:
2.2


changeset:   1:b1aa5cde7ff4
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
2


changeset:   0:fcf06d5c4e1d
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
files:       f
description:
1



hello<NUL><CR><LF>
some<LF>text<LF>
rem empty<CR><LF>

[extensions]
win32text = 
[decode]
** = cleverdecode:
[encode]
** = cleverencode:

WARNING: f4.bat already has CRLF line endings
and does not need EOL conversion by the win32text plugin.
Before your next commit, please reconsider your encode/decode settings in 
Mercurial.ini or ..../.hg/hgrc.
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
hello<NUL><CR><LF>
some<CR><LF>text<CR><LF>
rem empty<CR><LF>

# empty<CR><LF>
# empty<LF>
% just linefeed<LF>
% just linefeed<LF>
no changes needed to linefeed
% just linefeed<LF>
M linefeed
reverting linefeed
% just linefeed<CR><LF>