| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some maintainers have written commas in the maintainer field of their
changelog entries. Such changelog entries could not be imported.
clogp_authline had code to replace multiple maintainers (which are
hypothetical right now) into just the first, but that trips on these
maintainers with commas.
Ultimately we should expect that the Maintainer: field from
dpkg-parsechangelog is in (a subset of) RFC5322 recipient field
format. In that format, any commas would need to be quoted.
So:
If the Maintainer field from dpkg-parsechangelog has a comma which has
no @ or " before it, then we consider it a single old-school
comma-containing maintainer. If it were intended as multiple
maintainers, then the first maintainer has no email address. Not
coping properly with that very-hypothetical future seems OK. We
simply delete the comma, so that the things we record in the git
history are more conservative.
If there is a " we leave things untouched in the hope that this is a
single address, albeit with some quoting. The alternative would be to
try to use a full RFC5322 parser. That's quite a risky change.
Perhaps we will revisit this after stretch.
For now this Closes:#852661.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically:
* Pass -q to git-symbolic-ref. That means that it doesn't print
an error message when HEAD is not a symbolic ref (ie, a
detached head), and it means that the exit status is then 1
rather than 128.
* If the return value from cmdoutput_errok is undef, check $? (which
is the exit status <<8) and then simply pass on the undef.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
We are going to need to reuse this to print a proper error message.
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
so as to avoid blank line in commit messages. Closes:#853093.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Copy to dgit private workarea. Closes:#853085.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check that the overwritten version's changelog entry is not
UNRELEASED.
This could easily happen if this release was being made from a git
branch which predates the previous package upload, with working
practices which commit finalised UNRELEASED changelog entries with the
complete version number for the next upload. (Such practices seem
quite common.)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
In 468edf05661e "dgit: clone-dgit-repos-server: Set $access_forpush"
we set this to 0.
But this is wrong. The dgit-repos-server is used for pushing, not for
readonly access. The readonly url may be entirely wrong, and indeed
it is, for Debian.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
We need to set this or access_*() fails. Set it to a dummy value.
The user will need to specify -d to get the server for a non-default
distro, which is hopefully obvious.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
| |
Add dummy implementation of file_in_archive_aptget copied from
file_in_archive_dummycat. Re:#851697.
|
|
|
|
|
|
|
| |
This means we actually use the url from a Dgit .dsc field naming an
unknown distro. Closes:#851728.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Using croak was simply a mistake. I always wanted a stack trace.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
This avoids printing a spurious warning about actually-defused
gitattributes when cloning. Closes:#851624.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
Even if we don't do it in the user's tree because config
setup-gitattributes=false.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
The user wants a checkout of the actual source tree, so that their
checkout and the source package are identical.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
| |
We want all of our own manipulations to be unaffected by gitattributes
transformations, so that the imported git *trees* are identical to the
source packages. (Ie, if transformations are in effect, the
*checkout* of such a tree might not be identical to the source
package.)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
This is the idempotent function which adds the appropriate runes to
.git/info/attributes. No callers yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change other than slight change to messages.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Set $isuite to a dummy value. In import-dsc we aren't operating on
a suite. We have to set it to something (because the config likes
to look at the suite) and this avoids picking up information
relating to the default suite.
* Set $idistro (if -d not supplied) to the distro from (or implied by)
the .dsc. This is needed so that we do not use any config from the
default distro. In particular, the default commands (like what
`git' command to use to access the dgit git server) need to be found
via the dsc's distro's cmd-git setting, and this is done by
parseopts_late_defaults() in pushing(). So we must set $idistro
before then.
* Move notpushing earlier, so that we call it before we call
resolve_dsc_field_commit(). (It doesn't matter there for $idistro,
because it sets that itself, but the git command does.)
Closes:#851213.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
END blocks run inside children created by fork or piped open (the
latter, if they run perl code), on exit or (I think maybe) die. This
is far from appropriate.
So far symptoms of this bug seem to be limited to duplicated error
messages but I have not done a thorough analysis. Closes:#850052.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
We want execute our SIGWARN handler in these explicitly created
children.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Pass \$refetched to complete_file_from_dsc, so that we refetch files
whose hashes are wrong.
* When saving files we refetched, save them as F,fetch if saving them
as F gives EEXIST. So we can save refetched files.
* When looking for files to reuse, look for F,fetch first.
We do this only here in generate_commits_from_dsc, not in
ensure_we_have_orig. This is because, in practice, this all won't be
very effective for origs which need to be referred to by various
.dscs.
The main use case is when the user did a build without changing the
version number. This would otherwise break fetch: Closes:#850824.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
| |
Make have a option which, if set, causes hash mismatches to result in
a refetch rather than a crash.
No functional change because no call sites pass it.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
Ie do this not just for .origs. We don't want the user needlessly
re-downloading them on each fetch.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Avoids crashing with undefined $isuite. Closes:#850781.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Otherwise $isuite might not be set when we call access_something.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|