summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* 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>
* Cope when cloning suite which doesn't receive uploads, like testing.Ian Jackson2016-10-30
| | | | | | | | | | | | | | | If $lastpush_hash is '', it means that the dgit git server does not have the suite branch. That can even happen if the current version in the suite was a .dsc with a Dgit field, if an in-archive copy moved the .dsc from whereever it was uploaded. Do not crash in this situation. Instead, give the user the Dgit hash (and maybe pseudomerge it with the user's history - sigh). There is still a possible problem: maybe the referenced commit is on another branch. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Reject `dgit pull' in split view quilt modesIan Jackson2016-10-30
| | | | | | | To avoid creating unfortunate wreckage on non-dgit-view branches. Closes:#842608. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit gbp-build will arrange to let gbp buildpackage generate .orig tarballsIan Jackson2016-10-30
| | | | | | if it seems applicable. Closes:#841094. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Introduce build_prep_earlyIan Jackson2016-10-30
| | | | | | | | | Currently only one call site which is only ever called once. We make it idempotent since we're going to want that. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Introduce upstreamversionIan Jackson2016-10-30
| | | | | | And many call sites. No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Support dgit --delayed= pushIan Jackson2016-10-30
| | | | | | (with a warning in the manpage about possible skew). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit clone: Set timestamps in cloned tree to a single unified time.Ian Jackson2016-10-30
| | | | | | | This makes it less likely that the user will trip over any timestamp-dependent FTBFS bugs (eg #842452). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* New option --dgit-view-save= for split view quilt modes.Ian Jackson2016-10-30
| | | | | | | In particular, means that the output of a split view quilt-fixup is left somewhere useful. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Actually print signature warning without --require-validIan Jackson2016-10-30
| | | | | | | If --require-valid-signature was not set, we would not print the warning if there was one. That is quite wrong. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Support --require-valid-signatureIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Check the signatureIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Introduce ff checkingIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Introduce $newhash (nfc)Ian Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Introduce $info (nfc)Ian Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: Refuse to update a checked-out branchIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import dsc: Actually permit --force-import-dsc-with-dgit-fieldIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* import-dsc: New featureIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Properly look for .origs etc. in .., fetching them less often.Ian Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* .dsc and file handling: Add some debugging outputIan Jackson2016-10-30
| | | | | | No other change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Break out parse_dscdata.Ian Jackson2016-10-30
| | | | | | No functional change. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Provide --force-changes-origs-exactlyIan Jackson2016-10-30
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Automatically calculate which .origs are requiredIan Jackson2016-10-30
| | | | | | | * Spot if any of our .origs have different hashes to the archive's * Update the .changes to have the set of .origs that the archive doesn't Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>