##// END OF EJS Templates
subrepo: fix repo root path handling in svn subrepo
Brett Cannon -
r10954:33119d02 stable
parent child Browse files
Show More
@@ -273,7 +273,8 b' class svnsubrepo(object):'
273 273 self._ui = ctx._repo.ui
274 274
275 275 def _svncommand(self, commands):
276 cmd = ['svn'] + commands + [self._path]
276 path = os.path.join(self._ctx._repo.origroot, self._path)
277 cmd = ['svn'] + commands + [path]
277 278 cmd = [util.shellquote(arg) for arg in cmd]
278 279 cmd = util.quotecommand(' '.join(cmd))
279 280 env = dict(os.environ)
@@ -16,7 +16,8 b' if [ $? -ne 0 ]; then'
16 16 fi
17 17 escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"`
18 18 filterpath="s|$escapedwd|/root|"
19 filtersvn='s/ in transaction.*/ is out of date/;s/Out of date: /File /'
19 filteroutofdate='s/ in transaction.*/ is out of date/;s/Out of date: /File /'
20 filterexternal="s|Fetching external item into '.*/s/externals'|Fetching external item into 's/externals'|g"
20 21
21 22 echo % create subversion repo
22 23
@@ -62,7 +63,7 b' echo'
62 63 echo % change file in svn and hg, commit
63 64 echo a >> a
64 65 echo alpha >> s/alpha
65 hg commit -m 'Message!'
66 hg commit -m 'Message!' | sed "$filterexternal"
66 67 hg debugsub | sed "$filterpath"
67 68
68 69 echo
@@ -81,12 +82,12 b' cd ../../sub/t'
81 82
82 83 echo % this commit from hg will fail
83 84 echo zzz >> s/alpha
84 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filtersvn"
85 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate"
85 86 svn revert -q s/alpha
86 87
87 88 echo % this commit fails because of meta changes
88 89 svn propset svn:mime-type 'text/html' s/alpha
89 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filtersvn"
90 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate"
90 91 svn revert -q s/alpha
91 92
92 93 echo % this commit fails because of externals changes
@@ -106,3 +107,6 b' hg clone t tc | fix_path'
106 107 cd tc
107 108 echo % debugsub in clone
108 109 hg debugsub | sed "$filterpath"
110
111 echo % verify subrepo is contained within the repo directory
112 python -c "import os.path; print os.path.exists('s')"
@@ -72,11 +72,11 b' abort: cannot commit svn externals'
72 72
73 73 % clone
74 74 updating to branch default
75 A s/alpha
76 U s
75 A tc/s/alpha
76 U tc/s
77 77
78 Fetching external item into 's/externals'
79 A s/externals/other
78 Fetching external item into 'tc/s/externals'
79 A tc/s/externals/other
80 80 Checked out external at revision 1.
81 81
82 82 Checked out revision 3.
@@ -85,3 +85,5 b' 3 files updated, 0 files merged, 0 files'
85 85 path s
86 86 source file:///root/svn-repo/src
87 87 revision 3
88 % verify subrepo is contained within the repo directory
89 True
General Comments 0
You need to be logged in to leave comments. Login now