summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* pseudomerge: Suppress checks in split brain mode with --overwriteIan Jackson2016-10-18
| | | | | | | | | | | | | | | If the user has specified an appropriate --overwrite (=VERSION with the archive's version, or without a version and the archive's version being in debian/changelog), do not do all the automatic checks. Instead, in this case, simply make the dgit view be a descendant of the archive, as instructed. Closes:#841101. When generating split brain pseudomerge with --overwrite Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* pseudomerge: When generating pseudomerge in quilt split brain mode due to ↵Ian Jackson2016-10-18
| | | | | | --overwrite, actually include the version number in the commit message. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* pseudomerge: Abolish confusing $dgitview variableIan Jackson2016-10-18
| | | | | | | | This seems mostly to have existed to avoid writing `my $cachekey' separately. It has no separate function from $dgithead AFAICT. Abolish it. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* pseudomerge: In non-splitbrain, do not look at previous tagsIan Jackson2016-10-18
| | | | | | | | | | | We only want to know: is the current archive version what was specified in --overwrite=VERSION, or mentioned in the changelog with --overwrite (without VERSION). In that case we want to overwrite whatever it is, even if the tags are missing or broken. Prompted by #841101. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Detect SIGPIPE (and SIGCHLD) being blocked or ignored. Closes:#841085.Ian Jackson2016-10-17
| | | | | | | | In fact, it seems in my test that Perl resets SIGCHLD itself, printing something to stderr, so that trip does not actually fire. But it makes sense to keep it. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* debian config; actually make split brain mode work. Closes:#841085.Ian Jackson2016-10-17
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Import handling Do not crash due in cloneIan Jackson2016-10-16
| | | | | | | | | | | Previously we failed to handle dpkg-parsechangelog SIGPIPE. Closes:#840989. Fixes: dgit: failed command: dpkg-parsechangelog --format rfc822 --all dgit: subprocess died due to fatal signal PIPE Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git- prefixes: Change `git-foo' to `git foo' in messagesIan Jackson2016-10-16
| | | | | | No change other that to error messages, debug output, etc. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git- prefixes: Change `git-foo' to `git foo' in docs and commentsIan Jackson2016-10-16
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Improve two error messages relating to .changes handling and sbuildIan Jackson2016-10-16
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Copyright: Add notices to some more of the (larger) filesIan Jackson2016-10-11
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: When generating patch filenames from titles, first transliterate them ↵Ian Jackson2016-10-11
| | | | | | (lossily) to ascii. Closes:#834807. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: HEAD/.dsc mismatch error: Much better messageIan Jackson2016-10-11
| | | | | | Closes:#809516. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Get sense of failed clone failed cleanup error reporting check correct.Ian Jackson2016-10-10
| | | | | | Closes:#796773. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: New config option slurping approachIan Jackson2016-10-10
| | | | | | | | | Allows local git config options to override user-global ones, as is proper. Closes:#835858. Also, we now need to handle -c options ourselves. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Better error message if HEAD contains changes unrepresentableIan Jackson2016-10-10
| | | | | | by `3.0 (quilt)'. Closes:#834618. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt analysis: quiltify_trees_differ: provide new $unrepres argIan Jackson2016-10-10
| | | | | | No-one passes this yet, so no functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt analysis: Print orig and HEAD tree hashes.Ian Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: quilt analysis: Replace H2O with O2HIan Jackson2016-10-10
| | | | | | | | Right now the direction of the diff does not matter, but soon it will, and the natural direction is O2H, not O2H. Change all references. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Better error message if non-split-brain patch stack no longer appliesIan Jackson2016-10-10
| | | | | | (due to new upstream version, or user messing with it). Closes:#833025. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Before committing to push, check that .dsc and .changes correspond.Ian Jackson2016-10-10
| | | | | | Closes:#800060. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out @files_csum_info_fields (nfc)Ian Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Arrange for the special dgit remote to be skipped by git fetch --all etc.Ian Jackson2016-10-10
| | | | | | | | | | Closes:#827892. Not quite the patch from Sean: we want to do this on every fetch, and we don't overwrite the user's configuration if for some reason they have set this (hopefully they haven't...) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Don't break if user has push.followTags=true. Closes:#827878.Ian Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Make --quilt=gbp the default for dgit gbp-build.Ian Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Quilt output: Honour and strip Gbp-pq headersIan Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Quilt admin commits: Provide [dgit ...] in all of themIan Jackson2016-10-10
| | | | | | | | With the version number, in general. (These are used during quiltification of the user's branch, not during import, so they don't need to be stable.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Quilt output: Normalise trailing newlines in commit messageIan Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Quilt output: Include Date headerIan Jackson2016-10-10
| | | | | | Copy this from the commit's author date. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Quilt output: Produce output like git-format-patchIan Jackson2016-10-10
| | | | | | | | Do not .-convert the message and stuff it in Description. Instead, generate a normal-looking patch with From and Subject. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* README.dsc-import: Document actually-imported approachIan Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* gbp options: Honour --gbp-pq instead of --gbpIan Jackson2016-10-10
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* gbp options: Provide --gbp-buildIan Jackson2016-10-08
| | | | | | | And, provide the sub opts_opt_multi_cmd to help with options of this kind. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* gbp options: Introduce gbp_pq function (nfc)Ian Jackson2016-10-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Tidy up output from gbp pqIan Jackson2016-10-08
| | | | | | | | | | | gbp pq import can print some warnings if it doesn't like the patches much. There is no point showing these warnings to the user of `dgit clone' or `dgit fetch'. As for the warnings in split brain mode, we will leave those, and leave them with colour enabled. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Set GIT_COMMITTER_* and GIT_AUTHOR_*Ian Jackson2016-10-08
| | | | | | | gbp pq import generates commits which are affected by these (COMMITTER always and AUTHOR sometimes). But we need imports to be stable. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Split brain: Set GIT_AUTHOR_* tooIan Jackson2016-10-08
| | | | | | | Sometimes the patches don't have authorship information, in which case using the caller's is wrong. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Split brain: .gitignore patch: Slightly better commit messageIan Jackson2016-10-08
| | | | | | Don't sort-of-imply that the dgit version is the package version. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: New fetch algorithm: Fix a messageIan Jackson2016-10-08
| | | | | | This should have been debug output all along. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Get rid of some pointless outputIan Jackson2016-10-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Import: Add a lot of debuggingIan Jackson2016-10-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Import: orig files: cope with signaturesIan Jackson2016-10-08
| | | | | | | Fix up .orig detection to handle .asc's (and other signatures) of .orig components the same way as their tarballs. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Import: orig files: Fix .orig-comp pattern matchIan Jackson2016-10-08
| | | | | | | Fix up .orig detection to correctly allow exactly the right .orig-comp components accorging to dpkg-source(1). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Entirely new import algorithmIan Jackson2016-10-08
| | | | | | See README.dsc-import (which needs some updating). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: make_commit_text: Some more debugIan Jackson2016-10-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Introduce make_commit_text (nfc)Ian Jackson2016-10-08
| | | | | | No callers yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Print synthesised git commit message a bit earlierIan Jackson2016-10-08
| | | | | | No significant functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Fix up .orig detection to be less trustful of (ambiguous) filenames.Ian Jackson2016-10-08
| | | | | | | | | | | | | | | | | We cannot simply match the filenaem because `foo_1.0.orig.tar.gz' might be the `.orig.tar.gz' of foo version 1.0, or the `.tar.gz' of foo version 1.0.orig. We need either to consider the whole .dsc (this works since the formats with no `.orig' or `.debian' or whatever are precisely ones where there is only one file anyway), or know the version number. Replace is_orig_file with two functions, one for each situation. While we're here, do not barf if we find uncompressed tarballs. (We don't expect to find any but it would be nice if they worked...) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: Slightly better message in mktree_in_ud_from_only_subdirIan Jackson2016-10-08
| | | | | | | This is going to be processing .dsc's tarballs directly, so we need slightly better error reporting. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New import: mktree_in_ud_from_only_subdir: New $raw parameter (nfc)Ian Jackson2016-10-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>