Diff between old revisions of file now in subrepo directory fails
Created originally on Bitbucket by James Oldfield
I am running TortoiseHg 5.0.2 on Windows 10 64-bit.
- Create a file within a subdirectory of a repo, e.g. in MyRepo create MyRepo/Foo/bar/baz.cpp, and commit. Call this revision 1.
- Change that file and commit again. Call this revision 2.
- Delete that subdirectory, and replace with a subrepository. (In my case, the subrepo contains all the same files that were there before, but I don't think that's relevant.) Call this revision 3.
- In TortoiseHG Workbench, browse back to revision 2. Click on the file and you will see the diff successfully shown in the bottom right pane. But double click (or right click -> Diff to Parent) and you will get an error:
path 'MyRepo\Foo\bar\baz.cpp' is inside nested repo 'MyRepo\Foo'.
Here is the detail:
#!python ** Mercurial version (5.0.2). TortoiseHg version (5.0.2) ** Command: ** CWD: C:\Program Files\TortoiseHg ** Encoding: cp1252 ** Extensions loaded: hggit, mercurial_keyring, shelve, strip, rebase, mq, tortoisehg.util.configitems ** Python version: 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] ** Windows version: sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='') ** Processor architecture: x64 ** Qt-5.9.2 PyQt-5.9.1 QScintilla-2.10.2.dev1711012104 Traceback (most recent call last): File "tortoisehg\hgqt\revdetails.pyo", line 383, in onDoubleClick File "tortoisehg\hgqt\filectxactions.pyo", line 115, in wrapped File "tortoisehg\hgqt\filectxactions.pyo", line 289, in visualDiffFile File "tortoisehg\hgqt\filectxactions.pyo", line 299, in _visualDiffToBase File "tortoisehg\hgqt\filectxactions.pyo", line 308, in _visualDiff File "tortoisehg\hgqt\visdiff.pyo", line 239, in visualdiff File "mercurial\match.pyo", line 219, in match File "mercurial\match.pyo", line 265, in _donormalize File "mercurial\pathutil.pyo", line 192, in canonpath File "mercurial\pathutil.pyo", line 101, in __call__ File "mercurial\pathutil.pyo", line 129, in _checkfs Abort: path 'MyRepo\Foo\bar\baz.cpp' is inside nested repo 'MyRepo\\Foo'
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information