summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* test suite: gdr-fresh: Drop use of git-deborig and fix dependenciesIan Jackson2018-08-26
| | | | | | | | | | | | | | | | | | | | b765388a4cea "test suite: Test dgit calling git-debrebase on new debianisation" failed to update the test dependencies, and does not work in a formal autopkgtest run because dgit is not installed. Additionally, Because scripts in devscripts have their own individual dependencies, and the dependencies for git-deborig differ between stretch and sid, It is not reasonably possible to write a dependency which allows git-deborig to work. This is another reason why this test does not work in a formal run (this time, failing only on sid/buster). So, drop use of git-deborig, and the resulting dependency on devscripts. (dgit and git-debrebase pull in devscripts anyway, so that is academic.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase(5): Document new understanding of debrebase-lastIan Jackson2018-08-25
| | | | | | | | | | | Bug #907208 shows that the previous statement wasn't true. debrebase-last is still marginally useful: we use it for deciding what hints to print in some error messages; detecting and rejecting attempts to convert already-converted branches; and in `git-debrebase status'. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: branch_is_gdr: Add a cautionary commentIan Jackson2018-08-25
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Test dgit calling git-debrebase on new debianisationIan Jackson2018-08-25
| | | | | | | | | | | | | | | Now all the cases in dgit's branch_is_gdr history walker are tested: DGIT_TEST_DEBUG=-DD tests/using-intree tests/run-all cat tests/tmp/*.log |perl -ne 'next unless s/^branch_is_gdr \w+ //; print' |sort -u |less Produces the same list as: git-grep 'branch_is_gdr ' | perl -pe 's/^^dgit:\s+//' |sort |less (With the list of gdr commit annotations the same as in the source.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebse: merge handling: Handle absence of patches via $anyIan Jackson2018-08-25
| | | | | | | This saves testing for $seriesfile existence and makes the code slightly less tangled. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: make-patches: Handle case when there are no patchesIan Jackson2018-08-25
| | | | | | Previously, we would bomb out. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: keycommits: Fix doc commentIan Jackson2018-08-25
| | | | | | There's no $dgitimport; that's $trouble. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: convert-to-gbp: Handle no-patches case betterIan Jackson2018-08-25
| | | | | | In this case it's very like git-debrebase forget-was-debrebase. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: convert-to-gbp: Actually start from breakwaterIan Jackson2018-08-25
| | | | | | | Contrary to the documentation, this operation would start from HEAD. It should rewind to the breakwater. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: make_patches_staged: Return flag, are there any patches?Ian Jackson2018-08-25
| | | | | | All callers currently ignore the return value, so NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: gbp_pq_export: Return flag, are there any patches?Ian Jackson2018-08-25
| | | | | | All callers currently ignore the return value, so NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: branch_is_gdr: Put gdr commit annotations in alphabetical orderIan Jackson2018-08-25
| | | | | | This makes it slightly easier to see our test coverage. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Separate t-gdr-gbp-import-core from -with-queueIan Jackson2018-08-25
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Test dgit branch_is_gdr walker on a merge resolutionIan Jackson2018-08-25
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Test dgit detection of fresh branch for gdr make-patchesIan Jackson2018-08-25
| | | | | | This tests that #907208 is fixed. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-diverge-nmu-dgit: Insist on gdr-generated patchesIan Jackson2018-08-25
| | | | | | | | | Now dgit runs git-debrebase make-patches, with the result that the patch commit in this conflict will be made by gdr. This is what we want, so now that we have it, insist on it. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Honour DGIT_TEST_RUN_PFX env varIan Jackson2018-08-25
| | | | | | | | | One might set this to `eatmydata', for example. (It's not a good idea to wrap run-all or the Makefile in eatmydata, because you actually want the stamp files etc. at least.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Replace branch_is_gdr with a history walkerIan Jackson2018-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The debrebase-last approach is fundamentally wrong, because, for example, cloning a stitched laundered gdr branch from a git server does not establish debrebase-last, so dgit would make patches itself (slowly). So, instead, use git-debrebase make-patches in situations where it will succeed. We could just run it but that's slower, and it is a bit awkward because we have to consider whether gdr is installed. So provide our own implementation. It can be simpler because it only has to handle the easy cases; On testing of the new algorithm: we want to be confident that this doesn't misfire; otherwise dgit users could be inconvenienced. And we want it to work for gdr users of course. We can analyse the test coverage of the logic in branch_is_gdr by running the whole test suite and then comparing this: cat tests/tmp/*.log |perl -ne 'next unless s/^branch_is_gdr \w+ //; print' |sort -u |less with this: git-grep 'branch_is_gdr ' | perl -pe 's/^^dgit:\s+//' |sort |less Noting that we should ideally have one each of all the gdr kinds we try to recognise. Currently that shows that we are missing only: gdr merged-breakwater unmarked BreakwaterStart YES Closes: #907208. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-diverge-nmu-dgit: Tolerate gdr-generated patchesIan Jackson2018-08-25
| | | | | | | | | | We are about to extend the set of situations where dgit runs git-debrebase make-patches, with the result that the patch commit in this conflict will be made by gdr. This is good, so allow it. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Introduce get_tree_of_commitIan Jackson2018-08-25
| | | | | | NFC Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Do not abandon quilt fixup at gdr split commitsIan Jackson2018-08-25
| | | | | | One of these might well be in the delta queue somehow. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Make all commit annotations have a COMMIT-TYPEIan Jackson2018-08-25
| | | | | | | | Omitting this sometimes turns out to have a mistake. We are going to want to distinguish at least split from other commits. Add a COMMIT-TYPE to the others as future-proofing. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: lib-gdr: Check that we made patches with gdrIan Jackson2018-08-24
| | | | | | | | | | | Conveniently, the places where we don't want this, and are deliberately looking for dgit-self-made patches, are gdr-makepatches7 and mix-it in gdr-subcommands; there, we don't push, so don't end up checking t-gdr-made-patches. We also add this check to the appropriate place in gdr-subcommands. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test-suite: lib-gdr: Be more defensive about unexpected states/argsIan Jackson2018-08-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase(5): Warn against renaming branch while unstitchedIan Jackson2018-08-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Do not try split brain gdr make-patchesIan Jackson2018-08-24
| | | | | | | | Print a helpful error message instead. Closes: #906908. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: test suite: gdr-subcommands: test forgetIan Jackson2018-08-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: forget-was-ever-debrebase: New subcommandIan Jackson2018-08-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-import-nostitch: Test -fseries-commentsIan Jackson2018-08-24
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: convert-from-*: snag on discarding comments in seriesIan Jackson2018-08-24
| | | | | | | | | series files can contain #-comments. The conversion process will throw them away, so complain about that. Closes: #907198. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Make example_1.1 contain a patch with Name and TopicIan Jackson2018-08-24
| | | | | | This triggers #907202 and #907206. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: classify: Do not misclassify patches in subdirsIan Jackson2018-08-24
| | | | | | | | | The old get_differs algorithm would recurse in debian/patches. The new one failed to do that. Fix that. Closes: #907206. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: trees_diff_walk: Support recursionIan Jackson2018-08-24
| | | | | | No-one specifies this yet, so NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Fix get_tree's memoisation wrt $recurseIan Jackson2018-08-24
| | | | | | | | | | | | | | $recurse needs to be part of the key to the memo hash! Luckily, there is only one caller which calls with $recurse==1, check_series_has_all_patches. It ends up mishandles this situation by complaining about the directory names, as if they were unused patches. And after that no-one needs to call get_tree. Closes: #907202. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: trees_diff_walk: Refactor $all to \%optsIan Jackson2018-08-24
| | | | | | No callers pass this so NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 6.10Ian Jackson2018-08-21
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: fianlise 6.9debian/6.9archive/debian/6.9Ian Jackson2018-08-21
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Remove unsubstituted $changesfile from messageIan Jackson2018-08-21
| | | | | | Closes:#906787. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Document docs changesIan Jackson2018-08-21
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-maint-debrebase(7): Add crossreference to "ILLEGAL OPERATIONS"Sean Whitton2018-08-21
| | | | | | | | | | | | | There are three items under "ILLEGAL OPERATIONS": 1. We already refer to "OTHER MERGES". 2. This commit adds a crossreference to the second item. 3. The information under "Editing debian/patches" is already basically included in dgit-maint-debrebase(7). Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit-maint-debrebase(7): Rewrite "Converting an existing package"Sean Whitton2018-08-21
| | | | | | Closes:#905573 Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* test suite: Update debian/tests/control following dependency fix.Ian Jackson2018-08-21
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: do not crash on push of a new gdr package. Closes:#906784.Ian Jackson2018-08-21
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 6.9Ian Jackson2018-08-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Fix dependencies of new gdr-merge-conflicts test.debian/6.8archive/debian/6.8Ian Jackson2018-08-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 6.8Ian Jackson2018-08-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Finalise 6.7debian/6.7archive/debian/6.7Ian Jackson2018-08-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Reorganise and tidy up the current entryIan Jackson2018-08-20
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt fixup: Maybe mention gitattributesIan Jackson2018-08-20
| | | | | | | | These are a potential cause of quilt linearisation failure. Closes:#906199. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1), dgit(7): Document that we do not suppress export attributesIan Jackson2018-08-20
| | | | | | Ie, ones which affect git-archive. This is related to #906199. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>