On Wed, Jul 04, 2007 at 12:10:29AM +0200, Peter Stuge wrote:
On Tue, Jul 03, 2007 at 09:19:12AM -0700, ron minnich wrote:
I don't care where flashrom is but it is really nice if ONE co is all that is needed to get all you need.
To have that, and get _only_ what you need when you need the utilities they get their own repo. I think that makes the most sense logically too.
I strongly disagree.
There's absolutely no gain in having different physical repositories. It's much better to have subdirectories in _one_ common repository.
You can do all you ever need this way:
Get v2: svn co svn://linuxbios.org/repos/trunk/LinuxBIOSv2
Get only flashrom: svn co svn://linuxbios.org/repos/trunk/util/flashrom
Get all utilities: svn co svn://linuxbios.org/repos/trunk/util
Get everything (v2, v1, utilities, even v3 later): svn co svn://linuxbios.org/repos/trunk
Having _different_ repositories will remove lots of advantages:
- Common code browser (in trac) for all our code.
- Common bug tracking system for all code.
(We'd have to set up a _separate_ trac instance for another repository; that's the reason why you can't file bugs against LinuxBIOSv3 and why you cannot view the v3 code in trac, currently)
We would then _not_ be able to move a bug report from one of the trac instances to the other, for example. We'd have to tell our users "no, not that trac, please report your bug in the other trac"...
- Moving code becomes a _lot_ harder if you have different repos. Now it's a simple 'svn mv' and you automatically preserve all history.
- You cannot easily do, say, 'svn log' or 'svn diff -r500:600' over all the code, you have to mess with _two_ repos...
The list goes on.
I am definately for the externals so they are pulled into both v2 and v3 co:s too.
How does updates and commits work for the external repo-in-the-repo?
Think symlinks. If you do 'cd util/flashrom' in v2 and change+commit things there, it'll be committed in flashrom (which is an svn:externals), not in v2.
'svn up' in v2 will update v2 _and_ automatically update flashrom, as it's an svn:external within v2.
Uwe.