[oe] Reconsidering the work flow and how the SCM system fits in

Marcin Juszkiewicz openembedded at haerwu.biz
Tue Mar 11 10:25:59 UTC 2008


Dnia Tuesday 11 of March 2008, Holger Freyther napisał:

> I'm anything but happy with the way we work with our repository. We
> have a dreambox branch that is not mergable due issues with our SCM
> system, the OpenMoko guys have to go back to diffing and applying the
> diff and merging by hand, we just commit fundamental changes like
> sysroot, packaged-staging, RFCs in one go and then do weeks of fixing.
> And I can continue with this list.

In short: our SCM situation suxx.

> What: I think we should use more branches
> 	- As many shortlived and medium lived branches as developers want
> 	- Shared branches for stuff like packaged staging, RFCs, sysroot. Were
> you start the development, add features, other people will compile
> their stuff, other compile and then you rebase and merge!
> 	- Basicly you develop a feature in a branch until it is ready and not
> 	  impacting other things, then you rebase/cleanup, propose it for
> inclusion and wait for feedback, then merge.
> 	- Stable distributions and vendors get their own branch, they can
> merge, cherry-pick what ever they want.

Agreed on that.

> The issue:
> 	- mtn can not merge. Forcing me to manually delete files in one copy
> to do a merge is not acceptable.

argh on that too

> 	- I lack a GUI to easily browse the repository

Does Mercurial has such one? GIT has gitk, qgit and probably something 
more.

> 	- I can not clean up changes before I push them!

I do not know what exactly you mean here but from what I know it is doable 
with GIT (exporting and re-importing patchsets).

> I want that we use more branches for development, apply review on them,
> land/merge/push these branches after review, pull peoples changes from
> other hosts, work on perfetch patch series before landing patches. 

I like idea.

> I believe we need to deploy this kind of development in OE again and as
> mtn is the obstacle to this kind of development I propose to switch to
> another SCM system that allows us to develop OpenEmbedded the way it
> should be developed.

> My criteria:

> 	- Should have branches, easy merging, easy merging of merges
> 	- Branches and merging should be cheap
> 	- Make it easy to put the OE tree into another SCM and still be able
> 	  to merge (git-svn and such)
> 	- A good graphical tool to browse the repository
> 	- A good and maintained web frontend
> 	- A good set of builtin tools (e.g. like git-add -i and git-rebase -i)

Sounds like GIT :)

> I think the two options are hg and git, I tend to favor git due the
> size of its community. I want to switch OE to one of these systems by
> the end of this month and start using more branches and creating
> perfect patch series again.

When I have to choose between Mercurial (hg) and GIT I prefer to choose 
GIT. It is because this one is more known to me and I know that it has 
large users base. I also knew developers with lot of git experience so it 
is easier to seek for help.

-- 
JID: hrw-jabber.org
OpenEmbedded developer/consultant

 Learn the facts and make up your own damn mind. That's why you have one.






More information about the Openembedded-devel mailing list