Changeset - 5c4074db01d3
[Not reviewed]
default
0 1 0
Mads Kiilerich - 6 years ago 2019-12-26 05:28:52
mads@kiilerich.com
Grafted from: 141ad83c9259
vcs: prepare hg inmemory commit callbacks that given bytes have to find corresponding vcs nodes that use unicode str
1 file changed with 6 insertions and 5 deletions:
0 comments (0 inline, 0 general)
kallithea/lib/vcs/backends/hg/inmemory.py
Show inline comments
 
@@ -40,11 +40,12 @@ class MercurialInMemoryChangeset(BaseInM
 
            branch = MercurialRepository.DEFAULT_BRANCH_NAME
 
        kwargs[b'branch'] = branch
 

	
 
        def filectxfn(_repo, memctx, path):
 
        def filectxfn(_repo, memctx, bytes_path):
 
            """
 
            Marks given path as added/changed/removed in a given _repo. This is
 
            for internal mercurial commit function.
 
            Callback from Mercurial, returning ctx to commit for the given
 
            path.
 
            """
 
            path = bytes_path  # will be different for py3
 

	
 
            # check if this path is removed
 
            if path in (node.path for node in self.removed):
 
@@ -53,7 +54,7 @@ class MercurialInMemoryChangeset(BaseInM
 
            # check if this path is added
 
            for node in self.added:
 
                if node.path == path:
 
                    return mercurial.context.memfilectx(_repo, memctx, path=node.path,
 
                    return mercurial.context.memfilectx(_repo, memctx, path=bytes_path,
 
                        data=node.content,
 
                        islink=False,
 
                        isexec=node.is_executable,
 
@@ -62,7 +63,7 @@ class MercurialInMemoryChangeset(BaseInM
 
            # or changed
 
            for node in self.changed:
 
                if node.path == path:
 
                    return mercurial.context.memfilectx(_repo, memctx, path=node.path,
 
                    return mercurial.context.memfilectx(_repo, memctx, path=bytes_path,
 
                        data=node.content,
 
                        islink=False,
 
                        isexec=node.is_executable,
0 comments (0 inline, 0 general)