Am 10.08.24 um 10:17 schrieb Thomas Schwinge:
Hi!
I'm not sure I understand what actually the issue is, but:
On 2024-08-09T20:00:42+0200, Thomas Koenig <tkoe...@netcologne.de> wrote:
I have managed to bring the fortran-unsigned branch into a state where
First, I see that the upstream devel/fortran_unsigned branch does contain
(a) your development work
Yep.
and (b) a number of cherry-picks from trunk
branch.
Those cherry-picks happened without me ever issuing a cherry-pick
command. Something is going on there that I do not understand.
Do I understand correctly that (a) you want to keep, and (b) you
want to get rid of, via rebasing onto current trunk branch?
Correct.
it can no longer be rebased. When I do a
You say "can no longer be rebased", but:
$ git rebase master
I get
...
warning: skipped previously applied commit a6399bb27b3
hint: use --reapply-cherry-picks to include skipped commits
hint: Disable this message with "git config advice.skippedCherryPicks false"
Successfully rebased and updated refs/heads/fortran_unsigned.
... this says "Successfully rebased" (and I'm reproducing that locally).
And, I see exactly your (a) set of commits remaining on my local branch,
on top of current trunk branch; all (b) commits have been weeded out
("warning: skipped previously applied commit [...]").
Sorry for getting the terminlogoy wrong here, I don't speak fluent git
(and have been hit hard by gcc's change-over).
and
$ git status
On branch fortran_unsigned
Your branch and 'origin/devel/fortran_unsigned' have diverged,
and have 688 and 198 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working tree clean
This is expected, as via the rebase, the common point of Git commit
history has "moved" (to current trunk branch).
OK...
and when I do "git pull" I get a lot of conflicts, basically having
to redo each commit by hand, as a conflict.
As others have said, too, that's expected, again for reason of the
rebase.
Expected maybe, but not wanted (at least not by me...)
Is your issue that you first need to 'git pull' any missing commits from
upstream devel/fortran_unsigned branch into your local branch, and then
rebase on top of current trunk branch?
I tried that, without success.
Otherwise, if you already have all relevant commits in your local branch
(check, as others have advised, with 'gitk' or plain 'git log', for
example), just '--force' push the local branch to upstream
devel/fortran_unsigned branch?
I can try that. The only thing is - last time I did a "git push" with
something like that, server-side checking wend wild (with only a few
commits which I may have accidentally cherry-picked at the time),
and git push took something like 1/4 hour to complete. Plus, there
was the incident (twice, I think) where the same kind of thing blocked
access to gcc's git repository for quite a few hours, see the thread
starting at https://gcc.gnu.org/pipermail/gcc/2024-June/244124.html
So, I think my pushing the branch, like you suggested, could cause
something similar, and I do not want to keep others from committing :-|
Or has this been debugged, and I can safely assume that I would not lock
out everybody else for an indeterminate amount of time this way?
Best regards
Thomas