summaryrefslogtreecommitdiff
path: root/dgit
Commit message (Collapse)AuthorAge
* dgit: rpush: Use $isuite for $isuite, not $csuiteIan Jackson2017-01-09
| | | | | | | | | | Send isuite as a parameter, and use it if it's provided, instead of csuite. This means config lookups like dgit-distro.SUITE.distro only need the user-provided suite name (eg `unstable'), and don't need to be duplicated for the canonical name (eg `sid'). Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: $isuite handling: Defer calls to access_* until first `want'Ian Jackson2017-01-09
| | | | | | | | | | | pushing, rpush_handle_protovsn_bothends, and quiltmode, all depend on access_*. For that we need $isuite, but we only get that (in the form of $csuite) from the build host. We can move all of these calls into i_resp_want, which is called the first time the build host actually wants something from us. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: $isuite fixes: defer pushing and rpush_handle_protovsn_bothends in rpushIan Jackson2017-01-09
| | | | | | | | | | | | | We mustn't call pushing until we have parsed the arguments enough to find $isuite. So remove the call to pushing from cmd_remote_push_build_host. Now we rely on cmd_push's call to pushing, which it does after the argument parsing. We then need to move rpush_handle_protovsn_bothends (which implicitly calls accesss_*) too, until we have got $isuite and called pushing(). We can move that into dopush. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: rpush: suppress changelog tag format checkIan Jackson2017-01-09
| | | | | | | | | | | The changelog might be received (and therefore parsed) before we have been told the suite. So we can't check the tag format because we cannot know the distro yet. Simply suppress this early check. If the tag format is wrong, we will discover this later. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Option parsing: Move pushing call in pushIan Jackson2017-01-09
| | | | | | Otherwise $isuite might not be set when we call access_something. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: rpush: Provide $we_are_initiatorIan Jackson2017-01-09
| | | | | | No functional change yet. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: When generating orig+debian/patches view, copy debian/ from HEAD.Ian Jackson2017-01-09
| | | | | | This makes less noise in diffs. Closes:#850095. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* fetch and pull ignore the changelog suite when it is UNRELEASED.Ian Jackson2017-01-09
| | | | | | Closes:#848646. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Honour dgit-distro.*.default-suite and dgit.default.default-suite.Ian Jackson2017-01-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* Provide `dgit print-dgit-repos-server-source-url'.Ian Jackson2017-01-09
| | | | | | Re:#850521. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: clone-dgit-repos-server: Set $access_forpushIan Jackson2017-01-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* git fetching: git_lrfetch_sane: Tidy up old suite-based refsIan Jackson2017-01-09
| | | | | | | | | We should look for these and delete them, when we have the chance, because otherwise nothing ever would. For now we just use $csuite if we have it, and otherwise do nothing. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Dgit parsing: tolerate newlines etc. not just one spaceIan Jackson2017-01-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Dgit parsing: honour dgit.default.old-dsc-distroIan Jackson2017-01-09
|
* dsc import: Do not look anything up in default distroIan Jackson2017-01-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Dgit handling: Honour --no-chase-dsc-distroIan Jackson2017-01-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: config handling: better debuggingIan Jackson2017-01-09
| | | | Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: conflg handling: Undocumented --config-lookup-explode= feature.Ian Jackson2017-01-09
| | | | | | For testing. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dgit: Support distro aliasesIan Jackson2017-01-09
| | | | | | | We are going to use this to spot when we accidentally look up "debian" information in the test suite. Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dsc import: Call resolve_dsc_field_commitIan Jackson2017-01-09
| | | | | | No functional change Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dsc import: Reorganise to make room for resolve_dsc_field_commitIan Jackson2017-01-08
| | | | | | No functional change Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* dsc import: Assign $package earlierIan Jackson2017-01-08
| | | | | | No functional change Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
* 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>