diff --git a/hgext3rd/rage.py b/hgext3rd/rage.py --- a/hgext3rd/rage.py +++ b/hgext3rd/rage.py @@ -21,6 +21,7 @@ from mercurial import pycompat, scmutil from hgext import blackbox from hgext3rd import ( + shareutil, smartlog, fbsparse as sparse, ) @@ -198,6 +199,7 @@ By default, the information will be uploaded to Phabricator and instructions about how to ask for help will be printed. """ + srcrepo = shareutil.getsrcrepo(repo) def format(pair, basic=True): if basic: @@ -217,11 +219,11 @@ finally: return ui.popbuffer() - def hgfile(filename): - if repo.vfs.exists(filename): - return repo.vfs(filename).read() + def hgsrcrepofile(filename): + if srcrepo.vfs.exists(filename): + return srcrepo.vfs(filename).read() else: - return "File not found: %s" % repo.vfs.join(filename) + return "File not found: %s" % srcrepo.vfs.join(filename) if opts.get('oncall') and opts.get('preview'): raise error.Abort('--preview and --oncall cannot be used together') @@ -276,7 +278,7 @@ ('hg debugobsolete ', _failsafe(lambda: obsoleteinfo(repo, hgcmd))), ('infinitepush backup state', - _failsafe(lambda: hgfile('infinitepushbackupstate'))), + _failsafe(lambda: hgsrcrepofile('infinitepushbackupstate'))), ('infinitepush backup logs', _failsafe(lambda: infinitepushbackuplogs(ui, repo))), ('hg config (all)', _failsafe(lambda: hgcmd(commands.config))), diff --git a/tests/test-rage.t b/tests/test-rage.t --- a/tests/test-rage.t +++ b/tests/test-rage.t @@ -11,3 +11,21 @@ #endif $ hg rage --preview | grep -o 'blackbox' blackbox + +Test with shared repo + $ cat >> $HGRCPATH << EOF + > [extensions] + > share= + > EOF + $ cd .. + $ hg share repo repo2 + updating working directory + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + +Create fake infinitepush backup state to be collected by rage + + $ echo "fakestate" > repo/.hg/infinitepushbackupstate + $ cd repo2 + $ hg rage --preview | grep -o 'fakestate' + fakestate +