Working on a stable release from github by using local branches


#1

Hi everybody,

I just want to share this with you. I find this useful, maybe this will
help
you too.

Since typo in fdv/typo on github is a (fast)moving target, you might
want to
work with a stable code base to branch from.

Suppose you might want to work with Typo 5.2.0, you’d clone the
repository
or fork it on github and clone from your fork. I did the latter and
added
dfv/typo as a remote on my local clone. The remote is named
“vanilla_typo”
in my example.

First pull from dfv/typo, including tags:

git pull --tags vanilla_typo master

Then branch off of the tag “release_5_2_0” to “jump back in time”:

git checkout -b stable_5_2_0 release_5_2_0

This will create a new branch called “stable_5_2_0” next to your master
branch and whatever else you created.

Please note that you still might need to initialize Typo’s submodules at
this point. Migrations will be an issue if you already worked on the
same
databases with later migrations. You’ll have take care of the state of
your
database scheme. Better yet, work on a new set of database schemes for
development, tests and production.

You can now edit files and commit.

When you’re done and you want to merge this with a current revision you
can
forward-merge like this:

git checkout master
git pull vanilla_typo master
git format-patch -k -m --stdout release_5_2_0…stable_5_2_0 | git am -3
-k

As I haven’t used this extensively, I advice care. Maybe the git
magicians
reading this list can verify this or add comments.

Tobias W.


#2

Done.


#3

Tobias Weisserth wrote:

latter and added dfv/typo as a remote on my local clone. The remote is
This will create a new branch called “stable_5_2_0” next to your
When you’re done and you want to merge this with a current revision
you can forward-merge like this:

git checkout master
git pull vanilla_typo master
git format-patch -k -m --stdout release_5_2_0…stable_5_2_0 | git am -3 -k

As I haven’t used this extensively, I advice care. Maybe the git
magicians reading this list can verify this or add comments.

If you want you can put this explain in our wiki.

http://github.com/fdv/typo/wikis

Thanks


Cyril M.
http://blog.shingara.fr


#4

Tobias Weisserth wrote:

When you’re done and you want to merge this with a current revision you
can forward-merge like this:

git checkout master
git pull vanilla_typo master
git format-patch -k -m --stdout release_5_2_0…stable_5_2_0 | git am -3 -k

As I haven’t used this extensively, I advice care. Maybe the git
magicians reading this list can verify this or add comments.

I have a comment on this part: Why not just use git merge, like so:

git checkout master
git pull vanilla_typo master
git merge stable_5_2_0

Regards,
Matijs.


#5

Tobias Weisserth wrote:

You’d work on your master branch. But maybe you want to work on two
parallel branches. One for production code and the other for future
releases of your blog.

Well, you can still do that. After the merge, just do

git checkout stable_5_2_0

and continue working on that.


#6

You’d work on your master branch. But maybe you want to work on two
parallel
branches. One for production code and the other for future releases of
your
blog.