summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* git-debrebase: merge: Actually record merge resolutionsIan Jackson2018-08-12
| | | | | | | | And, destroy it on scrap. Nothing consumes this yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: scrap works properly when it does only rebase --abortIan Jackson2018-08-12
| | | | | | | We use @deferred_updates to see if we actually did anything for --noop-ok purposes. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test conflict: Break out no-wreckageIan Jackson2018-08-12
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Change wreckage to refs/debrebase/wreckage/*Ian Jackson2018-08-12
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move reflog_cache_* from dgitIan Jackson2018-08-12
| | | | | | | | We are going to want this for git-debrebase merge resolutions. NFC other than the usual change to literal `git'. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move $maindir* up the file.Ian Jackson2018-08-12
| | | | | | | | We're going to want these for the reflog cache functions. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move make_commit_text from dgitIan Jackson2018-08-12
| | | | | | NFC other than the usual change to literal `git'. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: New record-resolved-merge subcommand, WIPIan Jackson2018-08-12
| | | | | | | Right now this seems to be able to generate some commit, but it doesn't know how to record it. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Split off merge_series_patchqueue_convertIan Jackson2018-08-11
| | | | | | | | We're about to reuse this. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Record the new-base in the wreckage.Ian Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Use a fresh branch and check out againIan Jackson2018-08-11
| | | | | | | | We are going to want this in a moment. No overall functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Introduce $merged_pqIan Jackson2018-08-11
| | | | | | | | We are going to want this in a moment. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Use a couple of globals insteadIan Jackson2018-08-11
| | | | | | | | | We are going to make some of this into its own sub, and copying the convenience functions seems annoying, so do this. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Introduce merge_attempt_cmd globalIan Jackson2018-08-11
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Do wreckage cleaning separatelyIan Jackson2018-08-11
| | | | | | | git-update-ref hates us if we delete a ref and reintroduce it, in the same transaction. In this case we don't mind doing it in two goes. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: fresh_workarea: Support $subdirIan Jackson2018-08-11
| | | | | | | | And use this in merge_series. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Prettify subprocess failuresIan Jackson2018-08-11
| | | | | | | If we print STDERR in advance, there is a newline beforehand, which is undesirable. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test gdr-merge-conflicts: Test late wreckageIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test gdr-merge-conflicts: Break out wreckage-*Ian Jackson2018-08-11
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Minor style and error message changeIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Call merge_failed in merge_seriesIan Jackson2018-08-11
| | | | | | Introduce $attempt_cmd for this purpose. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Defeat evals which might try to trap merge_failedIan Jackson2018-08-11
| | | | | | | | That would be dangerous because we're in the wrong directory and other things may be wrong. For example, if we continue we might overwrite wreckage with other wreckage. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Save wreckage in $maindirIan Jackson2018-08-11
| | | | | | We should change to $maindir before exiting. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Always save wreckageIan Jackson2018-08-11
| | | | | | There is no point configuring this. We tidy it up again soon enough. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test suite: Drop check of no wreckage saveIan Jackson2018-08-11
| | | | | | We are going to make this nonconfigurable. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test suite: Check wreckage tidyingIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Wreckage: tidy it up on successful commandsIan Jackson2018-08-11
| | | | | | | Whenever we do a final ref update, discard any wreckage. The wreckage can be autoregenerated, so it is not very important. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Break out merge_wreckage_cleaning (nfc)Ian Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test suite: Check wreckage savingIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Save wreckage if desiredIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Introduce new merge_failed subIan Jackson2018-08-11
| | | | | | | And call it from $nomerge in walk. Now we produce a sane error message. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Make mwrecknote call printdebugIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Miscellaneous mwrecknote fixesIan Jackson2018-08-11
| | | | | | | | | | | Add the missing commitish for the -patchqueue wrecknote. Defend against undef (or too few) args to mwrecknote. (The way we end up calling it means perl doesn't notice.) In walk, ensure that we initialise $cl->{MergeWreckNotes}. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Break out run_ref_updates_nowIan Jackson2018-08-11
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: failmsg: Remove all double newlines, not just the firstIan Jackson2018-08-11
| | | | | | | I don't think this makes any difference with the current error messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: gdr-merge test: Test an early failure tooIan Jackson2018-08-11
| | | | | | And sort out the section comments. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Set DEBFULLNAMEIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Introduce global mwrecknote subIan Jackson2018-08-11
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: gdr-merge-conflicts test: New testIan Jackson2018-08-11
| | | | | | Will be improved later. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: gdr-merge test: sort out section commentsIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Do not crash on branches with no delta queueIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Do not bail making patches if there aren't any.Ian Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test: Introduce t-merge-conflicted-*Ian Jackson2018-08-11
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test: Drop stuff cloned from gdr-viagitIan Jackson2018-08-11
| | | | | | We don't much are about this here. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Add wreck note recording to merge_seriesIan Jackson2018-08-11
| | | | | | | We also add a LeftRight to the merge base delta queue hashref, so that it can be treated the same as the left and right delta queues. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Clarify an internal commit messageIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Break out $mdebugIan Jackson2018-08-11
| | | | | | NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Pass wreckage hashref to merge_seriesIan Jackson2018-08-11
| | | | | | NFC so far. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Introduce $mwrecknote in walk analysis halfIan Jackson2018-08-11
| | | | | | | | | | We collect various git objects that we may want to present to the user as wreckage. Currently we dump them in $cl and print them out in $nomerge. We'll want to do better than that of course. Also, we don't collect any wreckage for the actual series merge yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Whitespace changesIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>