summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* dgit; dsc Dgit field handling: Properly resolve the commit in the dscIan Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: git_lrfetch_sane: Support multiple callsIan Jackson2017-01-08
| | | | | | | | | We want to be able to fetch from some other distro, or a bit more from the same one. No functional change since no callers pass trueish $supplementary. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: git_lrfetch_sane: Introduce my $urlIan Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: Tidy up a redundant list in git_lrfetch_saneIan Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: Do not crash if nothing we wanted to fetch existsIan Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Improve -DDDD config debuggingIan Jackson2017-01-08
| | | | | | Print default values too, when they are looked up and used. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: Fix debugging output after function renameIan Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: config debugging: do not print ARRAY(0x...)Ian Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: Use basedistro for lrfetchrefsIan Jackson2017-01-08
| | | | | | | These do not need to vary with the suite, because the refs are named, within this namespace, after the corresponding refs on the server. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: Move lrfetch* down in the fileIan Jackson2017-01-08
| | | | | | Code motion only. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: Break out git_lrfetch_saneIan Jackson2017-01-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: dsc Dgit field handling: Break out resolve_dsc_field_commitIan Jackson2017-01-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: dsc Dgit field handling: Parse additional dataIan Jackson2017-01-08
| | | | | | | So far we don't do much with it, so this akes no change except to messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Dgit parsing: Move @ourdscfield loop into parse_dsc_fieldIan Jackson2017-01-08
| | | | | | | This gives it the $dsc. Also it means that import-dsc will understand very old .dscs with Vcs-Dgit-Master. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Enforce a syntax for nominal distrosIan Jackson2017-01-08
| | | | | | | | These appear in various interchange output like tags. They should be sane. They're going to appear in Dgit: too where people will need to use them. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Dgit parsing: Refactor into parse_dsc_fieldIan Jackson2017-01-08
| | | | | | No functional change other than changes to messages. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Protocol change: Add distro info to Dgit fieldIan Jackson2017-01-08
| | | | | | | | | | | | Downstream clients may need this to get the relevant git commits. Worse, with the new rewrite functionality, they may get the _wrong_ commits because they may not be rewritten. For now we implement the publication side. The reader side is theoretically straightforward, but probably not so simple in reality, and certainly fiddly to test. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: Move notpushing call in fetch/pullIan Jackson2017-01-08
| | | | | | We should use the calculated $idistro and $isuite Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: combine parseopts_late_defaults and finalise_opts_optsIan Jackson2017-01-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: Move parseopts_late_defaults textuallyIan Jackson2017-01-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: Fix distro/suite reference bugsIan Jackson2017-01-08
| | | | | | | | | | | | | | | By moving parseopts_late_defaults call. This is conceptually the same as finalise_late_opts, so do it there. We have to add a missing call to build_prep_early, as otherwise we call massage_dbp_args too soon. Also move a nopushing() call until after $isuite is set All of this means that we now honour $isuite (and sometimes $idistro) much better. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: Make function parseopts_late_defaultsIan Jackson2017-01-08
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: Provide call to build_prep_early in build_sourceIan Jackson2017-01-08
| | | | | | This means $isuite is set a bit earlier, etc. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: quilt-fixup: Use build_prep_earlyIan Jackson2017-01-08
| | | | | | | | This means $isuite is set early enough. As a side-effect, we correctly reject -p. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: import-dsc: Parse `Dgit:' field properly, using only \w+Ian Jackson2017-01-08
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Change name of rewrite map ref (needs an extra / for git)Ian Jackson2017-01-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Honour dgit-rewrite-mapIan Jackson2017-01-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Do not generate bogus commitsIan Jackson2017-01-04
| | | | | | | | | | | | | | | | | | | There were two places in the code where ill-formed commits were generated: both psedumerges. One is in dgit import-dsc, a fairly minor problem. The other is in --overwrite and is very bad because that's an important option. Nothing in git seems to notice, unless you run git-fsck. Even a git server does not, by default. However, some other popular git servers do reject these broken commits. I have tested this changes with git-fsck (by using the test suite patches which follow in this series) and now everything seems fine. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Import fix: Switch back to unpa branch on patch import iterations.Ian Jackson2016-12-20
| | | | | | | In particular, do not fail utterly if dpkg-source and gbp disagree. Closes:#848843. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Improve "cannot represent change" messageIan Jackson2016-12-20
| | | | | | Print the git old and new modes too. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* quilt fixup: Permit creation of patches which delete filesIan Jackson2016-12-20
| | | | | | | | | | | By psssing --include-removal to dpkg-source, and tolerating it when we do our quilt fixup analysis. dpkg-source has supported this since at least stretch. Closes:#848901. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* absurd/git: Better debuggingIan Jackson2016-12-19
| | | | | | | Honour DGIT_ABSURD_DEBUG, which is set by dgit from $debuglevel. Also, in dgit, open the output file for append. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Do not fail when cloning a package containing dangling symlinks.Ian Jackson2016-12-19
| | | | | | Closes:#848512. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* By default, generate a DEP-14 tag as well as a dgit archive/* tagIan Jackson2016-12-19
| | | | | | | | Even in non-split-view quilt modes. Closes:#844129. This breaks one of the test suite test cases, so disable it there. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out access_cfg_tagformats_can_splitbrainIan Jackson2016-12-19
| | | | | | | | While we're at it, use a hash %y rather than repeatedly grepping. No overall functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Suppress some leftover debugging output from import-dsc. Closes:#847658.Ian Jackson2016-12-19
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Give better advice if .dsc/.changes signing failsIan Jackson2016-12-19
| | | | | | | If no changes are needed to the package, user may indeed just debsign and dput. Closes:#844131. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Slightly better message when .dsc not found.Ian Jackson2016-12-19
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Introduce dep14_version_quoteIan Jackson2016-12-19
| | | | | | | Removes three identical copies of this y/// rune. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: remove_stray_gits: Print a slightly better messageIan Jackson2016-11-07
| | | | | | Change all call sites, and callers of mktree_in_ud_from_only_subdir. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: git_add_write_tree: Replace two open-coded git-add sitesIan Jackson2016-11-07
| | | | | | | No overall functional change. (We end up passing `.' to git add, which these two sites didn't previously.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Cope when an orig tarball is a tarbomb.Ian Jackson2016-11-07
| | | | | | | | | | | | | | | | Ie, if it contains other than one single directory toplevel. Closes:#843422. Specifically: * We change the unpack directory to _unpack-tar in unpack, rather than ../unpack-tar. This means that mktree_in_ud DTRT in that directory, rather than in its supposed only subdiredctory * We do write-tree on the whole tarball. * Then if the tarball had only one subdir in it, we fish the subtree's tree object out of the git tree object. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Introduce git_add_write_treeIan Jackson2016-11-07
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Fix an unconditional print that was supposed to be a printdebug:Ian Jackson2016-11-07
| | | | | | origs <blah>.orig.tar.gz f.same=1 #f._differ=-1 Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: aptget: un-disable cache cleanIan Jackson2016-11-07
| | | | | | Have fudged it to see what it did, and it seems to work. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Better error message for inappropriate multi-suiteIan Jackson2016-11-07
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Implement multi-suitesIan Jackson2016-11-07
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Actually honour the branch name for $isuite, if we are on dgit branchIan Jackson2016-11-07
| | | | | | As documented in the manpage. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Print a debug message if clone removes due to errorIan Jackson2016-11-07
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Move canonicalise_suite into fetch()Ian Jackson2016-11-07
| | | | | | | | | | | | | | | | | | fetchpullargs has to run before we have dealt with multisuites, which cannot be straightforwardly canonicalised. Move the canonicalisation out of fetchpullargs. Previously, fetchpullargs would always call canonicalise_suite if it wasn't going to fail. In one of the cases it would print a message, but we have just changed canonicalise_suite to print a message too, so the one from fetchpullargs was redundant. fetchpullargs is called right before fetch, in cmd_fetch; and, in cmd_pull. In cmd_pull the split brain check intervenes between fetchpullargs and pull which calls fetch. So overall there is now no functional change other than the loss of the now-redundant message. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>