largefiles: better handling of log from other working directory (issue4236)
When invoked from another directory, the matchers m._cwd will be the absolute
path. The code for calculating relative path to .hglf did not consider that and
log would fail with weird errors and paths.
For now, just don't do any largefile magic when invoked from other directories.
--- a/hgext/largefiles/overrides.py Thu May 01 09:42:23 2014 -0500
+++ b/hgext/largefiles/overrides.py Thu May 01 15:12:49 2014 +0200
@@ -270,6 +270,9 @@
pats = set(p)
# TODO: handling of patterns in both cases below
if m._cwd:
+ if os.path.isabs(m._cwd):
+ # TODO: handle largefile magic when invoked from other cwd
+ return matchandpats
back = (m._cwd.count('/') + 1) * '../'
pats.update(back + lfutil.standin(m._cwd + '/' + f) for f in p)
else:
--- a/tests/test-largefiles.t Thu May 01 09:42:23 2014 -0500
+++ b/tests/test-largefiles.t Thu May 01 15:12:49 2014 +0200
@@ -773,6 +773,18 @@
@ 7:daea875e9014
|
$ cd ..
+
+Test log from outside repo
+
+ $ hg log b/sub -T '{rev}:{node|short} {desc|firstline}\n'
+ 6:4355d653f84f edit files yet again
+ 5:9d5af5072dbd edit files again
+ 4:74c02385b94c move files
+ 1:ce8896473775 edit files
+ 0:30d30fe6a5be add files
+
+Test clone at revision
+
$ hg clone a -r 3 c
adding changesets
adding manifests