summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* i18n: dgit: mark some messages (2)Ian Jackson2018-10-01
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* i18n: dgit: mark some messages (1)Ian Jackson2018-10-01
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* i18n: Rename ___ to f_Ian Jackson2018-09-29
| | | | | | | | I have decided that's a better name. Not _f because, unlike printf (where f is done first, and then print), here the _ is done first and then f. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* i18n: Flag a handful of messages for translationIan Jackson2018-09-29
| | | | | | This is just useful for testing the forthcoming machinery, so far. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* i18n: Source-level framework: call setlocale, provide __ and ___Ian Jackson2018-09-29
| | | | | | | This is the general plumbing for looking up translated messages - the consumer-side. No actual messages are flagged for translation yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Pass --no-source to sbuild (always)Ian Jackson2018-08-26
| | | | | | Closes: #904966. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: build-*: Cope with new-style --build= specificationsIan Jackson2018-08-26
| | | | | | Previously, we would generally bomb out. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: build: Squash $buildproductsdirIan Jackson2018-08-26
| | | | | | | | | | Things malfunction, because some things end up in .. and some in bpd. Overriding this at least makes `dgit build' produce correct results, albeit in the wrong place. Closes: #906786. 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>
* 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>
* 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>
* 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: 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>
* dgit: Remove unsubstituted $changesfile from messageIan Jackson2018-08-21
| | | | | | Closes:#906787. 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>
* 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: quilt fixup errors: Refactor and reword very slightlyIan Jackson2018-08-20
| | | | | | | Make this two calls to push so we can put things in between. Also remove `to specify'; now the message fits in 80 columns. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt fixup: Do not suggest quilt modes if we see gdrIan Jackson2018-08-20
| | | | | | | If `stopped at' is a git-debrebase commit, then a non-default quilt mode is probably not the answer. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt fiuxp: linearisation failure: Add a blank lineIan Jackson2018-08-20
| | | | | | | The `stopped at' commit report can be long, if there are several, or complicated, commits. Add a blank line. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt fixup: @failsuggestion: Include a machine-readable reasonIan Jackson2018-08-20
| | | | | | | Each entry is now an arrayref. This will let quilt_fiuxp filter them later. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt fixup error messages: Change hint emphasisIan Jackson2018-08-20
| | | | | | | | | * No longer hint --quilt=smash or dpkg source --commit. These are rarely the right thing. * Hint about bad origs, instead. This is fairly common. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Remove a spurious spaceIan Jackson2018-08-20
| | | | 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 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>
* 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>
* Dgit.pm: Move upstreamversion from dgitIan Jackson2018-08-03
| | | | | | NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Dgit.pm: Deconfuse argument orders of is_orig_file_of_p_v etc.Ian Jackson2018-08-03
| | | | | | NFC. 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.pm: Move is_orig_file_of_p_v and its dependencies from dgitIan Jackson2018-08-03
| | | | | | | | | We want is_orig_file_of_p_v, so move it and all the things it depends on. NFC. 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: Break out quilt_fakedsc2unapplied.Ian Jackson2018-08-03
| | | | | | NFC. 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>
* dgit: Refactor %internal_object_save from $dgit_view_saveIan Jackson2018-08-03
| | | | | | Preparatory to allow saving other internal objects. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit build: Warn if --build-products-dir is not `..'.Ian Jackson2018-07-29
| | | | | | Closes:#904859. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Remove // from inside conditionalsIan Jackson2018-07-29
| | | | | | | | | | | This idiom is terse, but quite confusing. Instead, handle the undef case explicitly. While we are editing these: * Change two internal errors from die to confess * Fix a die in git-debrebase which ought to be badusage Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: move cmd_sbuildSean Whitton2018-07-28
| | | | | | No functional change. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit: new 'pbuilder' and 'cowbuilder' subcommandsSean Whitton2018-07-28
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit: remove dead $need_split_build_invocation code pathSean Whitton2018-07-28
| | | | | | No functional change. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit: factor out build_with_binary_builder()Sean Whitton2018-07-28
| | | | | | The pbuilder and cowbuilder subcommands will reuse this code. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit: fix a reference to parent directorySean Whitton2018-07-28
| | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit: set $dscfn in build_or_push_prep_early()Sean Whitton2018-07-28
| | | | | | No functional change. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
* dgit: opts_opt_multi_cmd: New @$extra featureIan Jackson2018-07-28
| | | | | | Adjust the existing call sites. NFC. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Update copyright yearsSean Whitton2018-07-27
| | | | | Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Abolish move_dsc_to_bpdIan Jackson2018-07-26
| | | | | | | | | | | | | This subroutine only has one caller. It also contains a bit of duplication both within itself and compared to its caller - the calls to mv and its error handling - which is annoying to remove as it is. Instead, put its code into build_source, and break out a private subroutine $mv for the rename. No functional change other than to messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Revert "dgit: Move up $sourcechanges"Ian Jackson2018-07-26
| | | | | | This reverts commit 07437a3fe514da7990300b2fd594adff49685de5. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Move cmd_push_source down the fileIan Jackson2018-07-26
| | | | | | Pure code motion. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: push_source no longer cleans the tree.Ian Jackson2018-07-26
| | | | | | This is no longer needed because we always build in a playtree. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: build_source mostly uses a playtree, not $maindirIan Jackson2018-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, it uses a playtree unless we are trying to include uncommitted changes in the source package (which is not supported in split brain mode). This change allows build_source to respect $buildproductsdir. It will also enable, later, building a source package from HEAD, or arbitrary git ref, when the working tree is dirty. This change also requires modifying build_prep to only conditionally clean $maindir. It should clean $maindir only when it's $maindir that we're packing into a source package, or when we are running any builder in $maindir. When we are using a playtree we must build the changes file there too, because dpkg-genchanges cannot be persuaded to look for the .dsc anywhere but ../. Right now build-source still cleans the tree needlessly. We need to change the test suite to not expect a clean unless running a builder: dgit now cleans the tree only when including uncommitted changes in a source package, and when running a builder in $maindir. The code in lib-build-modes does not test the including of uncommitted changes in a source package. Thus, it should expect the tree to be cleaned only when running a builder. Also, we need to not expect a clean with sbuild, for the same reason. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name> Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>