git ubuntu build: handle building a new upstream version
We need two changes to correctly build:
- do not attempt to find the orig tarball in Debian or Ubuntu
- do not attempt to symlink the orig tarball, because we are not
caching it from another upload
If debian/changelog does not exist (e.g., on an orphan branch), the
parsing function(s) incorrectly return 'HEAD:debian/changelog missing'
directly from `git cat-file`. Instead, check for this case of not
finding the debian/changelog file and raising a GitUbuntuChangelogError.
import-cron: do not attempt to re-import a failed import
e.g., if a publication to the SRU queues of three releases occurs for
one source package, that will show up as three publishing records. But
if the first fails (which needs to be debugged by a developer), the
following will also fail.
This was done in a spike. I don't think it's worth breaking it down for
this early stage script with only one known user (me). The changes
overlay each other significantly and I'm not confident the intermediate
commits are easy to get working anyway.
This adds --no-fetch, --source, --series, --parent, --orphan, --no-trim,
--new and --unapproved to modify the sync subcommand's behaviour. One
can now use this to pull queue tags into any git repository, which is
useful when working with package renames and similar.
I'm not sure it's appropriate for all of this functionality makes sense
to be in a command called "sync" any more; suggestions welcome.