Hi Dimitar,

On Fri, Aug 09, 2024 at 08:00:42PM +0200, Thomas Koenig via Gcc wrote:
Hi,

I have managed to bring the fortran-unsigned branch into a state where
it can no longer be rebased. When I do a

$ git rebase master
It's unknown what is the state of your local master branch. So I would
advise to rebase against master branch on the server:

  $ git fetch origin
  $ git rebase origin/master

OK, I did that.

With the above I get the following result, which looks reasonably ok to
me:

  $ git log --oneline --decorate
  7bc60bc184f (HEAD) Add merge_bits.
  ae4b29f34c9 Min, MAX and ishft(c).
  e7a3c1f7841 Add test case for B, Z and O descriptors.
  61b3f21a44b Add some rudimentary documentation.
  4589ae45088 Implement dshift[lr], ibclr, ibset and ibits.
  d1cf578cb2a Add bit_size, btest and bgt plus friends.
  b285c13323b Bit functions, HUGE and DIGITS.
  c39c316ae8b Added BOZ support to UINT.
  95927079ebc Added UINT intrinsic.
  70a309048fe Iplement conversions from unsigned to different data types.
  c1e596f32f8 Add decimal formatted I/O for unsigneds.
  65c571ffe65 A few fixes, add unsigned truncation warning.
  b84ec7f0242 Implement decimal list-directed I/O.
  f63906c5ff0 Add compile-time version of selected_unsigned_kind.
  c8e2ea0c39d Got some basic arithmetic working, test case now run-time.
  dd626ce9863 Very first program compiles.
  1f93f691ff2 Initial version - add do-nothing -funsigned option and 
BT_UNSIGNED.
  d0bc1cbf6a8 (origin/trunk, origin/master, origin/HEAD) btf: Protect 
BTF_KIND_INFO against invalid kind

I get the same.



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"

Your origin/devel/fortran_unsigned has manually cherry-picked patches,
which meanwhile got merged in "origin/master".  I suspect those
cherry-picked patches got sneaked in when a stale base was used for a
git rebase (i.e. your local master branch).

That actually sounds like a reasonable explanation of what could have
happened.  Of course, it would have been nice to have known that
beforehand, or maybe even a warning from git...

Warnings seem benign to me, but I would use the "gitk" tool to check the
rebased branch.  Just in case.

I've looked at it a bit and seen nothing untoward.


Successfully rebased and updated refs/heads/fortran_unsigned.

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

and when I do "git pull" I get a lot of conflicts, basically having
to redo each commit by hand, as a conflict.

If your local branch is tracking origin/devel/fortran_unsigned, then you
are attempting to merge pre-rebase history with post-rebase history.
In such case conflicts are expected.  Don't pull the remote devel
branch.

Hmm...  but I already did.  And, following other people's advice,
have reset the branch to upstream already (which may have been
another mistake).

So, anything I can do about this, or have I messed up the
branch beyond repair?


To visualise the histories of your local and the remote branch:
   $ gitk -n10000 HEAD origin/devel/fortran_unsigned

Looks like a nice tool.

Best regards

        Thomas

Reply via email to