Mercurial > hg
comparison hgext/rebase.py @ 50408:82e5a9b1ef1e
extras: re-use Projection from jaraco.collections
author | Jason R. Coombs <jaraco@jaraco.com> |
---|---|
date | Tue, 21 Mar 2023 20:47:30 -0400 |
parents | e8f1e0e295bb |
children | 771294224bf6 |
comparison
equal
deleted
inserted
replaced
50407:e8f1e0e295bb | 50408:82e5a9b1ef1e |
---|---|
22 nullrev, | 22 nullrev, |
23 short, | 23 short, |
24 wdirrev, | 24 wdirrev, |
25 ) | 25 ) |
26 from mercurial.pycompat import open | 26 from mercurial.pycompat import open |
27 from mercurial.thirdparty.jaraco.collections import Projection | |
27 from mercurial import ( | 28 from mercurial import ( |
28 bookmarks, | 29 bookmarks, |
29 cmdutil, | 30 cmdutil, |
30 commands, | 31 commands, |
31 copies, | 32 copies, |
50 smartset, | 51 smartset, |
51 state as statemod, | 52 state as statemod, |
52 util, | 53 util, |
53 ) | 54 ) |
54 | 55 |
56 | |
55 # The following constants are used throughout the rebase module. The ordering of | 57 # The following constants are used throughout the rebase module. The ordering of |
56 # their values must be maintained. | 58 # their values must be maintained. |
57 | 59 |
58 # Indicates that a revision needs to be rebased | 60 # Indicates that a revision needs to be rebased |
59 revtodo = -1 | 61 revtodo = -1 |
91 # graft | 93 # graft |
92 yield b'source' | 94 yield b'source' |
93 yield b'intermediate-source' | 95 yield b'intermediate-source' |
94 | 96 |
95 | 97 |
96 def _project(orig, names): | |
97 """Project a subset of names from orig.""" | |
98 names_saved = tuple(names) | |
99 values = (orig.get(name, None) for name in names_saved) | |
100 return { | |
101 name: value | |
102 for name, value in zip(names_saved, values) | |
103 if value is not None | |
104 } | |
105 | |
106 | |
107 def _save_extras(ctx, extra): | 98 def _save_extras(ctx, extra): |
108 extra.update(_project(ctx.extra(), retained_extras())) | 99 extra.update(Projection(retained_extras(), ctx.extra())) |
109 | 100 |
110 | 101 |
111 def _savebranch(ctx, extra): | 102 def _savebranch(ctx, extra): |
112 extra[b'branch'] = ctx.branch() | 103 extra[b'branch'] = ctx.branch() |
113 | 104 |