[TYPO3-core] Gerrit Workflow with changing patchsets
Peter Niederlag
typo3-list at niekom.de
Thu Jul 28 10:05:40 CEST 2011
Hello,
Am 28.07.2011 09:37, schrieb Nicolas de Haen:
> Hi Peter,
>
>
> > bascily I think you should have two branches, one for each
> > change-request. So all you would have to do is:
> >
> > * git checkout <branch-cr-two>
> > * git rebase <branch-cr-one>
> > * # git push <branch-cr-two>
>
> Do I need to create the branches on gerrit too?
NO! but you can create any branch local. IMO it is even advisable
sometimes to have a loval branch per change request, if you keep working
on them, want to monitor them, or one change request depends on another one.
> Or can I push from a local branch to origin master?
params for push are <remotename> <localsrcref>:<remotetargetref>
// for example
$ git push origin localscoolshit:refs/for/TYPO3_4-5
> What I do to modify an existing changeset is basically this:
>
> git fetch git://git.typo3.org/TYPO3v4/Extensions/extension_builder
> refs/changes/46/3246/1
>
> git co FETCH_HEAD
>
> (currently on no branch)
>
> -- make changes --
>
> git add .
> git ci --amend
> git push origin HEAD:refs/for/46/3246
>
>
> Could you describe the correct steps?
> (I promise to update the Wiki then...)
> ;-)
Well, some other folks around probably have more experience on stuff
like this. I'll give a try "by theory". ;)
http://wiki.typo3.org/Contribution_Walkthrough_with_CommandLine
# keep this branch as local topic branch for later referal
git checkout -b <topic-branch-one>
# create a new topic branch, which depends on this one
git checkout -b <topic-branch-two>
# now we have tow topic branches on the same commit
# we add something on <topic-branch-two>
# hack, commit, push <topic-branch-two>
# <topic-branch-one> was updated meanwhile
# we need to make our local branch reflect that updated state
git checkout <topic-branch-one>
# fetch latest change
git fetch git://git.typo3.org/TYPO3v4/Extensions/extension_builder
refs/changes/46/3246/<x>
# reset --hard to reflect the new state
git reset --hard FETCH_HEAD
# update <topic-branch-two>
git checkout <topic-branch-two>
git rebase -i <topic-branch-one>
This is untested, but should work. You could also cherry-pick, apply
manual diffs... I guess there are numerous ways...
Greets,
Peter
--
Peter Niederlag
http://www.niekom.de * TYPO3 & EDV Dienstleistungen *
More information about the TYPO3-team-core
mailing list