summaryrefslogtreecommitdiff
path: root/debian
Commit message (Collapse)AuthorAge
* git-debrebase: Merges: Enable with command-line option instead of env varIan Jackson2018-08-19
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Document changes to convert-from-gbp messages.Ian Jackson2018-08-19
| | | | | | This is part of #906641. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-import-nostitch: New testIan Jackson2018-08-19
| | | | | | | Generate this situation and check it's OK. Also check that the messages contain the expected hint. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Add close note for #905400 to changelog entry for 6.5.Ian Jackson2018-08-19
| | | | | | | | The commit git-debrebase: Properly reject bare dgit dsc imports. fixed #905400. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: convert-from-*: Snag on unused patchesIan Jackson2018-08-19
| | | | | | | | | | | Patches in d/patches which are not in series will be deleted, and not represented in the output. So call them a snag. Closes:#904997. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: On rebase, always save ffq-prevIan Jackson2018-08-19
| | | | | | | | Even if we were both stitched and laundered. Closes:#905975. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: `prepush' is now a silent no-op if unstitched.Ian Jackson2018-08-19
| | | | | | This is more friendly. Update the docs accordingly. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Add perf numbersIan Jackson2018-08-19
| | | | | | | | | | | | | This is from tests on my laptop with the branch the Debian kernel folks shared with me, ie c6eb63c6ed0694b0d22fbe5aaff953d209a3fc4e. avoid new runtimes in [s] before read-tree get_differs git-debrebase 78.574 3.699 1.419 git-debrebase status 3.359 unchanged 0.818 Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Rewrite get_differs in terms of trees_diff_walkIan Jackson2018-08-19
| | | | | | | | | | | As noted, git-diff-tree is quite slow. We can do much better, by stepping across the two trees ourselves. There should be no particularly significant change: the answers should be the same for reasonable inputs. Unreasonable inputs (particularly, executable files etc.) may be handled better, even. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Actually avoid read-tree in walk when not rewritingIan Jackson2018-08-19
| | | | | | | | | | | | | | | | | | | | See git-debrebase: Prep for avoid read-tree in walk when not rewriting for the motivation. Here we try to check that the commit we would make, if we were actually calling read-tree, write-tree and hash-object, would be identical to the one we are reusing. In particular, we check that the upstream files, and the debian/ directory, have the contents we would feed to read-tree. And we check that the parent list is the same. With these checks this new algorithm is, I think, safe enough to just use always. So set $opt_careful to 0. We will abolish this variable in a moment. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: unset GIT_EDITOR, so it works if user has that set.Ian Jackson2018-08-19
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1): Encourage --overwrite rather than --overwrite=version.Ian Jackson2018-08-19
| | | | 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>
* test suite: Set DEBFULLNAMEIan Jackson2018-08-11
| | | | 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: 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: 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>
* 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: 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>
* 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: 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>
* git-debrebase: New feature `scrap'Ian Jackson2018-08-04
| | | | 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>
* 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>
* git-debrebase: Improve error message formatting from $bomb in walkIan Jackson2018-08-04
| | | | | | The : and ; were messed up. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Properly reject bare dgit dsc importsIan Jackson2018-08-04
| | | | | | | | | | | A bare dgit dsc import is not a legal gdr branch, because the main merge contains debian/patches/. So it cannot be processed without conversion. Previously an attempt to launder such a branch would crash with a stack trace, although keycommits would falsely claim it was OK Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Improve error message for unknown suite, to suggest -dIan Jackson2018-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Provide print-unapplied-treeish subcommand.Ian Jackson2018-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Rename --dgit-view-save to --save-dgit-view, leaving an alias.Ian Jackson2018-08-03
| | | | | | This name makes more sense. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: editing a test script overrides DGIT_TESTS_PROGRESSIVE.Ian Jackson2018-08-03
| | | | | | By making the script a dependency of the .ok stamp file. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Add t-tstunt-parsechangelog to many gdr tests.Ian Jackson2018-08-03
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 6.5Ian Jackson2018-08-02
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 6.4debian/6.4archive/debian/6.4Ian Jackson2018-08-02
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase(1): Fix typo "unappled".Ian Jackson2018-08-02
| | | | | | Closes:#905064. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 6.4Ian Jackson2018-08-02
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 6.3debian/6.3archive/debian/6.3Ian Jackson2018-08-02
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Implement --help, providing a summary.Ian Jackson2018-07-31
| | | | | | | | | | | | Provide a usage message. I'm not convinced an option summary here is a good idea, mainly there aren't any really important options. (-f will be advertised when it is relevant.) So I have just summarised the most important operations. Closes:#904990. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-maint-debrebase(7): Warn more against plain git rebase.Ian Jackson2018-07-31
| | | | | | | | | | | Specifically, - warn that pseudomerges must not be rebased over - warn and that git-rebase without a base should not be used - say to run gdr instead Closes:#905004. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase(1): Warn against plain git rebase.Ian Jackson2018-07-31
| | | | | | Re #905004. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase(5): Add ILLEGAL OPERATIONS section.Ian Jackson2018-07-31
| | | | | | Re #905004. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Improve error message for convert-from-gbp upstream discrepancyIan Jackson2018-07-31
| | | | | | | | | | | | | | | | Closes:#905078. I don't intend to print `small' diffs because I think that kind of dwim is probably more annoying than helpful. I don't intend to factor this kind of pattern out throughout because: The messages for these commands are generally not the actual diff rune dgit or gdr ran, for various reasons (notably that dgit/gdr often use object hashes). The result is that there is little duplication. So I think the situation now is OK. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Improve error messages for bad options.Ian Jackson2018-07-31
| | | | | | | | | | * GetOptions calls warn(). So we need a wrapper which disables or $SIG{__WARN__} (which prints a stack trace). * Put the call to badusage in the wrapper. * Change the messages to be clearer about what is meant. * Add the program name to the badusage message. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: convert-from-gbp: Use same algorithm for finding upstreamIan Jackson2018-07-31
| | | | | | | | | | | | The version is in the changelog, and thus upstream commitish can then be found from as new-upstream. This also means we now give the same error message, which is much better than the one we had before. Closes:#905062. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: new-upstream: Fix handling of epochs.Ian Jackson2018-07-31
| | | | | | | | Dpkg::Version->version() is only the middle part. ->epoch() doesn't have the colon. This is inconvenient enough that we convert it to a string and use a regexp :-/. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-unprocessable: new testIan Jackson2018-07-31
| | | | | | Test git-debrebase messages about unprocessable commits. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>