[dev] Extra git work necessary! was: FRAMEWORK_5_2 branches in split repositories messed up
Jan Schneider
jan at horde.org
Fri Oct 20 20:52:06 UTC 2017
Zitat von Jan Schneider <jan at horde.org>:
> Hi,
>
> it just occurred to me that the FRAMEWORK_5_2 branches haven't been
> copied over completely from the monolithic repo where we used them
> for the stable applications. No commits between December 2015 and
> the git split have been converted on those branches.
> I have no idea how this happened, and why this wasn't discovered
> earlier, especially during the testing of the git split. I still
> need to find out how to clean up that mess. Any help is welcome. We
> might have to rewrite history for the FW_5_2 branches so please keep
> from submitting there for the time being.
This was due to a combination of me not being careful enough, and the
git split script doing some branch checkout incorrectly.
It's fixed now, but I indeed hat to rewrite the history of the
(applications') FRAMEWORK_5_2 branches since the git split. If you
already worked with the split repositories, you would have to do a few
steps to synchronize your git checkouts with upstream again. This is
mandatory!
If you never checked out a FRAMEWORK_5_2 branch of any of the
applications, you can stop reading here.
If you checked out a FRAMEWORK_5_2 branch of any of the applications
and don't have any local, unpushed changes in your checkout, you can
simply reset all checkouts, even all at once. Assuming you are in the
base directory of the various Horde git module checkouts, and don't
have any other directories there, you can do:
$ for d in [[:lower:]]*; do (cd $d; git fetch; git co FRAMEWORK_5_2;
git reset --hard origin/FRAMEWORK_5_2); done
or individually in each repository checkout where you used FRAMEWORK_5_2:
$ git fetch
$ git co FRAMEWORK_5_2
$ git reset --hard origin/FRAMEWORK_5_2
If you have unpushed local changes, you need to save them *before*
updating from git!
$ git checkout FRAMEWORK_5_2
$ git branch backup origin/FRAMEWORK_5_2 # BEFORE fetching!!
$ git fetch
$ git rebase --onto origin/FRAMEWORK_5_2 backup FRAMEWORK_5_2
# Check if everything is correctly in place!
$ git branch -D backup
Sorry for the inconveniences.
--
Jan Schneider
The Horde Project
https://www.horde.org/
More information about the dev
mailing list