Jonny's Guide

With LP's help i thought i'd have a go at upstreaming the latest fixes from Tiki 12.x to mfm git, so here are some notes about it. Thought they should do on shocksite somewhere, but not on that already-too-big project page (i guess?)

cd into your local mfm git master clone, and make sure it's up to date with

$ git pull (i think, i use phpStorm ;)

$ git status

to check you haven't got anything stuck in there to push (if you want to clear any changes and LOSE them do "git reset hard origin/master")


$ git remote add upstream https://github.com/changi67/tiki.git
$ git fetch upstream

and it should start downloading the entire internet (actually just Tiki i think, takes a while)

If you get any jip about SSL certificates try "git config global http.sslVerify false" and retry the fetch upstream one.

Then to actually do the merge do

$ git pull upstream 12.x

(replace 12.x with trunk or whatever branch you need - you can see them all here https://github.com/changi67/tiki)

And then finally (once any conflicts are resolved) do

$ git push

Except, it seems Changi's git version of Tiki stopped getting updated three days ago so there aren't any changes yet to merge. I have mailed him so we just have to wait now...


Merging 1.1.x into master

On local switch to branch to be updated
git checkout master

Merge with the branch you want to
git merge 1.1.x

Push back all in the repo
git push

On local select branch

git checkout master
git branch --set-upstream-to=origin/1.1.x
Branch 1.1.x set up to track remote branch 1.1.x from origin.
Macintosh:mfm Bernard$ git pull

Update process to Tiki14

Update the code to lastest 12.x
git diff upstream/12.x..1.1.x > ~/mfm_changes.patch

I would then go through that large file manually and remove undesired changes, changes that are backports.

git branch 2.0.x upstream/master
git checkout 2.0.x
cat ~/mfm_changes.patch | patch -p1 --merge

There will still be conflicts, but it should be more reasonable.

Other commands & stuff to cleanup

git checkout master                     # Never do this on the production branch

git fetch upstream
git merge upstream/12.x            # Make sure you select the right branch
git pull upstream 12.x            # Same as above
git push
git remote add upstream https://github.com/changi67/tiki.git

git reset --hard origin/master

https://github.com/changi67/tiki/commits/12.x          #Checking tiki/git status

git status          #Display files status
git reflog          #Display history log

git config core.fileMode false          #Remove permissions check upon git modified status