gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

History rewrite for corebase and gui


From: Ivan Vučica
Subject: History rewrite for corebase and gui
Date: Tue, 20 Jun 2017 21:10:43 +0100

Hi,

https://github.com/gnustep/gitsvn-scripts/issues/2

"""
I've mistakenly created merges which work okay with local clients, but
confuse Github and other web UIs which don't recognize replace refs.

- gnustep/address@hidden
- gnustep/address@hidden
- gnustep/address@hidden

This will require rewriting history, but it's better in the long run.
"""

I've just pushed rewritten libs-corebase (where I cherrypicked the
contributions instead).

I'm about to do the same for libs-gui.

You *will* need to cherrypick (or rebase, though I have less faith
that this will work) if you have changes locally. I suggest
cherrypick. Exact procedure for how to do this is unfortunately out of
scope for this mail, but basically this should work:

git log # and note commit hashes for each of your changes
git checkout origin/master
git cherry-pick CHANGE1
git cherry-pick CHANGE2
# etc
git log # and note commit hash of the new head
echo "your-new-commit-hash-here" > .git/refs/heads/master # I don't
know how else to change what the 'master' local branch points to, and
this works for me.

Thankfully you should be prevented from pushing if you don't do this correctly.

You can also store your unsubmitted patches for safekeeping by using
git format-patch correctly. Since I haven't used this much, how to do
this correctly is also out of scope and can be found online.

Sorry about this, but I messed up pretty badly doing these merges, so
we ended up with doubled history in any client that doesn't recognize
/ doesn't have replace refs downloaded.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]