##// END OF EJS Templates
extras: extract function for projecting names from a gettable object
Jason R. Coombs -
r51259:2cd959fe default
parent child Browse files
Show More
@@ -84,13 +84,19 b' def _nothingtorebase():'
84 84 return 1
85 85
86 86
87 graft_extras = b'source', b'intermediate-source'
88
89
90 def _project(orig, names):
91 """Project a subset of names from orig."""
92 values = (orig.get(name, None) for name in names)
93 return {
94 name: value for name, value in zip(names, values) if value is not None
95 }
96
97
87 98 def _savegraft(ctx, extra):
88 s = ctx.extra().get(b'source', None)
89 if s is not None:
90 extra[b'source'] = s
91 s = ctx.extra().get(b'intermediate-source', None)
92 if s is not None:
93 extra[b'intermediate-source'] = s
99 extra.update(_project(ctx.extra(), graft_extras))
94 100
95 101
96 102 def _savebranch(ctx, extra):
General Comments 0
You need to be logged in to leave comments. Login now