diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py --- a/hgext/largefiles/lfutil.py +++ b/hgext/largefiles/lfutil.py @@ -224,13 +224,7 @@ def getstandinmatcher(repo, pats=[], opt '''Return a match object that applies pats to the standin directory''' standindir = repo.wjoin(shortname) if pats: - # patterns supplied: search standin directory relative to current dir - cwd = repo.getcwd() - if os.path.isabs(cwd): - # cwd is an absolute path for hg -R - # work relative to the repository root in this case - cwd = '' - pats = [os.path.join(standindir, cwd, pat) for pat in pats] + pats = [os.path.join(standindir, pat) for pat in pats] elif os.path.isdir(standindir): # no patterns: relative to repo root pats = [standindir] diff --git a/tests/test-largefiles.t b/tests/test-largefiles.t --- a/tests/test-largefiles.t +++ b/tests/test-largefiles.t @@ -1987,6 +1987,34 @@ Test commit's addremove option prior to .hglf/large.dat .hglf/large2.dat +Test actions on largefiles using relative paths from subdir + + $ mkdir sub + $ cd sub + $ echo anotherlarge > anotherlarge + $ hg add --large anotherlarge + $ hg st + A sub/anotherlarge + $ hg st anotherlarge + A anotherlarge + $ hg commit -m anotherlarge anotherlarge + Invoking status precommit hook + A sub/anotherlarge + $ hg log anotherlarge + changeset: 1:9627a577c5e9 + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: anotherlarge + + $ echo more >> anotherlarge + $ hg st . + M anotherlarge + $ hg revert anotherlarge + $ hg st + ? sub/anotherlarge.orig + $ cd .. + $ cd .. issue3651: summary/outgoing with largefiles shows "no remote repo"