summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* git-debrebase: merge: Generate merged-breakwaters with correct metadataIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: keycommits: Break out $found_anchorIan Jackson2018-08-11
| | | | | | We are going to want to reuse this. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: lib-gdr: t-gdr-good: Introduce t-gdr-analyseIan Jackson2018-08-11
| | | | | | | | NFC This will allow us to recurse. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: lib-gdr: t-gdr-good: Introduce $analIan Jackson2018-08-11
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Check that merge resolution is correctIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Comment about laundry of merge of unstitchedIan Jackson2018-08-11
| | | | | | | | I have concluded that this is not a problem avoidable by git-debrebase, and that any trouble will be tolerable (at least, not data loss). The user should try to avoid doing this. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Improve some xxx commentsIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: test suite: Test both with and without `after'Ian Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Do not sometimes drop the first patch!Ian Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Set $debugcmd_when_debuglevel = 2Ian Jackson2018-08-11
| | | | | | | | | | | This produces much better (less noisy) debug output. git-debrebase calls subcommands an awful lot and they are generally very uninteresting. If this now turns out to be insufficient, we will add additional calls to printdebug. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: printdebug: Selectively print $debugprefix, and add a docIan Jackson2018-08-11
| | | | | | | | | Remember whether the last printdebug ended in a \n. If it didn't, suppress printing the next newline. I don't think anywhere calls printdebug without @_ right now. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: printdebug: Strip empty strings from @_ and maybe quit earlyIan Jackson2018-08-11
| | | | | | Now the meat of the function always has nonempty $_[-1]. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: printdebug: Break apart the printIan Jackson2018-08-11
| | | | | | NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: printdebug: Refactor slightlyIan Jackson2018-08-11
| | | | | | This will make the next commits easier. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Reverse argumennts to check diff error messageIan Jackson2018-08-11
| | | | | | | | | | "Old, new" is more conventional. This makes debug output and error messages a bit easier to understand. We must keep the backward order for get_differs because we need to detect patch deletion, which shows up (reversed) as D_PAT_ADD. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Add a lot of printdebugIan Jackson2018-08-11
| | | | | | | | | | | | We also operated on sorted patch lists, and reorganise the prereq computation slightly, to make this possible. This `print DEBUG ... if' is not very nice. This is needed because printdebug unconditionally prints $debugprefix. These new debug prints are nearly the first which want to do multi-stage printing outside dgit (and dgit normally operates without $debugprefix set). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Introduce $debugcmd_when_debuglevelIan Jackson2018-08-11
| | | | | | | | | This is also intended to be usefully localisable, and works by localising $printdebug_when_debuglevel. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Introduce $printdebug_when_debuglevelIan Jackson2018-08-11
| | | | | | | | This is intended to be usefully localisable. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Detect octopi laterIan Jackson2018-08-11
| | | | | | | | | If git-debrebase or dgit were to make an octopus merge, we should recognise that as an unknown kind of gdr/dgit merge, not as a general octopus merge. This code motion leaves a spot where such a new kind of merge could be classified. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: merge: Add an xxxIan Jackson2018-08-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: test suite: New gdr-merge testIan Jackson2018-08-11
| | | | | | | | This still has a lot of xxx's, but as it is right now it passes, despite all the bugs. This seems like a reasonable baseline for more work. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: New merge handing, experimental and preliminaryIan Jackson2018-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Classification: * Classify octopus merges as unknown, separately * Classify 2-parent general merges as VanillaMerge, if feature enabled * Introduce new merged-breakwater commit tag, classify as MergedBreakwaters * Classify other gdr-generated 2-parent merges as unknown Inspection (keycommits): * VanillaMerge commits require laundry, much like dgit imports, and prevent discernment of the actual breakwater and anchor Laundry (walk): * Rewrite VanillaMerge using new merge_series function Test suite: * We get a slightly different error message in gdr-unprocessable, now. Later, when we make this non-experimental all the time, we are going to have to soup up gdr-unprocessable to make a worse test commit. There are a lot of known bugs and infelicites, marked with "xxx". There is a test (which will appear in a moment) but it's rather a poor test, so there will be many uknown bugs. So all of this is enabled only if GIT_DEBREBASE_EXPERIMENTAL_MERGE is set in the environment. (Strictly, only the classification is gated, but that is sufficient.) No significant functional change without this setting. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: read_tree_upstream: New option $keep_patchesIan Jackson2018-08-11
| | | | | | NFC with existing callers. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Improve ffq head recording messageIan Jackson2018-08-10
| | | | | | | | Say `recorded _previous_ head' rather than `current head'. Since by the time the message appears, it's the previous head. In particular, `current' is very confusing if there were previous progress messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gitattributes: Change a comment from xxx to todoIan Jackson2018-08-10
| | | | | | This is not so critical. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Fix a spelling error `$merginputs' to `$mergeinputs'Ian Jackson2018-08-10
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Drop an obsolete xxx commentIan Jackson2018-08-10
| | | | | | | | | | This comment comes originally from a WIP commit e0ebbc5879c01d4c3e802101e146c5fb08bc9d49 I have in before-rebase.2016-11-07. In that commit, @merginputs did not exist. Now it does, and that is how the ref comes out. So this comment is obsolete. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Make read_tree_upstream global (nfc)Ian Jackson2018-08-10
| | | | | | Save debian/ explicitly. This is a bit annoying. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Make read_tree_debian global (nfc)Ian Jackson2018-08-10
| | | | | | | We can't easily do this to read_tree_upstream because that needs to put debian/ back which is awkward. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: lib-gdr: Break out t-gdr-prep-new-upstreamIan Jackson2018-08-10
| | | | | | | This does not include `git tag' for the upstream, because gdr-newupstream wants to test the case where the tag is missing. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: t-some-changes: Allow control of which files are editedIan Jackson2018-08-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Break out gbp_pq_export (nfc)Ian Jackson2018-08-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: walk: Introduce $report_lprefix (nfc)Ian Jackson2018-08-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Start 6.7Ian Jackson2018-08-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 6.6.debian/6.6archive/debian/6.6Ian Jackson2018-08-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Fix gdr's calls to dgit when run formally in autopkgtest.Ian Jackson2018-08-05
| | | | | | | | We should not pass `--dgit='. That causes gdr to try to exec "". Affects gdr-import-dgitview. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Start 6.5Ian Jackson2018-08-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 6.5debian/6.5archive/debian/6.5Ian Jackson2018-08-04
|
* changelog: Categorise and reorder entriesIan Jackson2018-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: scrap: Run git-rebase --abort if applicableIan Jackson2018-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: check for git-rebase in progress and abort most operationsIan Jackson2018-08-04
| | | | | | scrap should abort, but doesn't yet. status just prints a message. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-subcommands: Drop obsolete lineIan Jackson2018-08-04
| | | | | | | We have done this another way and there will never be a push-hook like this. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-subcommands: Test scrapIan Jackson2018-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: scrap: Make it honour --noop-okIan Jackson2018-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-viagit: Test scrapIan Jackson2018-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: New feature `scrap'Ian Jackson2018-08-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-import-dgitview: Actually test convert-from-dgitviewIan Jackson2018-08-04
| | | | | | This was always my intention with this test, of course. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Provide new convert-from-dgit-view operation.Ian Jackson2018-08-04
| | | | | | | | The output is, unavoidably, not very pretty. Closes:#905322. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Support --dgit option for finding dgitIan Jackson2018-08-04
| | | | | | Nothing uses this yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-import-dgitview: New test for dgit dsc importsIan Jackson2018-08-04
| | | | | | So far this just tests the bugfixes I've just done. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>