Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
( )
Automatic diff as part of commit; lint not applicable. |
Automatic diff as part of commit; unit tests not applicable. |
Path | Packages | |||
---|---|---|---|---|
M | mercurial/obsutil.py (4 lines) |
Status | Author | Revision | |
---|---|---|---|
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute | ||
Closed | marmoute |
to strip the prune markers (with the rest of the exclusive chain) alongside | to strip the prune markers (with the rest of the exclusive chain) alongside | ||||
the pruned changesets. | the pruned changesets. | ||||
""" | """ | ||||
# running on a filtered repository would be dangerous as markers could be | # running on a filtered repository would be dangerous as markers could be | ||||
# reported as exclusive when they are relevant for other filtered nodes. | # reported as exclusive when they are relevant for other filtered nodes. | ||||
unfi = repo.unfiltered() | unfi = repo.unfiltered() | ||||
# shortcut to various useful item | # shortcut to various useful item | ||||
nm = unfi.changelog.nodemap | has_node = unfi.changelog.index.has_node | ||||
precursorsmarkers = unfi.obsstore.predecessors | precursorsmarkers = unfi.obsstore.predecessors | ||||
successormarkers = unfi.obsstore.successors | successormarkers = unfi.obsstore.successors | ||||
childrenmarkers = unfi.obsstore.children | childrenmarkers = unfi.obsstore.children | ||||
# exclusive markers (return of the function) | # exclusive markers (return of the function) | ||||
exclmarkers = set() | exclmarkers = set() | ||||
# we need fast membership testing | # we need fast membership testing | ||||
nodes = set(nodes) | nodes = set(nodes) | ||||
# should we keep traversing through the precursors? | # should we keep traversing through the precursors? | ||||
prec = mark[0] | prec = mark[0] | ||||
# nodes in the stack or already processed | # nodes in the stack or already processed | ||||
if prec in seennodes: | if prec in seennodes: | ||||
continue | continue | ||||
# is this a locally known node ? | # is this a locally known node ? | ||||
known = prec in nm | known = has_node(prec) | ||||
# if locally-known and not in the <nodes> set the traversal | # if locally-known and not in the <nodes> set the traversal | ||||
# stop here. | # stop here. | ||||
if known and prec not in nodes: | if known and prec not in nodes: | ||||
continue | continue | ||||
# do not keep going if there are unselected markers pointing to this | # do not keep going if there are unselected markers pointing to this | ||||
# nodes. If we end up traversing these unselected markers later the | # nodes. If we end up traversing these unselected markers later the | ||||
# node will be taken care of at that point. | # node will be taken care of at that point. |