Victor Lowther (victor.lowt...@gmail.com) wrote:
> On Thu, May 30, 2013 at 3:50 AM, Adam Spiers <aspi...@suse.com> wrote:
> > Vincent Untz (vu...@suse.com) wrote:
> > > Other branches that are using the sledgehammer-common/start-up.sh file
> > > from crowbar master should probably be updated with commits like these
> > > ones:
> > >
> > >
> > https://github.com/crowbar/barclamp-provisioner/commit/0290fc89b4ca8d446eac9c3140247f18166fd6f1
> > >
> > https://github.com/crowbar/barclamp-logging/commit/9410dd876fc7603e0ed9f34cefd78d7a4dcd4633
> > >
> > > FWIW, I find it a bit confusing that sledgehammer-common/start-up.sh
> > > isn't tracked in a Pebbles branch...
> >
> > Indeed!
> >
> > This is one of the things that I proposed to work on with Victor
> > during my visit to Austin (i.e. changing the top-level crowbar repo to
> > have the same branches as the barclamp repos).  IIRC he's on board
> > with the idea :-)
>
> Not really

OK, I guess I misunderstood our conversation in Portland then.

> I despise having to maintain n copies of the build system,

What do you mean by "maintain" and by "n" here, exactly?  The whole
point of branching for each release is to make a copy so that ongoing
work on the next release doesn't destabilise the last.  That's an
industry-standard practice, and I don't see why it makes any less
sense here.

Yes, I appreciate that that means occasionally fixes to build_lib.sh
etc. would have to be backported to the (n-1) release, or maybe even
(n-2) but generally not to *all* n releases, and even if that was the
case, git cherrypick or similar make this easy to automate.  

This seems *far* preferable to me than the situation we currently have
where every single time we make a change to the build system, the only
way we can be really sure it won't break stuff is to retest every
single build from every single release going back to the beginning of
time, which would be an unmanageable amount of work.  What am I
missing here?

> and that is what doing that will currently entail.

Actually we already have plenty of duplication under the releases/
hierarchy.  Its symlink-based approach is essentially a poor-man's
implementation of a copy-on-write scheme which git handles much better
via tree objects which point to blobs.

This versioning issue is precisely what modern DVCS such as git were
designed to solve, so I don't understand why we should continue
relying on "cp" and "ln -s" instead, which is a bit like the dark ages
approach svn takes to maintaining branches in parallel trees ;-)

> Rearchitecting what
> repo has responsibility for what (which we will have to do in any case) in
> such a way that does not result in  a combinatorial explosion of
> identical-execpt-for-bug-inducing-differences code is OK

Agreed, I am certainly not proposing anything which would cause in
such a combinatorial explosion!

It sounds like we are at very least aligned on the need to split up
the top level repo.  I'd be interested to hear your thoughts on the
best order / approach for this.

_______________________________________________
Crowbar mailing list
Crowbar@dell.com
https://lists.us.dell.com/mailman/listinfo/crowbar
For more information: http://crowbar.github.com/

Reply via email to