[oe] Reconsidering the work flow and how the SCM system fits in
Holger Freyther
zecke at selfish.org
Tue Mar 11 14:14:49 UTC 2008
On Tuesday 11 March 2008 11:14:33 Graeme Gregory wrote:
> > Nice, your argumentation is pretty convincing. I just guess that we're
> > going to have lots of "I'd love to see branches in OE" votes in this
> > thread, and I'd just love to see them treated separately from "I need
> > branches", "I'm ok with using branches for my changes", "Branches are
> > going to complicate my work, but I might try", and "I hate branches -
> > I already barely have time to do real work" votes.
>
> I need branches.
The way I would do it with git:
- Upstream has a git repository
- master is what org.openembedded.dev is currently
- Openmoko has a git repository
- (moko-)master for Openmoko
OpenEmbedded => Openmoko
a) cherry-pick (git-fetch openembedded && git-cherry-pick rev)
b) merge/pull (git-merge openembedded)
none-automergable conflicts are resolvable with git-mergetool and then use
kdiff3, meld, whatever and you can ignore that git is playing with the files,
none of these changes automatically end in your index.
Openmoko => OpenEmbedded
# Create a short lived submit branch
git-checkout -b submit-branch origin/master
# Rebase your changes to sit on top of OpenEmbedded
git-rebase openembedded/master
# Now throw away non ready recipes or edit some hunks
git-rebase -i openembedded/master
# Check what changed from this branch to the master of openembedded
git-rev-list openmebedded/master..
# Or use gitk to browse your changes
gitk
# Publish your branch
git-push origin submit-branch
# Ask people to review and do changes/rebase
# Push your branch to OpenEmbedded
git-push openembedded submit-branch:master
# Delete your submit-branch (you are done)
git-push origin :submit-branch
# Delete your branch locally
git-checkout master
git-branch -D submit-branch
# Merge the upstream into your dev tree. With mtn you would get non content
# conflicts here, with git you might need to fire up git-mergetool while
# doing the merge but both kdiff3 and meld are clever enough to automatically
# merge these files.
git-pull openembedded
Such a work flow helps to make bugfixes immediately available, allows long
lived branches and is working. And I know this can not be done with mtn, and
I have no hope this will work within the next two or three month and I know
git can do the job and that corporate users of OE want that and I want it as
well (my main motivation).
z.
PS: git-add -i and git-rebase -i really won me over
More information about the Openembedded-devel
mailing list