##// END OF EJS Templates
merge with stable
Matt Mackall -
r16088:6c1daae0 merge default
parent child Browse files
Show More
@@ -197,7 +197,7 b' def issvnurl(ui, url):'
197 proto = 'file'
197 proto = 'file'
198 path = os.path.abspath(url)
198 path = os.path.abspath(url)
199 if proto == 'file':
199 if proto == 'file':
200 path = path.replace(os.sep, '/')
200 path = util.pconvert(path)
201 check = protomap.get(proto, lambda *args: False)
201 check = protomap.get(proto, lambda *args: False)
202 while '/' in path:
202 while '/' in path:
203 if check(ui, path, proto):
203 if check(ui, path, proto):
@@ -303,7 +303,7 b' def standin(filename):'
303 # 2) Join with '/' because that's what dirstate always uses, even on
303 # 2) Join with '/' because that's what dirstate always uses, even on
304 # Windows. Change existing separator to '/' first in case we are
304 # Windows. Change existing separator to '/' first in case we are
305 # passed filenames from an external source (like the command line).
305 # passed filenames from an external source (like the command line).
306 return shortname + '/' + filename.replace(os.sep, '/')
306 return shortname + '/' + util.pconvert(filename)
307
307
308 def isstandin(filename):
308 def isstandin(filename):
309 '''Return true if filename is a big file standin. filename must be
309 '''Return true if filename is a big file standin. filename must be
@@ -314,7 +314,7 b' def splitstandin(filename):'
314 # Split on / because that's what dirstate always uses, even on Windows.
314 # Split on / because that's what dirstate always uses, even on Windows.
315 # Change local separator to / first just in case we are passed filenames
315 # Change local separator to / first just in case we are passed filenames
316 # from an external source (like the command line).
316 # from an external source (like the command line).
317 bits = filename.replace(os.sep, '/').split('/', 1)
317 bits = util.pconvert(filename).split('/', 1)
318 if len(bits) == 2 and bits[0] == shortname:
318 if len(bits) == 2 and bits[0] == shortname:
319 return bits[1]
319 return bits[1]
320 else:
320 else:
@@ -433,7 +433,7 b' def httpsendfile(ui, filename):'
433
433
434 def unixpath(path):
434 def unixpath(path):
435 '''Return a version of path normalized for use with the lfdirstate.'''
435 '''Return a version of path normalized for use with the lfdirstate.'''
436 return os.path.normpath(path).replace(os.sep, '/')
436 return util.pconvert(os.path.normpath(path))
437
437
438 def islfilesrepo(repo):
438 def islfilesrepo(repo):
439 return ('largefiles' in repo.requirements and
439 return ('largefiles' in repo.requirements and
@@ -443,7 +443,7 b' static PyObject *fixws(PyObject *self, P'
443 r = PyBytes_AsString(s);
443 r = PyBytes_AsString(s);
444 rlen = PyBytes_Size(s);
444 rlen = PyBytes_Size(s);
445
445
446 w = (char *)malloc(rlen);
446 w = (char *)malloc(rlen ? rlen : 1);
447 if (!w)
447 if (!w)
448 goto nomem;
448 goto nomem;
449
449
@@ -1224,8 +1224,8 b' def forget(ui, repo, match, prefix, expl'
1224 ui.status(_("skipping missing subrepository: %s\n")
1224 ui.status(_("skipping missing subrepository: %s\n")
1225 % join(subpath))
1225 % join(subpath))
1226
1226
1227 for f in match.files():
1227 if not explicitonly:
1228 if match.exact(f) or not explicitonly:
1228 for f in match.files():
1229 if f not in repo.dirstate and not os.path.isdir(match.rel(join(f))):
1229 if f not in repo.dirstate and not os.path.isdir(match.rel(join(f))):
1230 if f not in forgot:
1230 if f not in forgot:
1231 if os.path.exists(match.rel(join(f))):
1231 if os.path.exists(match.rel(join(f))):
@@ -468,7 +468,7 b' else:'
468 _HKEY_LOCAL_MACHINE)
468 _HKEY_LOCAL_MACHINE)
469 if not isinstance(value, str) or not value:
469 if not isinstance(value, str) or not value:
470 return rcpath
470 return rcpath
471 value = value.replace('/', os.sep)
471 value = util.localpath(value)
472 for p in value.split(os.pathsep):
472 for p in value.split(os.pathsep):
473 if p.lower().endswith('mercurial.ini'):
473 if p.lower().endswith('mercurial.ini'):
474 rcpath.append(p)
474 rcpath.append(p)
@@ -1,9 +1,9 b''
1 $ check_code="$TESTDIR"/../contrib/check-code.py
1 $ check_code="$TESTDIR"/../contrib/check-code.py
2 $ cd "$TESTDIR"/..
2 $ cd "$TESTDIR"/..
3
3
4 $ "$check_code" `hg manifest` || echo 'FAILURE IS NOT AN OPTION!!!'
4 $ hg manifest | xargs "$check_code" || echo 'FAILURE IS NOT AN OPTION!!!'
5
5
6 $ "$check_code" --warnings --nolineno --per-file=0 `hg manifest`
6 $ hg manifest | xargs "$check_code" --warnings --nolineno --per-file=0
7 contrib/check-code.py:0:
7 contrib/check-code.py:0:
8 > # (r'^\s+[^_ \n][^_. \n]+_[^_\n]+\s*=', "don't use underbars in identifiers"),
8 > # (r'^\s+[^_ \n][^_. \n]+_[^_\n]+\s*=', "don't use underbars in identifiers"),
9 warning: line over 80 characters
9 warning: line over 80 characters
@@ -654,4 +654,4 b''
654 tests/test-walkrepo.py:0:
654 tests/test-walkrepo.py:0:
655 > print "Found %d repositories when I should have found 3" % (len(reposet),)
655 > print "Found %d repositories when I should have found 3" % (len(reposet),)
656 warning: line over 80 characters
656 warning: line over 80 characters
657 [1]
657 [123]
@@ -193,10 +193,14 b' Test explicit path commands within subre'
193 $ hg add foo/bar/z2.txt
193 $ hg add foo/bar/z2.txt
194 $ hg status -S
194 $ hg status -S
195 A foo/bar/z2.txt
195 A foo/bar/z2.txt
196 This is expected to forget the file, but is currently broken
197 $ hg forget foo/bar/z2.txt
196 $ hg forget foo/bar/z2.txt
198 $ hg status -S
197 $ hg status -S
199 ? foo/bar/z2.txt
198 ? foo/bar/z2.txt
199 $ hg forget foo/bar/z2.txt
200 not removing foo/bar/z2.txt: file is already untracked
201 [1]
202 $ hg status -S
203 ? foo/bar/z2.txt
200 $ rm foo/bar/z2.txt
204 $ rm foo/bar/z2.txt
201
205
202 Log with the relationships between repo and its subrepo:
206 Log with the relationships between repo and its subrepo:
General Comments 0
You need to be logged in to leave comments. Login now