Page MenuHomePhabricator

amend: make `hg amend -r` rebase descendants of target onto amended target
Needs RevisionPublic

Authored by martinvonz on Jul 9 2021, 4:28 PM.

Details

Reviewers
Alphare
marmoute
Group Reviewers
hg-reviewers

Diff Detail

Repository
rHG Mercurial
Branch
default
Lint
No Linters Available
Unit
No Unit Test Coverage

Event Timeline

martinvonz created this revision.Jul 9 2021, 4:28 PM

Can we test that further descendants (potentially not linear) are not rebased automatically? This can be done in a separate, simpler test case as an additional changeset.

Alphare requested changes to this revision.Jul 12 2021, 5:30 AM
This revision now requires changes to proceed.Jul 12 2021, 5:30 AM
martinvonz updated this revision to Diff 29213.Jul 12 2021, 2:43 PM

Can we test that further descendants (potentially not linear) are not rebased automatically? This can be done in a separate, simpler test case as an additional changeset.

I think that's now done. I also added tests for amending into non-ancestors (in the first patch in this series).

martinvonz updated this revision to Diff 29296.Jul 15 2021, 8:35 PM
marmoute requested changes to this revision.Jul 15 2021, 8:38 PM
marmoute added a subscriber: marmoute.
marmoute added inline comments.
hgext/amend.py
182–185

It would be nice to have some documentation about what each of these value mean, there start to be many of them and I am not sure what each of them is about.

303

What happens (and what's is the intend) if any of the nodes here are obsolete ?

312

Using tip here seem a bit fragile.

The only(tip, <amended>) range seems strange since this will include changeset that are not descendant of <target>, so over reporting. (we need a test for that).

In addition if some node got skipped or "disappeared for being empty post rebase". It feel like we have a good odd of bad/confusing report.

This revision now requires changes to proceed.Jul 15 2021, 8:38 PM