equal
deleted
inserted
replaced
90 # For each troubled revision we keep track of what instability if any should |
90 # For each troubled revision we keep track of what instability if any should |
91 # be resolved in order to resolve it. Example: |
91 # be resolved in order to resolve it. Example: |
92 # dependencies = {3: [6], 6:[]} |
92 # dependencies = {3: [6], 6:[]} |
93 # Means that: 6 has no dependency, 3 depends on 6 to be solved |
93 # Means that: 6 has no dependency, 3 depends on 6 to be solved |
94 dependencies = {} |
94 dependencies = {} |
95 # rdependencies is the inverted dict of dependencies |
|
96 rdependencies = {r: set() for r in revs} |
|
97 |
95 |
98 for r in revs: |
96 for r in revs: |
99 dependencies[r] = set() |
97 dependencies[r] = set() |
100 for p in repo[r].parents(): |
98 for p in repo[r].parents(): |
101 try: |
99 try: |
109 tset.add(succ) |
107 tset.add(succ) |
110 dependencies[r].update(tset) |
108 dependencies[r].update(tset) |
111 continue |
109 continue |
112 if succ in revs: |
110 if succ in revs: |
113 dependencies[r].add(succ) |
111 dependencies[r].add(succ) |
114 rdependencies[succ].add(r) |
112 |
|
113 # rdependencies is the inverted dict of dependencies |
|
114 rdependencies = {r: set() for r in revs} |
|
115 for r, deps in dependencies.items(): |
|
116 for dep in deps: |
|
117 rdependencies[dep].add(r) |
|
118 |
115 return dependencies, rdependencies |
119 return dependencies, rdependencies |
116 |
120 |
117 def _singlesuccessor(repo, p): |
121 def _singlesuccessor(repo, p): |
118 """returns p (as rev) if not obsolete or its unique latest successors |
122 """returns p (as rev) if not obsolete or its unique latest successors |
119 |
123 |