46 def manifest(self): |
46 def manifest(self): |
47 man1 = super(lfilesctx, self).manifest() |
47 man1 = super(lfilesctx, self).manifest() |
48 man1.__class__ = lfilesmanifestdict |
48 man1.__class__ = lfilesmanifestdict |
49 return man1 |
49 return man1 |
50 def filectx(self, path, fileid=None, filelog=None): |
50 def filectx(self, path, fileid=None, filelog=None): |
|
51 orig = super(lfilesctx, self).filectx |
51 try: |
52 try: |
52 if filelog is not None: |
53 if filelog is not None: |
53 result = super(lfilesctx, self).filectx( |
54 result = orig(path, fileid, filelog) |
54 path, fileid, filelog) |
|
55 else: |
55 else: |
56 result = super(lfilesctx, self).filectx( |
56 result = orig(path, fileid) |
57 path, fileid) |
|
58 except error.LookupError: |
57 except error.LookupError: |
59 # Adding a null character will cause Mercurial to |
58 # Adding a null character will cause Mercurial to |
60 # identify this as a binary file. |
59 # identify this as a binary file. |
61 if filelog is not None: |
60 if filelog is not None: |
62 result = super(lfilesctx, self).filectx( |
61 result = orig(lfutil.standin(path), fileid, |
63 lfutil.standin(path), fileid, filelog) |
62 filelog) |
64 else: |
63 else: |
65 result = super(lfilesctx, self).filectx( |
64 result = orig(lfutil.standin(path), fileid) |
66 lfutil.standin(path), fileid) |
|
67 olddata = result.data |
65 olddata = result.data |
68 result.data = lambda: olddata() + '\0' |
66 result.data = lambda: olddata() + '\0' |
69 return result |
67 return result |
70 ctx.__class__ = lfilesctx |
68 ctx.__class__ = lfilesctx |
71 return ctx |
69 return ctx |