Ryan Phillips wrote:  [Sat Mar 25 2006, 01:47:51AM EST]
> It sounds to me like the overlays would benefit of using git/cogito.
> The Linux Kernel uses this DVCS to full affect. Pulling changes from
> other repositories, and even receiving email patches pushed from
> people not having their own official repository (or repository http
> or ssh accessible).  Any git checkout is a branch, so its easy to
> stay up to date with the mainline tree and still work on personal
> branches.

Most of the other DVCSs are easier to use than git, and just as
powerful or more.  IMHO git is used for Linux mostly because Linus
wrote it, rather than it being the best tool for the job.

I think any of mercurial, darcs or bazaar-ng is a better choice than
git.  Regarding cogito, I haven't looked at it in a while, but the
last time I did, it was underpowered and buggy.  AFAIK none of the
kernel developers use it, 'cause it doesn't hold up under serious use.

> We need to pick one VCS and only one.  Having multiple systems
> requires users to install multiple applications and learn each one.
> Not all of them are easy to pick up.  Plus, it would be nice to be
> able to merge from the overlays to the Portage trunk.

This would be pretty neat eventually, to switch portage itself over to
a DVCS so that all the overlays would simply be branches that could be
merged, etc.  At this point it would be biting off more than we can
chew, though...  Perhaps using various DVCS solutions for the overlays
might actually be a good testing ground for determining the successor
to cvs for the actual portage tree.

At any rate, I don't think it's necessary to limit ourselves to one.
You're right, developers will have to install multiple applications
and learn each one for the overlays they work on.  Probably it won't
be that many, though (overlays or applications) and r/o users will
likely just get an rsync'd copy instead of using the DVCS to access
the overlay (at least that's how I imagine it working...)

> I think git/cogito might be the solution.  It works for a highly
> distributed kernel development, which would be similar to the way
> the overlays would work.  Gentoo User A would checkout the kde
> overlay, make some changes, cg-commit them to their own overlay, and
> submit the patches upstream via an email requesting a pull, or
> emailing them patches directly with a git-mkmail command.

*shrug*  All possible with the other DVCSs, generally easier to use,
and harder to screw up your repo.

> An alternative to git would be using subversion.  
> 
> *** The main portage tree should be switched away from CVS. ***
> There are much better alternatives (svn or git) to use.

Have you followed the threads in the past regarding using other
version control systems for portage?  Some devs have done benchmarks
and found that there are blocking issues with subversion, particularly
because of its repo-wide revisions that prevent multiple commits from
happening simultaneously.

> CVS is our bottleneck when it comes to development and our users
> too.  What I see is that the overlays are trying to create branches,
> when they should not need to.  Making a PHP or Gnome v2000 overlay
> is ridiculous, since a branch is almost free using subversion.
> There are more advantages, like making sure the rest of the tree
> doesn't break, and when the branch is stable for package.mask or
> arch masking then merge the branch to trunk.  The main tree could
> live within subversion (or whatever VCS we choose) as a branch.  It
> would be easy to keep the branch up to date with trunk, and then
> merge the changes to the live branch.  Major changes to the tree
> need to be done in a branch where it should be done.
> 
> Overlays should be used only for small additions/changes/or tests.
> It feels like the overlays are already trying to create branches,
> when in fact, they would not have to if the main tree was _not_ in
> CVS.

I agree this sounds really nice and makes a lot of sense.  I think
that the overlay project is a step toward this, though, not a step
away.  The time isn't yet ripe for switching the portage tree to
different VCS.

> Comments?

I guess you asked... :-)

Aron

Attachment: pgps6qV9xEJa9.pgp
Description: PGP signature

Reply via email to