[csw-maintainers] experimental: subversion --> git, mercurial

Sebastian Kayser skayser at opencsw.org
Sun Jun 26 00:10:18 CEST 2011


* Ben Walton <bwalton at opencsw.org> wrote:
> Excerpts from rupert THURNER's message of Sat Jun 25 10:50:20 -0400 2011:
> > > mgar init (maybe re-init to help with svn -> git)
> > >
> > this seems not to work yet ...
> > 
> > rupert at login:~/git-ben
> > $ mgar init mercurial
> > -bash: mgar: command not found
> 
> There are two problems here.
> 
> 1. You likely don't have CSWmgar installed.

Just asked for it to be installed on the buildfarm, should be available
soon on the actual build hosts. On private boxes a simple 'pkgutil -i
mgar' against current/ should do. If anyone has any questions on mgar,
please let me know.

Basically, it's a wrapper around GAR to which you can feed the exact
same commands as to gmake plus some logic around it to populate and
manage the build tree (and only keep a single, central copy of a gar
branch while doing so). mgar init <path> will checkout the full build
tree (not only a single package) to <path>, thus in Rupert's example
above the result might not be as expected.

> 2. The mgar tool will need to learn how to checkout the git repo
>    instead of the svn repo.
> 
> It was a "hypothetically this would become."  Sebastian would have the
> best idea of how easy something like this would be to implement.

I'll think about it (and it should be fairly easy to implement), but can
we take one step back for a second? From what I understand, we have two
aspects, is that correct?

  1) move mgar/gar/ to git
  2) move mgar/pkg/* to git

The first item should be straight forward (and sort of behind the
scenes) in case we switch to mgar as the canonical build tool/interface.

The second one will need adjustments to gar itself (e.g. UNCOMMITTED
handling), some thought on whether to have a single repo or multiple
ones, and will imply a noticable change in terms of SCM for all
maintainers working with the pkg build repository.

Can I suggest to create a wikidot wiki page with a rationale and a brief
plan of actions (for both points) so that we can assemble a list of
things to consider?

> > > i created, as experiment, https://github.com/opencsw/mercurial,
> > and i tried to write a description which one could execute with the
> > existing buildserver installation.  would this be ok like this:
> > https://github.com/opencsw/gar/wiki/move-a-package-from-sourceforge.subversion-to-github.opencsw
> > ?
> 
> I don't have time for a full review now, but this would raise an
> interesting issue.  Currently we have one big repository for every
> package.  What you've detailed here would see a separate repository
> for each package description.  I can see pros and cons to this and
> will outline some of them later[1]

If a full repository (containing all build recipes) is reasonable fast
to work with, we might actually address the people who currently prefer
to work with individual package checkouts (cause the current full svn
checkout is too slow for them).

If not, we could consider to start using the OPENCSW_REPOSITORY info in
the packages to establish a central package-version to build recipe
location mapping db. Which can then e.g. be used by mgar to checkout a
single build recipe. Just thinking out loud.

Sebastian


More information about the maintainers mailing list