Yuya Nishihara avatar Yuya Nishihara committed e21016b

hglib: make getDeepestSubrepoContainingFile() compatible with patchctx

Here getDeepestSubrepoContainingFile() does not need full manifest, it's
appropriate to use "file in ctx".

This fixes "'patchctx' object has no attribute 'manifest'" error, which
happens when you try to open visual diff of single file in unapplied patch.

Comments (0)

Files changed (1)

tortoisehg/util/hglib.py

     Also return the corresponding subrepo context and the filename relative to
     its containing subrepo
     """
-    if wfile in ctx.manifest():
+    if wfile in ctx:
         return '', wfile, ctx
     for wsub in ctx.substate:
         if wfile.startswith(wsub):
                 # The selected revision does not exist in the working copy
                 continue
             wfileinsub =  wfile[len(wsub)+1:]
-            if wfileinsub in sctx.substate or wfileinsub in sctx.manifest():
+            if wfileinsub in sctx.substate or wfileinsub in sctx:
                 return wsub, wfileinsub, sctx
             else:
                 wsubsub, wfileinsub, sctx = \
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.