mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
amend: don't preserve most extra fields
This backs out changeset fd794e885a9e9. There are some extra fields that absolutely should not be preserved, like the convert_revision field introduced by the convert and hgsubversion extensions. The problem with extensions blacklisting certain extra fields is that they might not be enabled at the time the amend is performed. In the long run we probably want separately marked transferable and non-transferable extra fields, but for now restore the old Mercurial 3.6 behavior.
This commit is contained in:
parent
de70b03c22
commit
c8ebb66630
@ -2623,11 +2623,6 @@ def amend(ui, repo, commitfunc, old, extra, pats, opts):
|
||||
message = old.description()
|
||||
|
||||
pureextra = extra.copy()
|
||||
if 'amend_source' in pureextra:
|
||||
del pureextra['amend_source']
|
||||
pureoldextra = old.extra()
|
||||
if 'amend_source' in pureoldextra:
|
||||
del pureoldextra['amend_source']
|
||||
extra['amend_source'] = old.hex()
|
||||
|
||||
new = context.memctx(repo,
|
||||
@ -2645,7 +2640,7 @@ def amend(ui, repo, commitfunc, old, extra, pats, opts):
|
||||
and newdesc == old.description()
|
||||
and user == old.user()
|
||||
and date == old.date()
|
||||
and pureextra == pureoldextra):
|
||||
and pureextra == old.extra()):
|
||||
# nothing changed. continuing here would create a new node
|
||||
# anyway because of the amend_source noise.
|
||||
#
|
||||
|
@ -1682,9 +1682,6 @@ def _docommit(ui, repo, *pats, **opts):
|
||||
if not allowunstable and old.children():
|
||||
raise error.Abort(_('cannot amend changeset with children'))
|
||||
|
||||
newextra = extra.copy()
|
||||
newextra['branch'] = branch
|
||||
extra = newextra
|
||||
# commitfunc is used only for temporary amend commit by cmdutil.amend
|
||||
def commitfunc(ui, repo, message, match, opts):
|
||||
return repo.commit(message,
|
||||
|
Loading…
Reference in New Issue
Block a user