| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
| |
Since
dgit: make $need_split_build_invocation always true
this option has had no effect, so these tests are redundant.
And change the comment in dgit near the option parsing.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change yet as it doesn't use it.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want the callers to do this so they can control it better. They
mostly already do. In detail:
* cmd_push_source
This one is most complicated. It already calls prep_push, which
does a variety of things which overlap with build_prep. The things
which are in build_prep but not in prep_push are:
- notpushing (via build_prep_early), which seems to be a mistake
- clean_tree(), which is needed, so we add it (for now...)
- build_maybe_quilt_fixup, which is needed, so we add it
- remove old changes, which is not actually needed
* cmd_build, cmd_gbp_build
build_prep was already called by the if arm which didn't call
build_source; so we can just move it up outside the if. No
functional change here.
* cmd_build_source, cmd_sbuild
We need to replace the call.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
| |
build_prep starts with a call to build_prep_early so this is redundant
(and confusing).
Effect is to sometimes no longer duplicate some effort.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
| |
This sub has only one caller and the indirection is not really
helpful IMO.
NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
build_source_for_push should now always build in a worktree, so
patches should never be applied dirtily to $maindir. Die if it turns
out they were.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
|
|
|
|
|
|
|
|
| |
This is not really ideal, but cmd_push_source needs it. For now do it
like this. I may move cmd_push_source further down the file, later,
and then we can revert this.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dgit will always build the source package.
One minor consequence is that dgit will usualliy generate
*_multi.changes rather than *_$arch.changes, so we need to update the
one test that makes the contrary assumption.
Bump the dgit major version number as this is quite a significant
change in implementation and also a behavioural change.
This change makes a lot of code dead. Removing that is left as a task
for the future.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
We are going to want these a bit earlier. NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The changes file ambiguity problem arises because dgit does not know
what architecture changes file the build is going to generate. (To
know that it would have to delve even more into the command line
options the user is passing through dgit to the builder.)
dgit --always-split-build generally makes a _multi.changes file,
because it merges source changes with binaries from the build. We are
going to make --always-split-build the only way things are done. This
would result in lots more situations where --rm-old-changes is needed.
However, actually, we can assume that the builder does not generate a
*_multi.changes. That will allow us to spot the builder-generated
changes file even if there is already a dgit-generated *_multi.changes
file from a previous build.
So: disregard _multi.changes, both when pre-checking for confusing
files, and when actually figuring out what the build produced.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
This does not make sense because you cannot dgit push uncommitted
changes.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
|
|
|
|
|
|
|
| |
It is not supported.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Leaving the old name supported as a deprecated alias.
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
0 - source will NOT need to be built separately by caller
+1 - source will need to be built separately by caller
+2 - source will need to be built separately by caller AND
So:
0 => WANTSRC_BUILDER
+1 => WANTSRC_SOURCE | WANTSRC_BUILDER
+2 => WANTSRC_SOURCE
No functional change except to debugging output.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
This better reflects the effects that the option has.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
|
|
|
|
|
|
|
|
| |
They are useful for doing things other than quilt fixup.
No functional change.
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
|
|
|
|
|
| |
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
| |
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
And also add a couple of `please's. Closes:#904448.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unconditionally print hint about noatime. This problem seems to occur
quite rarely (noatime is out of fashion nowadays, and I haven't seen
any other causes) so it doesn't seem worth fiddling about writing code
to determine the mount options. Instead, print a hint and let the
user investigate.
Closes:#851873.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
git-debrebase is about to want this for convert-from-gbp dgit split
brain fixup.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
git-debrebase is going to want this.
No functional change except to some debugging messages.
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically:
* When running git status --porcelain, pass --ignored so it
lists ignored files, and handle the ! output that it then
produces.
* Add missing -f to a few git add invocations.
I have done some greps ('git.*add', 'git.*status', 'porcelain', etc.)
to try to find other missed cases and none turned up.
git diff is OK because normally we pass two treeish arguments, in
which case the ignores are ignored by git diff. When we are asking it
to look at the working tree, we are expecting it to ignore untracked
files (whether ignored or not), and diff tracked ones, which is what
it does.
Closes:#903130.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoids the user pushing things that will inevitably be REJECTed.
We end up introducing some new config and force options to support
this.
We do not reuse test_source_only_changes, as it doesn't have quite the
right shape (in particular, it sometimes blithers on stdout). Also
arguably it is better to look, specifically, for .debs, for the
purpose of this test.
This requires a new archive protocol method. We implement it for
ftpmasterapi (where it is actualliy needed) and dummycatapi (where we
need it for tests.) Implementing it for madisonish methods would be
easy. For aptget, it would probably involve iterating over suites,
and not be adviseable.
Closes:#801435.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Closes:#878443.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
This actually does all that is needed. It replaces two now-identical
calling patterns.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
This slightly odd construction is actually how the return value from
fork_for_multisuite should be handled. It now looks much more like
the calling pattern in pull().
No functional change: if $multi_fetched is falseish, we call
fetch_one, and then, no matter what, we finish 0.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
When for_for_multisuite returns '0', meaning we are a child and should
do one suite, use finish 0 rather than returning, after doing the
fetch.
This has no functional change because the one call site is at the end
of cmd_pull, after which we finish 0 anyway.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically, use package_from_d_control rather than open-coding
a substandard implementation.
The consequent abolition of $sourcep does mean that if the user
specifies the suite `.', and does not specify -p, we needlessly parse
debian/control twice. This doesn't really matter.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
And add cross-references to dgit(1) and the actual error.
Somewhat apropos of #842614.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Closes:891031.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The .dsc and .changes matching code contained roughly
$fieldbody =~ / \Q$item\E\n/m
but this is wrong when the $fieldbody matches $item in its last line,
and there is no trailing newline (as would be usual). This code
is obviouslu confused because m affects only ^ $ which don't appear
in the regexp. Change these to / \Q$item\E$/m which is what ought
to have been, and probably was, intended.
In one case we are trying to delete a line. In that case we need to
remove the leading newline. The field body always starts with a
newline so the use of \n rather than ^ is fine.
Closes:#869146.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the comment about `message may be modified' is rather
misleading, since there is no code to do that - but it explains the
semantics of the new function.
We change the appropriate subset of the git update-ref call sites.
These are precisely the ones where we previously specified a message
with -m, except for the quilt cache (where we use the reflog message
as the cache lookup key).
The calls are updates of internal refs etc.
We end up using qw(git) rather than @git.
Otherwise no functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
make-patches exiting with status 7 causes $?==7*256, not 7.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
Print a warning to stderr on `dgit fetch sid', if your vcs-git remote
url disagrees with what's in sid's .dsc.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
This is for creating and adjusting the vcs-git remote url. Useful for
transition from alioth to salsa. Closes:#902006.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
| |
Ie there is nothing to overwrite (eg, when used with --new). Instead,
it is simply ignored, as it is ignored in situations where the push is
fast forward.
Closes:#863576.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When fetch or push wants git fetch (other than in a situation where it
happes to be a noop) but --dry-run was specified, we would loop with a
false coplaint about git fetch. False, because we didn't actually run
git fetch so of course it didn't do anything.
Instead, fail with an explanation. Closes:#871317.
This does not occur, and we do not fail, if git-fetch would be a
no-op. We can tell when this is the case, because we use
git-ls-remote too. This leads to one suggestion for a workaround for
the user, which is to do a not --dry-run fetch first.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
| |
Add a newline and "error:" before most error messages. Thius makes
the output clearer, by distinguishing informational output (which
might or might not relate to any error which is occurring) from things
which are definitely wrong.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
When quilt fixup fails because of discrepancies, print a git diff rune
which will show them. Closes:#865446.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
No functional change.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|