[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