comparison hgext/git/index.py @ 46113:59fa3890d40a

node: import symbols explicitly There is no point in lazy importing mercurial.node, it is used all over the place anyway. So consistently import the used symbols directly. Fix one file using symbols indirectly via mercurial.revlog. Differential Revision: https://phab.mercurial-scm.org/D9480
author Joerg Sonnenberger <joerg@bec.de>
date Tue, 01 Dec 2020 21:54:46 +0100
parents 83e41b73d115
children d55b71393907 de26b9a7ec29
comparison
equal deleted inserted replaced
46112:d6afa9c149c3 46113:59fa3890d40a
3 import collections 3 import collections
4 import os 4 import os
5 import sqlite3 5 import sqlite3
6 6
7 from mercurial.i18n import _ 7 from mercurial.i18n import _
8 from mercurial.node import (
9 nullhex,
10 nullid,
11 )
8 12
9 from mercurial import ( 13 from mercurial import (
10 encoding, 14 encoding,
11 error, 15 error,
12 node as nodemod,
13 pycompat, 16 pycompat,
14 ) 17 )
15 18
16 from . import gitutil 19 from . import gitutil
17 20
276 # This walker is sure to visit all the revisions in history, but 279 # This walker is sure to visit all the revisions in history, but
277 # only once. 280 # only once.
278 for pos, commit in enumerate(walker): 281 for pos, commit in enumerate(walker):
279 if prog is not None: 282 if prog is not None:
280 prog.update(pos) 283 prog.update(pos)
281 p1 = p2 = nodemod.nullhex 284 p1 = p2 = nullhex
282 if len(commit.parents) > 2: 285 if len(commit.parents) > 2:
283 raise error.ProgrammingError( 286 raise error.ProgrammingError(
284 ( 287 (
285 b"git support can't handle octopus merges, " 288 b"git support can't handle octopus merges, "
286 b"found a commit with %d parents :(" 289 b"found a commit with %d parents :("
313 patchgen = commit.tree.diff_to_tree( 316 patchgen = commit.tree.diff_to_tree(
314 swap=True, flags=_DIFF_FLAGS 317 swap=True, flags=_DIFF_FLAGS
315 ) 318 )
316 new_files = (p.delta.new_file for p in patchgen) 319 new_files = (p.delta.new_file for p in patchgen)
317 files = { 320 files = {
318 nf.path: nf.id.hex 321 nf.path: nf.id.hex for nf in new_files if nf.id.raw != nullid
319 for nf in new_files
320 if nf.id.raw != nodemod.nullid
321 } 322 }
322 for p, n in files.items(): 323 for p, n in files.items():
323 # We intentionally set NULLs for any file parentage 324 # We intentionally set NULLs for any file parentage
324 # information so it'll get demand-computed later. We 325 # information so it'll get demand-computed later. We
325 # used to do it right here, and it was _very_ slow. 326 # used to do it right here, and it was _very_ slow.