Summary: This diff is part of a series to cleanup fb-hgext and make it pass check-code.
Test Plan: all tests pass
Reviewers: #sourcecontrol, ttung, mitrandir, akushner
Reviewed By: akushner
Subscribers: mpm, akushner, mitrandir
Differential Revision: https://phabricator.fb.com/D2811997
Signature: t1:2811997:1452200059:9e4fca501a22f95d2d9a22d234758f55e292ea9a
Summary: Due to recent upstream changes the output of histedit is a bit less verbose
Test Plan: ran tests - less failures
Reviewers: #sourcecontrol, ttung, ericsumner
Reviewed By: ericsumner
Differential Revision: https://phabricator.fb.com/D2800039
Tasks: 9539722
Signature: t1:2800039:1451935970:7fa0b21f1639e167891430c89d5aa8b32a15ec49
Summary:
--continue was pretty broken before, in several ways:
1) It popped the rule after the 'exec'. I'm pretty certain this meant that rule
wasn't even running (two exec's in a row definitely weren't running).
2) 'exec' as the last step of the histedit would make it unrecoverable since
bootstrapcontinue tried to pop an empty list (because it popped the entry
ahead, see #1).
3) The replacements list it built associated any new commits from the exec with
the following commit instead of the previous. I just fixed this by not creating
any replacements in the exec --continue case, since it's currently not possible
to look backwards at what the original hash was.
4) That repo lock wasn't actually being released when doing further exec's in a
continue/abort. Upstream histedit creates a new histedit state object that
doesn't contain the actual locks, so we weren't actually unlocking it.
The fix is to most of this is to just delete all the copy/paste and make
--continue/--abort literally do nothing special when recovering from an exec.
If there are still pending changes, we just abort and tell people to fix it.
I sent a fix upstream to fix the locking issue.
Test Plan: Added tests
Reviewers: mitrandir, davidsp, sid0, rmcelroy, ericsumner
Differential Revision: https://phabricator.fb.com/D1853944
Summary:
Add an execute command. This works similar to git's exec. However this
patch is a bit hacky but I want to get a first version out to our users. We have
to change some parts in histedit to make it easier to hook into
bootstrapcontinue and verifyrules. At the moment we can't get around copying
the implementation. Also need to add tests for obsolence.
Test Plan: Run tests, see it works.
Reviewers: pyd, sid0, durham
Reviewed By: durham
Subscribers: akushner, rmcelroy
Differential Revision: https://phabricator.fb.com/D1611838