| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
| |
We also add a LeftRight to the merge base delta queue hashref, so that
it can be treated the same as the left and right delta queues.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
NFC so far.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
| |
We collect various git objects that we may want to present to the user
as wreckage. Currently we dump them in $cl and print them out in
$nomerge. We'll want to do better than that of course.
Also, we don't collect any wreckage for the actual series merge yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
We need to unpack this a bit so that we can insert some wrecknote
stuff, which will come in a moment.
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>
|
|
|
|
|
|
|
| |
MergedBreakwaters commits are now handled by a completely other branch
of the if, so this check is now redundant.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
Check that the result contains all the other anchors. This is
ensured by walk, and required of VanillaMerges.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
We will not ever need to rewrite one of these, so we can just ask
keycommits for its anchor.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
If it had conflicts, they will have been resolved earlier and we can
just take that resolution.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we have the $tree_with_debian parameter to the global
read_tree_upstream, we can use it to avoid the git-write-tree call
and pass $build as the $tree_with_debian.
This thus partially reverts
dfc092e0ec3d932e51a071000519477d0e33525c
git-debrebase: Make read_tree_upstream global (nfc)
The combined effect is now that $read_tree_upstream does exactly the
git commands it did before.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
| |
We want the newly generated delta queue commits to have the $newbase's
debian/. Previously we let read_tree_upstream save and restore
debian/, but the contents of debian/ in the index are not right:
they're the result of the git merge, which is whatever is left over
from earlier.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
If not passed, this function does the same as it did before.
NFC.
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 users yet, so NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
We are going to want to reuse this.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
I have concluded that this is not a problem avoidable by
git-debrebase, and that any trouble will be tolerable (at least, not
data loss). The user should try to avoid doing this.
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>
|
|
|
|
|
|
|
|
|
|
|
| |
This produces much better (less noisy) debug output. git-debrebase
calls subcommands an awful lot and they are generally very
uninteresting.
If this now turns out to be insufficient, we will add additional calls
to printdebug.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
| |
"Old, new" is more conventional. This makes debug output and error
messages a bit easier to understand.
We must keep the backward order for get_differs because we need to
detect patch deletion, which shows up (reversed) as D_PAT_ADD.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We also operated on sorted patch lists, and reorganise the prereq
computation slightly, to make this possible.
This `print DEBUG ... if' is not very nice. This is needed because
printdebug unconditionally prints $debugprefix. These new debug
prints are nearly the first which want to do multi-stage printing
outside dgit (and dgit normally operates without $debugprefix set).
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
| |
If git-debrebase or dgit were to make an octopus merge, we should
recognise that as an unknown kind of gdr/dgit merge, not as a general
octopus merge. This code motion leaves a spot where such a new kind
of merge could be classified.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
| |
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Classification:
* Classify octopus merges as unknown, separately
* Classify 2-parent general merges as VanillaMerge, if feature enabled
* Introduce new merged-breakwater commit tag, classify as MergedBreakwaters
* Classify other gdr-generated 2-parent merges as unknown
Inspection (keycommits):
* VanillaMerge commits require laundry, much like dgit imports,
and prevent discernment of the actual breakwater and anchor
Laundry (walk):
* Rewrite VanillaMerge using new merge_series function
Test suite:
* We get a slightly different error message in gdr-unprocessable, now.
Later, when we make this non-experimental all the time, we are going
to have to soup up gdr-unprocessable to make a worse test commit.
There are a lot of known bugs and infelicites, marked with "xxx".
There is a test (which will appear in a moment) but it's rather a poor
test, so there will be many uknown bugs.
So all of this is enabled only if GIT_DEBREBASE_EXPERIMENTAL_MERGE is
set in the environment. (Strictly, only the classification is gated,
but that is sufficient.) No significant functional change without
this setting.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
NFC with existing callers.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
| |
Say `recorded _previous_ head' rather than `current head'. Since by
the time the message appears, it's the previous head. In particular,
`current' is very confusing if there were previous progress messages.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Save debian/ explicitly. This is a bit annoying.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
We can't easily do this to read_tree_upstream because that needs to
put debian/ back which is awkward.
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>
|
|
|
|
|
|
| |
scrap should abort, but doesn't yet. status just prints a message.
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 output is, unavoidably, not very pretty.
Closes:#905322.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
Nothing uses this yet.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
The : and ; were messed up.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
|
|
| |
A bare dgit dsc import is not a legal gdr branch, because the main
merge contains debian/patches/. So it cannot be processed without
conversion.
Previously an attempt to launder such a branch would crash with a
stack trace, although keycommits would falsely claim it was OK
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
| |
This allows a caller to know what tag name was successfully found,
by looking at $tried[-1];
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
|
|
|
| |
This used to be called $new_upstream_version but this function is
called in other contexts too.
NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|
|
|
|
|
|
| |
NFC.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
|