On 15/12/2010 18:57, Vincent van Ravesteijn wrote:
On Wed, Dec 15, 2010 at 4:53 PM, Abdelrazak Younes<you...@lyx.org>  wrote:
Hi Vincent,

I would like to create a new branch there for my toolbar-settings patch but
the repo is not up to date. As I am not familiar with git svn could you
please send your recipe to rebase git master from svn trunk?

Thanks in advance,
Abdel.


Hi Abdel,

As my git-knowledge increases by the day, I think I will redo the
repository a bit. That is, using Pavel's git repos on ftp.lyx.org and
using git-svn I will reconstruct a proper git repository. Until now I
used my homegrown code to synchronize with svn.

If you have a little patience I will try to upload this repository to
gitorious. I hope I will manage to do it correctly.

I am a very patient man. Take your time.

By the way, it's not a real problem that master is not really up to
date, as you will need to rebase anyway later. That's one of the
things I don't really grasp about Git. Ideally. you want to merge your
branch with master once in a while, but then your history in the
branch is totally screwed.

Exactly, that's why I don't use rebase. But for git-svn I can see why this is useful in order to have a linear history when you don't care to port the finer git history in svn I mean.

  Also, interactively rebasing to group
commits and to edit commit logs and so on, can't be done nicely when
you have push your stuff to the external repos. In the end, I end up
by deleting the branch and push it again after rebasing.

Do you have any tips on this ?

Don't rebase? :-)

More seriously I would differentiate git master from svn trunk exactly because of that. That's why I proposed that the git-svn rebasing is done in its own branch. So I would have these branches:

* master: where the main development would happen; where the topic branches would get merged once ready.
* trunk: maintained with "git svn rebase"
* topic branches: as much as we want

The process would be:
- trunk: run daily "git svn rebase" + "merge trunk to master"
- develop something in branch-X
- when ready merge branch-X to master
- when accepted in devel list merge master to trunk and commit to svn.

Abdel.

Reply via email to