summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* git-debrebase(5): Document best gitk options. Closes:#901927.Ian Jackson2018-07-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase(5): Add new subsection DISCUSSIONIan Jackson2018-07-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* NOTES.dgit-downstream-dsc.7.pod: WIP for #810829Ian Jackson2018-07-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit-downstream-dsc(7): New manpage.Ian Jackson2018-07-09
| | | | | | Closes:#842643,#851194. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Document reorganisationsIan Jackson2018-07-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-convert-gbp: drop --overwriteIan Jackson2018-07-09
| | | | | | With #903132 properly fixed, this is no longer needed. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase convert-from-gbp: Add ffq checkIan Jackson2018-07-09
| | | | | | | | | Check that the result will not count as having diverged. This will usually turn failures to make the ff pseudomerge into -fdiverged. Related to #903132. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase convert-from-gbp: Make it ff of dgit view, if we can.Ian Jackson2018-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | Look for dgit-generated tags so we can usually make the new branch ff of the dgit view. Specifically, we fish the most recent released version out of debian/changelog and look for a DISTRO/VSN tag and a corresponding archive/DISTRO/VSN tag. If this all looks good, we declare ff of archive/. This should avoid the need for dgit push --overwrite in most cases. We do not check the DISTRO name. In principle dgit could find the distro name from the suite name, but that makes the software layering quite complicated. (For example, we would have to provide a way to tell gdr what program to run for dgit, for the benefit of the test suite.) I think the current approach is good enough; there are not likely to be any tag pairs that look like the right kind of thing but are in fact something else entirely, so we're not likely to accidentally trash some wanted changes. Closes:#903132. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Set $|Ian Jackson2018-07-09
| | | | | | | | This will avoid pepeering everything with calls to flush. Without it some messages from ffq_check, say, can arrive after the stderr output from a subsequent snags_maybe_bail, which is quite confusing. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Provide snags_maybe_bail_earlyIan Jackson2018-07-09
| | | | | | No callers yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Replace `die badusage' with `badusage'.Ian Jackson2018-07-09
| | | | | | | | | badusage contains a call to finish. So the die is redundant and never gets called. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: ffq_check: Move defaults for $ff and $notff into subIan Jackson2018-07-09
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move debinatag_maintview from dgitIan Jackson2018-07-08
| | | | | | | git-debrebase is about to want this for convert-from-gbp dgit split brain fixup. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Break out parsechangelog_loop from dgitIan Jackson2018-07-08
| | | | | | | | git-debrebase is going to want this. No functional change except to some debugging messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Move parsecontrol etc. out of dgitIan Jackson2018-07-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Fix a typo in a commentIan Jackson2018-07-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Break out ff_check (for reuse by convert-from-gbp)Ian Jackson2018-07-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: record_ffq_prev_deferred: Move get_head();Ian Jackson2018-07-08
| | | | | | No functional change. This will make ff check easier to split out. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 5.9Ian Jackson2018-07-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 5.8debian/5.8archive/debian/5.8Ian Jackson2018-07-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: Improve grammar if one blocking snag.Ian Jackson2018-07-07
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: gdr-newupstream: Test adding revisionIan Jackson2018-07-07
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase new-upstream: Add a -1 revision if the user didn't supply one.Ian Jackson2018-07-07
| | | | | | Closes:#903127. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: status: Reorganise commit reporting.Ian Jackson2018-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | Replace the references to @_ with a hash. Using a hash is much less confusing than all this numerical indexing. Also, \@_ is wrong because there is only one @_, so by the time it is dereference, the commit being printed is the anchor. This is why in #903131 we see branch is unlaundered found mixed upstream/packaging commit (7badba627162337c7057002f37e9a1a593d07d08) abcc6260 Update to upstream 2.9.7 which appears to sugggest that the anchor is a mixed commit. Actually the mixed commit is 7badba627162 but the subsequent message is based on @_ which has different information in it by then. And, set $kcmsg from the main message, not including the commit information. We are the more sophisticated caller mentioned in the previous commmit. Closes: #903131. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git-debrebase: keycommits: Callbacks get separate $mainwhyIan Jackson2018-07-07
| | | | | | | | | | | | | | Separate out the extra contextual info, naming the hash of the commit being complained about, into a separate argument to $x->(). This allows us to pass the message without that as an additional argument to the callbacks. This way we can still pass \&snag as a callback but other callers can do something more sophisticated involving $cl. No functional change for any existing callers. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: makepatches7: Add a nasty .gitignoreIan Jackson2018-07-06
| | | | | | | Prior to the fix for #903130 this prevents both dgit and gdr from making patches properly. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit, git-debrebase: Properly make patches with nasty .gitignores.Ian Jackson2018-07-06
| | | | | | | | | | | | | | | | | | | | | | | Specifically: * When running git status --porcelain, pass --ignored so it lists ignored files, and handle the ! output that it then produces. * Add missing -f to a few git add invocations. I have done some greps ('git.*add', 'git.*status', 'porcelain', etc.) to try to find other missed cases and none turned up. git diff is OK because normally we pass two treeish arguments, in which case the ignores are ignored by git diff. When we are asking it to look at the working tree, we are expecting it to ignore untracked files (whether ignored or not), and diff tracked ones, which is what it does. Closes:#903130. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: Document dgit(1) build unscramblingIan Jackson2018-07-06
| | | | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk> squash! changelog: Document manpage fix
* dgit(1): Unscramble push and push-source descriptionsSean Whitton2018-07-06
| | | | | | These got mixed up in a recent commit. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* changelog: start 5.8Ian Jackson2018-07-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: finalise 5.7debian/5.7archive/debian/5.7Ian Jackson2018-07-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: sourceonlypolicy: New testIan Jackson2018-07-05
| | | | | | Test the fix for #801435. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Check that entirely-new uploads to Debian are not source-only-uploads.Ian Jackson2018-07-05
| | | | | | | | | | | | | | | | | | | | | | Avoids the user pushing things that will inevitably be REJECTed. We end up introducing some new config and force options to support this. We do not reuse test_source_only_changes, as it doesn't have quite the right shape (in particular, it sometimes blithers on stdout). Also arguably it is better to look, specifically, for .debs, for the purpose of this test. This requires a new archive protocol method. We implement it for ftpmasterapi (where it is actualliy needed) and dummycatapi (where we need it for tests.) Implementing it for madisonish methods would be easy. For aptget, it would probably involve iterating over suites, and not be adviseable. Closes:#801435. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Test dput-ng compatibility.Ian Jackson2018-07-05
| | | | | | | | | Add dput-ng as a dependency to trustingpolicy-replay. This is the test which went wrong with dput-ng before. It also has a number of pushes, so it will do. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Fix trustingpolicy-replay & dput-ng.Ian Jackson2018-07-05
| | | | | | | | | | | | | | | Specifically: * Only dput-ng actually complains about the existence of .upload files. dput itself just says there is nothing to do and calls that success. * The call to t-rm-dput-dropping was in the wrong place. t-commit bumps the version to 1.1 but it's 1.0 that needs removing. Closes:#903007. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: checkout: Check we end up on the right branch each timeIan Jackson2018-07-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: checkout: Do not leave detached HEAD!Ian Jackson2018-07-05
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: Always pass LC_COLLATE=C to sort(1).Ian Jackson2018-07-05
| | | | | | | | | | Specifically, by replacing every invocation of sort with the new function t-sort. The one case where we already took care of this, we change LC_ALL to LC_COLLATE, which should be sufficient. Closes:#903006. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(7): Mention git-debrebase and gbp pq alongside git-dpmIan Jackson2018-07-04
| | | | | | in the comment about handling patch stacks. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* test suite: checkout: new testIan Jackson2018-07-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1): checkout: Document when this acceses the networkIan Jackson2018-07-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: checkout: New command.Ian Jackson2018-07-04
| | | | | | Closes:#878443. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: fetch: Introduce new dofetch()Ian Jackson2018-07-04
| | | | | | | This actually does all that is needed. It replaces two now-identical calling patterns. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: fetch: Reorganise cmd_fetchIan Jackson2018-07-04
| | | | | | | | | | | This slightly odd construction is actually how the return value from fork_for_multisuite should be handled. It now looks much more like the calling pattern in pull(). No functional change: if $multi_fetched is falseish, we call fetch_one, and then, no matter what, we finish 0. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: fetch: Slightly refactor pull()Ian Jackson2018-07-04
| | | | | | | | | | | When for_for_multisuite returns '0', meaning we are a child and should do one suite, use finish 0 rather than returning, after doing the fetch. This has no functional change because the one call site is at the end of cmd_pull, after which we finish 0 anyway. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: fetch: Rename fetch_one from fetch (nfc)Ian Jackson2018-07-04
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit(1): Document as-yet-unwritten `dgit checkout'Ian Jackson2018-07-01
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: update-vcs-git: Honour --package properly.Ian Jackson2018-07-01
| | | | | | | | | | | Specifically, use package_from_d_control rather than open-coding a substandard implementation. The consequent abolition of $sourcep does mean that if the user specifies the suite `.', and does not specify -p, we needlessly parse debian/control twice. This doesn't really matter. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out package_from_d_control (nfc)Ian Jackson2018-07-01
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* changelog: start 5.7Ian Jackson2018-07-01
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>