summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* 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>
* clone: Postpone canonicalise_suiteIan Jackson2016-11-07
| | | | | | | We are going to want to do some other things beforehand, but after the dryrun safety catch. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Make clone_set_head not depend on $giturlIan Jackson2016-11-07
| | | | | | | When cloning a distro which has no git server, correctly leave the user on the local dgit branch, not on `master'. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: clone: Break out clone_set_head and clone_finishIan Jackson2016-11-07
| | | | | | | | Again, we are going to want to reuse these bits. No functional change right now. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: fetch_from_archive: Break out _record_1 and _2.Ian Jackson2016-11-07
| | | | | | | | We are going to want to reuse these bits of the fetch finishing-up. No functional change right now. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Always print canonical suite nameIan Jackson2016-11-07
| | | | | | | | Not only when a noncanonical one was specified. This makes some output less confusing - especially when combined with the forthcoming multisuite feature. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: printdone: Use $us.Ian Jackson2016-11-07
| | | | | | | No significant functional change right now. When $us changes, it will be more right. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: canonicalise_suite_aptget: Add a bit of debugIan Jackson2016-11-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Support the Debian *-security suites.Ian Jackson2016-11-06
| | | | | | (Provide the configuration to use the aptget method.) Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: aptget archive access methodIan Jackson2016-11-06
| | | | | | | Uses Sources. This is not very efficient and should be avoided for large apt repositories. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: config: Allow dgit-suite.PATTERN.distroIan Jackson2016-11-06
| | | | | | This is going to be useful for *-security. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Introduce access_nomdistro()Ian Jackson2016-11-06
| | | | | | | | | | | This distro name is used for tag names, protocol elements, etc., and also as a search element for config lookups. Each distro can specify a nominal-distro. No functional change with current config. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Introduce archive_query_prepend_mirrorIan Jackson2016-11-06
| | | | | | | | Now the archive_query functions return urls, not subpaths. No overall functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: parsecontrol: Support $allowsigned (nfc)Ian Jackson2016-11-06
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* -p option: Check against changelogIan Jackson2016-10-30
| | | | | | If -p is specified during push, we check that it's right. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Actually provide a -p (--package=) option (!)Ian Jackson2016-10-30
| | | | | | | | def02420f6d5 "-p option" abolished various adhocery in command line positional parameter parsing and documented the -p option. But it didn't implement it! Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Properly fetch all archive dgit view tags, as we intended.Ian Jackson2016-10-30
| | | | | | | | | | This deals with the possible "bad object" problem from an in-archive copy. Any such in-archive copy should come with either an update to the suite branch on the dgit-repos server (if maybe it needed a pseudomerge for centrally maintained history), or be identical to the upload's version tag. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git_fetch_us: More debugging (nfc)Ian Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>