[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