[gentoo-dev] Gentoo: State of the Union

2006-05-04 Thread Molle Bestefich

 Having a live tree requires people to be perfect.  People are not
 perfect and requiring it is ridiculous.  I love having commits in my
 local tree within the hour, but having a stable and unstable branch
 makes a lot of sense.

Does it?  How does having a stable and unstable branch differ from
having stable and unstable keywords?


Agreed.  That doesn't make sense.

Subversion has what is known as pre-commit hooks.
Using those it's very easy to:
* prevent (most or some) committers from designating ebuilds as stable
* allow committers to designate ebuilds as stable under a certain path only
* strictly limit a commiters access to a part of the tree

Slightly harder, but could be done too:
* deny commits if it breaks ebuild dependencies

If you want central control of what's happening in the repository,
Subversion seems like the way to go.


SVN requires at least 2x the tree size for storage on the local machine,


This is a feature, not a bug.
It allows you to keep operations local, fx. do a diff without being
online with the repository.


checkouts take something akin to an order of magnitude longer than CVS.


In the past Subversion performance was sub-par.  I haven't
systematically tested performance, but I would expect it to be much
better now.

Performance is gradually improved, see fx. r18867, r18944 and r19420:
http://svn.collab.net/viewvc/svn?view=revrevision=18867
http://svn.collab.net/viewvc/svn?view=revrevision=18944
http://svn.collab.net/viewvc/svn?view=revrevision=19420

GIT might perform better, since Linus specifically emphasized
non-O(n^2) performance in the design.  But being a decentralized tool,
I'm not sure how well it fits the needs here.


The former is annoying, but liveable, but
the latter is a deal-breaker.


I don't think so.  You really rarely do a complete checkout.


- No changeset/merge tracking


Solutions exist, including svnmerge and svk.
Official solution actively worked on at the moment, check out the
svn dev list.

A benefit of Subversion that I personally like is that FSFS
repositories are extremely easy to rsync.

--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-05-04 Thread Stuart Herbert

Quoting Molle Bestefich [EMAIL PROTECTED]:


Does it?  How does having a stable and unstable branch differ from
having stable and unstable keywords?


Agreed.  That doesn't make sense.


It does if you have a separate stable tree per-arch.  With the current  
tree design, it's too easy to break an arch that you've no intention  
of affecting.


However, if you have a separate tree per-arch, that tree can be tested  
and approved for release as a single unit.


From a SCM point of view, arches are a subset of the full Gentoo  
tree.  They would fit very well into a branching model - and  
Subversion's support for branching would make it a breeze for us to  
support without overloading the arch teams.



If you want central control of what's happening in the repository,
Subversion seems like the way to go.


Better to fix the design of the repository, so that it can't be broken  
in the first place, than to try putting band-aids in place to cover  
the gaps.



I don't think so.  You really rarely do a complete checkout.


I'd be interested to see some stats from our CVS logs to back that up.

Best regards,
Stu
--
Stuart Herbert [EMAIL PROTECTED]
Gentoo Developer  http://www.gentoo.org/
  http://blog.stuartherbert.com/

GnuGP key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319  C549 0C2F 80BA F9AF C57C
--



This message was sent using IMP, the Internet Messaging Program.


--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-05-04 Thread Chris Gianelloni
On Thu, 2006-05-04 at 11:44 +0100, Stuart Herbert wrote:
  From a SCM point of view, arches are a subset of the full Gentoo  
 tree.  They would fit very well into a branching model - and  
 Subversion's support for branching would make it a breeze for us to  
 support without overloading the arch teams.

Are you kidding me?  What about people that commit for multiple arches?
They're now going to have to do the same commit over $x number of trees?
How exactly will that not overload the arch teams?

The more I hear about all of these great features of qall of these
alternative SCM's, the more I think that somebody just has a hard-on for
getting rid of CVS and plans on doing it, no matter the cost to
efficiency and other developers.  No, I'm pointing to anyone in
particular.  It just seems that everyone wants to blame CVS for our
problems, when our problems are almost entirely cultural.

Seriously, if I were forced to commit to multiple trees, or branches, or
whatever, I'd simply leave the project since it would be such an
enormous waste of time.  I'm sure lots of others feel the same.  Our
version control system is supposed to be a tool to help us get our work
done, not a hindrance.

-- 
Chris Gianelloni
Release Engineering - Strategic Lead
x86 Architecture Team
Games - Developer
Gentoo Linux


signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Gentoo: State of the Union

2006-05-04 Thread Stuart Herbert

On 5/4/06, Chris Gianelloni [EMAIL PROTECTED] wrote:

On Thu, 2006-05-04 at 11:44 +0100, Stuart Herbert wrote:
  From a SCM point of view, arches are a subset of the full Gentoo
 tree.  They would fit very well into a branching model - and
 Subversion's support for branching would make it a breeze for us to
 support without overloading the arch teams.

Are you kidding me?  What about people that commit for multiple arches?
They're now going to have to do the same commit over $x number of trees?
How exactly will that not overload the arch teams?


Talking about an SVN perspective ... provided the trees live in a
single repository (which would make a lot of sense), it would be very
straightforward to provide a tool to copy a particular ebuild  its
files from an unstable tree simultaneously to the other trees.  The
difficulties with such a tool would be taking over the right files/
contents (something which is solveable), and what to do about signing
(where a distribtued system like Git probably makes much more sense
anyway).

Given such a tool, you could promote a version of a package to any
number of per-arch trees at the same time.


The more I hear about all of these great features of qall of these
alternative SCM's, the more I think that somebody just has a hard-on for
getting rid of CVS and plans on doing it, no matter the cost to
efficiency and other developers.


What we're talking about here is a step in the development cycle
commonly called 'integration', where something's taken from the
development bucket, put into the 'release' bucket, and tested to
ensure that it plays nice with everything else already in the
'release' bucket.  It should be listed in RUP, CMM, or whatever
development methodology you use locally in your day job.

Adopting this approach would be far more painful with CVS than with
(say) subversion.  Branch management in subversion is infinitely
easier than with CVS.

Best regards,
Stu

--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-05-04 Thread Thomas Cort
On Thu, 04 May 2006 11:44:18 +0100
Stuart Herbert [EMAIL PROTECTED] wrote:
 However, if you have a separate tree per-arch, that tree can be tested  
 and approved for release as a single unit.

How big would this tree be? Would it be every package? How will this make the 
arch teams' life easier and/or the users' experience better? I still fail to 
see how this will work any differently than what we have today. Today we have 
~arch, someone tests the package for stability on an arch system, and marks it 
stable. The tester is effectively integrating the package into a stable system. 
Maybe you could explain how the procedure might go with branches for getting a 
package from just put into the tree to ~arch to arch and what happens with 
version bumps.

~tcort


pgp4rW3LFoaWO.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-05-04 Thread Paul de Vrieze
On Thursday 04 May 2006 14:17, Stuart Herbert wrote:
 Talking about an SVN perspective ... provided the trees live in a
 single repository (which would make a lot of sense), it would be very
 straightforward to provide a tool to copy a particular ebuild  its
 files from an unstable tree simultaneously to the other trees.  The
 difficulties with such a tool would be taking over the right files/
 contents (something which is solveable), and what to do about signing
 (where a distribtued system like Git probably makes much more sense
 anyway).

The files content problem should be solved anyway. That way one could even 
make selfcontained ebuild packages including source. A way of 
distributing that would be more appropriate for external ebuilds.

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: [EMAIL PROTECTED]
Homepage: http://www.devrieze.net


pgpImatmLNLKQ.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-05-03 Thread Paul de Vrieze
On Sunday 30 April 2006 03:55, Lance Albertson wrote:

 Here's an idea I had tonight. Since we're going to be doing the Google
 SoC this summer, perhaps a great project would be having someone work
 on this migration (or at least do an unbiased test implementation). I'd
 be willing to provide an infra server for testing/development. I don't
 see much problem at least trying to work out all the details. I don't
 think infra will go with any change unless there is a clear, detailed
 migration plan with proper back-out plans also. The tree is the most
 important part of our distribution and I'm not going to let such a
 migration go by without proper planning and testing. After the test
 implementation is done and has been fully tested, perhaps the council
 could make the final decision if infra is happy with the
 implementation/migration details.

I think that is a good idea. It's a perfect google SoC project as it has a 
clear boundary. Limited prerequisite knowledge is required, and it is 
something we would really benefit from.

Paul

ps. Perhaps the SoC project could include fixing up the migration tools 
(for example including the hypothesis that all ebuilds for a package 
descend from eachother) and other coding necessary to make things work 
perfectly.

-- 
Paul de Vrieze
Gentoo Developer
Mail: [EMAIL PROTECTED]
Homepage: http://www.devrieze.net


pgpWMiUJy2oP0.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-05-03 Thread Christel Dahlskjaer
On Wed, 2006-05-03 at 11:43 +0200, Paul de Vrieze wrote:
 On Sunday 30 April 2006 03:55, Lance Albertson wrote:
 
  Here's an idea I had tonight. Since we're going to be doing the Google
  SoC this summer, perhaps a great project would be having someone work
  on this migration (or at least do an unbiased test implementation). I'd
  be willing to provide an infra server for testing/development. I don't
  see much problem at least trying to work out all the details. I don't
  think infra will go with any change unless there is a clear, detailed
  migration plan with proper back-out plans also. The tree is the most
  important part of our distribution and I'm not going to let such a
  migration go by without proper planning and testing. After the test
  implementation is done and has been fully tested, perhaps the council
  could make the final decision if infra is happy with the
  implementation/migration details.
 
 I think that is a good idea. It's a perfect google SoC project as it has a 
 clear boundary. Limited prerequisite knowledge is required, and it is 
 something we would really benefit from.
 
 Paul
 
 ps. Perhaps the SoC project could include fixing up the migration tools 
 (for example including the hypothesis that all ebuilds for a package 
 descend from eachother) and other coding necessary to make things work 
 perfectly.

Hiya, 

If one of you drop us a line of what you want included on the ideas
page, or pop into #gentoo-soc on irc.freenode.net we'll get it up
there. :)

Keep in mind, student applications close on the 8th of May, so the
sooner the better.

Christel


-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-05-02 Thread Paul de Vrieze
On Friday 28 April 2006 21:20, Grant Goodyear wrote:
 Ryan Phillips wrote: [Fri Apr 28 2006, 01:57:30PM CDT]

  I disagree.  The developers should make *all* the decisions.

 Originally, Gentoo was effectively a meritocracy.  It's now, in some
 respects, a republic.  If you want a democracy, feel free to draft a
 new metastructure proposal (feel free to name it something less
 awkward), and drum up support to get it voted upon.

  Bypass the council.  The council should be there only for when we get
  sued, and manage the money we make.

 For what it's worth, the Council does neither of those things.  That's
 what the Gentoo Foundation is for.

  Does anyone agree that having a council is too political?  I strongly
  believe it stifles gentoo.

 Do you have some specific examples of how you've seen the Council
 stifle Gentoo, or is it mainly just a general impression?


I generally agree with you. I've not seen the council stifle anything 
(except that it perhaps could have encouraged more). Any stifling is more 
because the large amount of inertia caused by the big amount of 
developers.

As for abolishing the quiz, I'm strongly opposed to that. The quiz is a 
hurdle that is there for a reason. Partly it shows determination. It also 
filters out those people who don't know when they don't know something. 
We have developer documentation for a reason. The quiz ensures that 
everyone knows that we have it.

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: [EMAIL PROTECTED]
Homepage: http://www.devrieze.net


pgppBZT3o6Cal.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-05-02 Thread Paul de Vrieze
On Saturday 29 April 2006 19:52, Donnie Berkholz wrote:
 Jan Kundrát wrote:
  Ryan Phillips wrote:
  Stable and unstable keywords are a hack on top of a version control
  system.  We wouldn't have them if gentoo used an SCM that supports
  true branches.  There would be no need.
 
  Umm, I'm not an ebuild dev, but how would users mix stable and
  unstable packages in such a case?

 They would probably have to check out two trees. But the two trees
 combined would likely be the same size as the single tree now, since a
 lot of packages have at least two ebuilds available, one ~arch and one
 stable.

 The real showstopper in my mind is that having a single ~arch and a
 single stable tree means you can't selectively stable things on
 different architectures at different times.

Agreed, the main advantage of a proper vcs would be that the ancestry 
between different ebuild versions would be visible. This would make it 
even possible to merge back working changes from a testing version to a 
stable version without gambling that it will work.

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: [EMAIL PROTECTED]
Homepage: http://www.devrieze.net


pgp4tFTO5NwuU.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-05-01 Thread Chris Bainbridge

On 30/04/06, Henrik Brix Andersen [EMAIL PROTECTED] wrote:

On Sun, Apr 30, 2006 at 12:50:45AM -0700, Donnie Berkholz wrote:
 While we're posting useful links, here's another one from the cairo
 project on switching from CVS to some distributed SCM:

All this talk about switching to a more powerful SCM I can understand
- but what would the purpose of switching the portage tree to a
distributed SCM be?


The main purpose that comes to mind is to help the groups working in
overlays (layman -L shows 28 current overlays; there may be more). It
should enable easier merging of trees, local tree management, sharing
experimental changes between devs without commiting to the main tree,
while still retaining the possibility of easily pushing changes back
to the main gentoo tree.

--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-05-01 Thread Stuart Herbert
On Mon, 2006-05-01 at 13:23 +0100, Chris Bainbridge wrote:
 The main purpose that comes to mind is to help the groups working in
 overlays (layman -L shows 28 current overlays; there may be more). It
 should enable easier merging of trees, local tree management, sharing
 experimental changes between devs without commiting to the main tree,
 while still retaining the possibility of easily pushing changes back
 to the main gentoo tree.

Hrm.  Don't we get that benefit only if the overlays switch over to
using the same distributed VCS that the main tree moves to?

Best regards,
Stu
-- 
Stuart Herbert [EMAIL PROTECTED]
Gentoo Developer  http://www.gentoo.org/
  http://blog.stuartherbert.com/

GnuGP key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319  C549 0C2F 80BA F9AF C57C
--



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] Gentoo: State of the Union

2006-05-01 Thread Donnie Berkholz

Stuart Herbert wrote:

Hrm.  Don't we get that benefit only if the overlays switch over to
using the same distributed VCS that the main tree moves to?


The short answer is yes.

The long answer is that it's much easier to interconvert histories 
between most DVCS's than to convert back and forth between file-based 
history systems like CVS. One could plausibly and sanely export any 
commits from their mercurial overlay into e.g. git (or whatever ends up 
happening), suitable for merging into the official tree.


Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-30 Thread Donnie Berkholz

Alexandre Buisse wrote:

The opensolaris project has done a similar thing[1].


While we're posting useful links, here's another one from the cairo 
project on switching from CVS to some distributed SCM:


http://lists.freedesktop.org/archives/cairo/2006-February/006255.html

Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-30 Thread Luca Barbato
Alexandre Buisse wrote:

 
 [1] http://mail.opensolaris.org/pipermail/tools-discuss/2006-April/000366.html
 [2] http://www.opensolaris.org/os/community/tools/scm/bzr-eval/
 [3] 
 http://www.opensolaris.org/os/community/tools/scm/dcm_evaluation_mercurial/
 [4] http://www.opensolaris.org/os/community/tools/scm/git-eval.txt
 


Those figures are slightly old, some of the issues are probably
addressed both on mercurial and git.

I'd say that both are nice and are probably a good solution.

if there is space and cpu I'd like to have someone playing with them and
send benchmark results.

Mercurial should use a bit less disk and git should be a little faster
and with better merge/conflict resolution features.

lu

-- 

Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero

-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-30 Thread Alec Warner
Luca Barbato wrote:
 Alexandre Buisse wrote:
 
 
[1] http://mail.opensolaris.org/pipermail/tools-discuss/2006-April/000366.html
[2] http://www.opensolaris.org/os/community/tools/scm/bzr-eval/
[3] 
http://www.opensolaris.org/os/community/tools/scm/dcm_evaluation_mercurial/
[4] http://www.opensolaris.org/os/community/tools/scm/git-eval.txt

 
 
 
 Those figures are slightly old, some of the issues are probably
 addressed both on mercurial and git.
 
 I'd say that both are nice and are probably a good solution.
 
 if there is space and cpu I'd like to have someone playing with them and
 send benchmark results.
 

I am currently working on this, I have a page under
proj/en/infrastructure where I am describing my efforts but I need a bit
more time to make it pretty ;)  Currently cvs2svn is almost done, and
git cvsimport is chugging along.  Not really a fan of bzr for us but we
use it for pkgcore, so I'll fire that up as well.

I haven't looked at mercurial but it is on the list ;)

-Alec Warner

 Mercurial should use a bit less disk and git should be a little faster
 and with better merge/conflict resolution features.
 
 lu
 
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-30 Thread Henrik Brix Andersen
On Sun, Apr 30, 2006 at 12:50:45AM -0700, Donnie Berkholz wrote:
 While we're posting useful links, here's another one from the cairo 
 project on switching from CVS to some distributed SCM:

All this talk about switching to a more powerful SCM I can understand
- but what would the purpose of switching the portage tree to a
distributed SCM be?

Regards,
Brix
-- 
Henrik Brix Andersen [EMAIL PROTECTED]
Gentoo Metadistribution | Mobile computing herd


pgpa08H1Uq7kt.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Jan Kundrát
Ryan Phillips wrote:
 Stable and unstable keywords are a hack on top of a version control
 system.  We wouldn't have them if gentoo used an SCM that supports true
 branches.  There would be no need.

Umm, I'm not an ebuild dev, but how would users mix stable and unstable
packages in such a case?

Cheers,
-jkt

-- 
cd /local/pub  more beer  /dev/mouth


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Dan Armak
On Friday 28 April 2006 20:14, Ryan Phillips wrote:
 __Problem: Live Tree__

 Having a live tree requires people to be perfect.  People are not perfect
 and requiring it is ridiculous.  I love having commits in my local tree
 within the hour, but having a stable and unstable branch makes a lot of
 sense.

 CVS doesn't do branching nor tags very well...

 __Problem: CVS__

 CVS is one of the worst application ever created.  The portage tree needs
 to move to subversion.  A lot of the problems within the project would be
 solved by using a better SCM system.  The previous problems regarding the
 Live Tree and Developer Growth would be solved, IMHO, by just switching. 
 Branches Work. Tags Work.  Reverts work.  Moves work.  I don't see any
 reason not to use it. It just plain works.

 Projects (gentoo/bsd, embedded, hardened) could choose to keep their own
 branches of the portage tree and merge with trunk as needed.  Projects
 could stick to traditional solutions like profiles if they so wished.

 Some will probably ask who will merge between branches.  We can do that
 easily ourselves.  If I think a package is good to go, then svn merge
 -r1123:1124 to the branch.

I'm very much in favor of moving to a new SCM, and I see how it could solve 
many problems. But I don't understand how it could remove the need for a live 
tree. Could you explain the new usage pattern you're suggesting here?

If there's no live tree (or live branch), then every commit has to be merged 
from the 'incoming' branch or trunk where it is originally committed to 
the 'outgoing' branch which is directly used by users, even for ~arch chages. 
Is that really what you mean?

And this becomes a lot worse if you want to replace (at least some) KEYWORDS 
with branches, and have to merge each change many times.

Meanwhile, if no-one is using trunk (or the 'incoming' branch) directly 
(because it's not live), what is the benefit of leaving commits there for a 
few hours? It won't help you find most problems.


Apart from having no live tree, though, I understand and like the model of 
having:
- 'Incoming' (sandbox) branches where non-dev affiliates, and new devs, commit 
things which are then reviewed by a full dev/mentor and merged into trunk.
- Branches replacing today's various overlays for devs (or projects, etc) and 
anyone else we might welcome on g.o infrastructure (given per-branch commit 
permissions).
- Short-lived branches to replace things that are today package.masked.
- Branches to replace various non-arch keywords and projects, like hardened 
stuff, some server/ultrastable tree proposals, ...

-- 
Dan Armak
Gentoo Linux developer (KDE)
Public GPG key: http://dev.gentoo.org/~danarmak/danarmak-gpg-public.key
Fingerprint: DD70 DBF9 E3D4 6CB9 2FDD  0069 508D 9143 8D5F 8951


pgp7hV8KLhwgg.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Dan Armak
On Friday 28 April 2006 23:42, Ryan Phillips wrote:
 svn
  + Atomic Commits
  + Merging/tagging/brancing is a simple copy operation
http://svnbook.red-bean.com/en/1.1/ch04.html
  + lots of benefits
http://svnbook.red-bean.com/nightly/en/svn.intro.features.html
there is more I'm sure people can come up with
  - 2x Drive space

- No changeset/merge tracking

If we have a lot of active branches and a lot of merging between them, 
changeset tracking could be a major plus. I've never used git but I've heard 
that it, and other distributed development-style SCMs, have changeset/merge 
tracking features that are really helpful. Could someone who's used them 
comment on this?

-- 
Dan Armak
Gentoo Linux developer (KDE)
Public GPG key: http://dev.gentoo.org/~danarmak/danarmak-gpg-public.key
Fingerprint: DD70 DBF9 E3D4 6CB9 2FDD  0069 508D 9143 8D5F 8951


pgpKK0WsRkHbd.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Fernando J. Pereda
On Sat, Apr 29, 2006 at 03:02:46PM +0300, Dan Armak wrote:
 On Friday 28 April 2006 23:42, Ryan Phillips wrote:
  svn
   + Atomic Commits
   + Merging/tagging/brancing is a simple copy operation
 http://svnbook.red-bean.com/en/1.1/ch04.html
   + lots of benefits
 http://svnbook.red-bean.com/nightly/en/svn.intro.features.html
 there is more I'm sure people can come up with
   - 2x Drive space
 
 - No changeset/merge tracking
 
 If we have a lot of active branches and a lot of merging between them, 
 changeset tracking could be a major plus. I've never used git but I've heard 
 that it, and other distributed development-style SCMs, have changeset/merge 
 tracking features that are really helpful. Could someone who's used them 
 comment on this?

Yes, Git tracks merges unless the merge is trivial (aka fast-forward).

When you merge branch 'a' into branch 'b' and 'b' is a strict subset of
'a' we call that a fast-forward, since there is no merge anywhere:

 o---o---o b
  \
   x---x---x a

If you merge 'a' into 'b' (git checkout b ; git pull . a) the result is:

 o---o---o---x---x---x a = b

However in the following case, a proper merge is required:

 o---o---o---#---# b
  \
   x---x---x a

'b' is not a strict subset of 'a' because the commits marked with # do
not exist in 'a', so the thing ends up being:

 o---o---o---#---#---@ b
  \ /
   x---x---x a

The commit marked with @ is a special comit called a 'merge'.

I hope that clarifies the merge tracking part.

However I don't know what do you mean with 'changeset tracking'.

Cheers,
Ferdy

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4


pgpeQGlULeJE4.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Dan Armak
On Saturday 29 April 2006 15:21, Fernando J. Pereda wrote:
 The commit marked with @ is a special comit called a 'merge'.
 I hope that clarifies the merge tracking part.
You just described what merging is. Svn can do that too with svn merge. But, 
if I merge changesets from branch A to B selectively, skipping some along the 
way, can I later ask git to:

- list the changesets remaining in A that I haven't merged to B yet? 
- list the branches, from a given list, which have/haven't merged a given 
changeset?

Those are things svn can't do.


 However I don't know what do you mean with 'changeset tracking'.

I didn't mean that 'changeset tracking' is different from 'merge tracking'.

-- 
Dan Armak
Gentoo Linux developer (KDE)
Public GPG key: http://dev.gentoo.org/~danarmak/danarmak-gpg-public.key
Fingerprint: DD70 DBF9 E3D4 6CB9 2FDD  0069 508D 9143 8D5F 8951


pgprs6FwXYu3W.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Fernando J. Pereda
On Sat, Apr 29, 2006 at 03:54:17PM +0300, Dan Armak wrote:
 On Saturday 29 April 2006 15:21, Fernando J. Pereda wrote:
  The commit marked with @ is a special comit called a 'merge'.
  I hope that clarifies the merge tracking part.
 You just described what merging is. Svn can do that too with svn merge. But, 
 if I merge changesets from branch A to B selectively, skipping some along the 
 way, can I later ask git to:
 
 - list the changesets remaining in A that I haven't merged to B yet? 

Yes, unless you used cherry-pick. You have to do *real* merges to be
able to do that.

 - list the branches, from a given list, which have/haven't merged a given 
 changeset?

It depends on how you merged the changesets, if you did it sanely, yes,
should be easy. If you used cherry-pick here and there I don't think so.

 I didn't mean that 'changeset tracking' is different from 'merge tracking'.

Ok.

- ferdy

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4


pgp5JAHZLyaXe.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Daniel Goller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


 
 What is interesting is that Source Mage Linux has already voted on a proposal
 similar to mine[2].  I truly think that making some changes in the gentoo 
 way
 would benefit us and make gentoo a truly better distribution.
 
 Ryan
 Gentoo Developer
 
 [1] http://article.gmane.org/gmane.linux.gentoo.devel/37599 
 [2] http://lists.ibiblio.org/pipermail/sm-discuss/2006-April/014069.html

I would really like to hear more on [2], get something like it going,
then we could all vote on the scm of choice this thread has succumb to.
Although switching away from cvs is one of the many topics of this mail
(and if you want a foundation for some of the others), it is not the
only one. I would like to hear more on changing how we vote (unless you
all really like how voting is done now, be it problem resolution or
technical innovation), more on developer growth (we should be an open
inviting community) and why you think stricter test make for better
developers, why you think harder tests would cut down more on the quick
in and out people.
I don't just mean to hear the hells nos also the hells yeahs,
especially those that are just reading and then thinking it.


Daniel
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEU20L/aM9DdBw91cRAkPxAKCNB10kVHzVF+okuTc7Pc1Ysuza5QCcCdZ8
cYBVs1j9tBce2wTlCF7x7Tg=
=WWf3
-END PGP SIGNATURE-
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Bryan Østergaard
On Fri, Apr 28, 2006 at 05:01:20PM -0500, Daniel Goller wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Thomas Cort wrote:
  On Fri, 28 Apr 2006 21:42:57 +0200
  Bryan Østergaard [EMAIL PROTECTED] wrote:
  So.. What can we do to improve things?
  
  I think that there should be some sort of organized way of connecting 
  potential mentors and potential recruits. There is a very enthusiastic user 
  who has been contributing great work to my overlay, but I cannot find 
  anyone to mentor him (I've e-mailed [EMAIL PROTECTED] as well as [EMAIL 
  PROTECTED] without much success). Maybe we should create a list of 
  developers who are willing to mentor new devs? It would make finding a 
  mentor much easier.
  
  ~tcort
 wait till you have your required months at gentoo, then you mentor him,
 if you truly like his work, tell him you have to wait before you can
 mentor him, iirc 6 months from joining?
Yup, 6 months as an ebuild developer is required before you can mentor
new ebuild developers.

In this case you might consider asking for a mentor on the gentoo-dev
mailinglist seeing as [EMAIL PROTECTED] and [EMAIL PROTECTED] have't been able 
to
find a mentor.

Regards,
Bryan Østergaard
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Jon Portnoy
On Sat, Apr 29, 2006 at 08:41:31AM -0500, Daniel Goller wrote:
 inviting community) and why you think stricter test make for better
 developers, why you think harder tests would cut down more on the quick
 in and out people.

Empirical evidence agrees.

Our current quiz practices have done a good job keeping out a lot of the 
incompetence that used to slip through before we took that approach.

Stricter tests make for more knowledgable developers and folks with a 
lack of commitment to Gentoo are usually not willing to tackle the 
learning curve.

As for whether or not we're inviting or not, anybody can contribute. 
They don't need to be @gentoo.org to do so. What we really need is to 
focus more on those outside contributions.

-- 
Jon Portnoy
avenj/irc.freenode.net
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Daniel Goller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jon Portnoy wrote:
 On Sat, Apr 29, 2006 at 08:41:31AM -0500, Daniel Goller wrote:
 inviting community) and why you think stricter test make for better
 developers, why you think harder tests would cut down more on the quick
 in and out people.
 
 Empirical evidence agrees.
 
 Our current quiz practices have done a good job keeping out a lot of the 
 incompetence that used to slip through before we took that approach.
 
 Stricter tests make for more knowledgable developers and folks with a 
 lack of commitment to Gentoo are usually not willing to tackle the 
 learning curve.
 
 As for whether or not we're inviting or not, anybody can contribute. 
 They don't need to be @gentoo.org to do so. What we really need is to 
 focus more on those outside contributions.
 

so that is where this is all coming from, who said that we should hand
out @gentoo.org ? i never said that, they don't need it, and everyone
gets to feel all special about the @gentoo.org the way they are used to,
a committing contributor does not require a @gentoo.org


and unless you give them a general aptitude and attitude test, you do
not know a thing about the person who answered a few technical questions
(more)

Daniel
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEU3pZ/aM9DdBw91cRArKPAKCCr/9TYUc+VTqldUueqXN5RRCUWgCfbSH8
5QfB8r0xd2qAr018yFICd9o=
=aMhC
-END PGP SIGNATURE-
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Bryan Østergaard
On Fri, Apr 28, 2006 at 08:05:06PM -0500, Daniel Goller wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Simon Stelling wrote:
  Hi Ryan,
  
  Ryan Phillips wrote:
  I believe the way Gentoo is doing things is broken.  There I have said
  it.  The
  entire project has reached a level of being too political and trying
  to solve
  certain problems in the wrong way.
  
  I think it actually works quite well. Yes, there is space for
  improvement, like always, but the situation is at least not bad.
 
 how do you call it then if the entities in place make a decision, after
 some long winded strange tribunal, and when they made a decision, people
 ask hey where is my vote?, i am not after devrel, what i am saying is,
 noone appreciates their work it seems, so why couldn't they leave the
 decision making to a developer vote, with the saved time, they could go
 on and do something they enjoy/have fun with (those of you in devrel who
 enjoy your devrel work (wrt to conflict resolution) i am glad you do, i
 just don't think many at devrel enjoy hearing they are wrong no matter
 how they decide)
 the people affected by the vote could accept a developer vote much
 easier than a devrel decision
 
  
  __Problem: Developer Growth__
 
  I find that developer growth as being a problem.  Adding a developer
  to gentoo
  should be as easy as 1. has the user contributed numerous (~5+)
  patches that
  helps the project move forward.  If yes, then commit access should be
  given.
  Adding a developer is usually quite a chore.  There are numerous
  reasons why
  this is a problem: having a live tree, taking a test, and not defining
  within
  policy when a person could possibly get commit access. 
  
  I can only speak for me here, but the quiz wasn't a barrier at all to
  me. Instead, it was an interesting way to make sure that I get familiar
  with all the stuff I have to. I found it a much better way to answer
  questions about a topic where you have to find the answers than just
  reading through tons of docs, not knowing whether something is important
  to you or completely unrelated.
  
 and we also have lost developers that projects were eager to get on the
 team, from what i recall over the developer questioning why an official
 quiz must be answered by finding things in unofficial docs in dev spaces
 no, that is not hard, but the question was valid, and with the whole
 process allowing all of gentoo to make this possible or not, a developer
 should be put in place by the leads of that project, at the project
 leads discretion, they know the people they plan on hiring much better
 than we know most people in our AT program, ATs have been turned into
 devs after a very short time, the quiz is a silly hurdle if it gages
 your ability to google, not your ability to write ebuilds
You're probably able to answer the quiz questions correctly by googling
(that's on of the goals as we don't want every new developer reading
through all the portage code..) but you're not going to become a
developer that way. After having the quiz answers approved by your
mentor you'll have to talk to your recruiter who'll gauge whether or not
to add you as a new developer. As part of that we're asking additional
questions (usually both technical and organisational questions). I
sometimes think of this as a very condensed form of super mentoring as
it also very much helps prepare new developers getting their commit
access.

I often ask new people that I recruit if they think I'm being too hard
on them (after approving them as new devs). So far they've all said it
was very good and that they learned some important things that way. This
is of course a very informal survey but I think it shows that new
developers (in general) don't think the process is too hard.
 
  Besides that, I think the tree is far too worthy to give it away after 5
  patches. Just because I fixed a bunch of compiling errors, that doesn't
  mean I know how to fix ebuilds. Just because I wrote a few ebuilds, that
  doesn't mean I understand how eclasses work, which ones to use where and
  what profile.bashrc is good for.
 
 we are too possessive, if you give out access to a non-live tree, and
 you see the commits were not fit for merging, and the person in question
 does not learn from advise given, the person does not have to keep
 commit access, but it would be nice to be more inviting than to keep our
 high and mighty attitude, we are not so different from our users, many
 of which are far better than we are, we just passed some strange test
 you can pass by cut paste or paraphrasing from the right docs, you can
 do that w/o even knowing what you talk about
 
You're wrong, see above :)
  
  I've seen ebuilds from people who have written quite a bunch of ebuilds
  and were really interested in understanding how they work, but the work
  they produced just was awful and hurt my eyes. I don't mean that the
  mean way, I don't expect anything else, and I was just the 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Jon Portnoy
On Sat, Apr 29, 2006 at 09:38:17AM -0500, Daniel Goller wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Jon Portnoy wrote:
  On Sat, Apr 29, 2006 at 08:41:31AM -0500, Daniel Goller wrote:
  inviting community) and why you think stricter test make for better
  developers, why you think harder tests would cut down more on the quick
  in and out people.
  
  Empirical evidence agrees.
  
  Our current quiz practices have done a good job keeping out a lot of the 
  incompetence that used to slip through before we took that approach.
  
  Stricter tests make for more knowledgable developers and folks with a 
  lack of commitment to Gentoo are usually not willing to tackle the 
  learning curve.
  
  As for whether or not we're inviting or not, anybody can contribute. 
  They don't need to be @gentoo.org to do so. What we really need is to 
  focus more on those outside contributions.
  
 
 so that is where this is all coming from, who said that we should hand
 out @gentoo.org ? i never said that, they don't need it, and everyone
 gets to feel all special about the @gentoo.org the way they are used to,
 a committing contributor does not require a @gentoo.org

 
That's called a figure of speech -- I was not literally referring to 
the email address but rather Gentoo developer status. Sorry for being 
unclear.

My point was more that commit access is not a prerequisite to 
contribute.

 
 and unless you give them a general aptitude and attitude test, you do
 not know a thing about the person who answered a few technical questions
 (more)
 

Sure you do. You know whether they know what they're doing in the tree.

-- 
Jon Portnoy
avenj/irc.freenode.net
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Donnie Berkholz

Jan Kundrát wrote:

Ryan Phillips wrote:

Stable and unstable keywords are a hack on top of a version control
system.  We wouldn't have them if gentoo used an SCM that supports true
branches.  There would be no need.


Umm, I'm not an ebuild dev, but how would users mix stable and unstable
packages in such a case?


They would probably have to check out two trees. But the two trees 
combined would likely be the same size as the single tree now, since a 
lot of packages have at least two ebuilds available, one ~arch and one 
stable.


The real showstopper in my mind is that having a single ~arch and a 
single stable tree means you can't selectively stable things on 
different architectures at different times.


Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-04-29 Thread Stuart Herbert
Hi Ryan,

I hope you find these comments useful.

On Fri, 2006-04-28 at 10:14 -0700, Ryan Phillips wrote:
 __Problem: Developer Growth__
 
 Why do people have to take a test?  

There are certain skills we need a developer to demonstrate before we
can give them commit access.  There is currently no opportunity for a
would-be-developer to demonstrate all of those skills before they get
commit access.

This is where working in overlays has helped some groups.  It gives
would-be-devs an opportunity to learn and develop the skills they would
need to become Gentoo developers.

But I don't see overlays as a replacement for our tests ... they're only
a training ground to help get people ready to take the tests.

The magic thing about Gentoo is that everything finds its own level.
That's our secret formula.  If an area of working with Linux is
important enough to enough people, Gentoo becomes strong in that area,
and its weaknesses reflect where something simply isn't important enough
for people to make an effort.  It's a beautiful thing when it works.

It's also the thing that puts a lot of people off.  Many people fear
uncertainty.  They need to exist within a plan or some sort of structure
in order to be able to function.  Our approach is uncertainty in motion.
Your only guarantee is what rsync delivered this morning.  

The master plan is simply to deliver what $UPSTREAM invents, as close to
what $UPSTREAM intended as possible.  That's a different world to what
most people know, and it's a message we do a piss poor job of
communicating to anyone and everyone.

 __Problem: Live Tree__
 
 Having a live tree requires people to be perfect.  People are not perfect and
 requiring it is ridiculous.  I love having commits in my local tree within the
 hour, but having a stable and unstable branch makes a lot of sense.  

We have one live tree that is trying to be all things to all people.
It's a development tree (package.mask), it's a testing tree (~arch),
it's a production tree (one tree per arch).  The tree isn't robust or
resilient - one mistake intended for the development tree can break the
other two trees.

Splitting up the tree into two - development/testing  arch trees -
would be the sensible thing to do.  The counter argument here is that
the arch trees would wither and die, because all the fun would be
happening in the other trees.  I don't buy that for an instant.  Simply
make the arch trees the default on the install media, and 80% of the
userbase will never even notice that the other tree even exists.

 __Problem: CVS__
 
 CVS is one of the worst application ever created.  

Hear, hear.

I'd like to see a move to Subversion made a priority for 2006.  If there
are problems with Subversion's performance with our tree, engage with
its authors to obtain improvements.  But get it done.

 __Problem: QA Policies__ 
 
 http://article.gmane.org/gmane.linux.gentoo.devel/37544
 
 It seems that the QA Policies are a product of a Live Tree, and going 
 partially
 non-live would solve the problems listed. 

I can see the point, but I don't agree.  

Those behind that proposal mean well, but I personally feel that their
focus isn't where it will do the most good.  The proposals that Mark has
posted on -dev are for a reactive, enforcement-first team that's focused
on applying coding standards across all our packages.  A proactive,
education-led team that's focused on finding out what's actually hurting
our users will deliver more benefit to Gentoo in a shorter period of
time.  Give a man a fish, and you feed him for a day.  Teach him how to
fish, and you feed him for a lifetime.  It's not hokum.

 Conflict resolution should not be a subproject.  It should *not* exist at all.
 Rules need to be in place to avoid conflict.  Having some sort of voting
 structure for all the developers (this doesn't mean requiring everyone to 
 vote)
 and not just the council or devrel makes a lot of sense for most things.  If I
 don't like how someone is acting within the project there should be a vote and
 then see if that person is kicked out.  No trial, no anything besides a vote.
 And if I lose I have to deal with it.  Either stay with the project, or find
 something else.  This solution just works.

Man is a political animal, and this sort of voting structure I find too
simplistic and too naive.  How does it cope with the malicious dev who
takes every opportunity to slander another one behind their back?  If
you tell someone something often enough, people accept it as the truth -
even if it's a lie.  And people are lazy.  They'll take information from
someone they trust, and not take the trouble to learn whether or not
that information is true.  That's why advertising works :)

In any organisation, you have to have key people who understand what the
organisation is about, and who police it to get rid of those people who
from the inside are subverting and attacking the organisation's culture.
An organisation's culture is it's immune 

Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-04-29 Thread Tim Yamin
On Sat, Apr 29, 2006 at 10:33:11PM +0100, Stuart Herbert wrote:
  __Problem: Developer Growth__
  
  Why do people have to take a test?  
 
 There are certain skills we need a developer to demonstrate before we
 can give them commit access.  There is currently no opportunity for a
 would-be-developer to demonstrate all of those skills before they get
 commit access.

That and the test is standardized: the range of questions it asks
people should know the answer to. That's why we have recruiters and
don't give out access to anybody...

 But I don't see overlays as a replacement for our tests ... they're only
 a training ground to help get people ready to take the tests.

+1

 The magic thing about Gentoo is that everything finds its own level.
 That's our secret formula.  If an area of working with Linux is
 important enough to enough people, Gentoo becomes strong in that area,
 and its weaknesses reflect where something simply isn't important enough
 for people to make an effort.  It's a beautiful thing when it works.

That's the beauty of community-based distros -- with a commercial distro
you can just wave cash and most of the time, things get done. We can't
do that but sooner or later somebody who has the necessary skills to fix
the problems starts shouting and problems do get fixed.

 It's also the thing that puts a lot of people off.  Many people fear
 uncertainty.  They need to exist within a plan or some sort of structure
 in order to be able to function.  Our approach is uncertainty in motion.
 Your only guarantee is what rsync delivered this morning.

Yeah, and this is the problem we need to solve to get more corporate
adoption.

 The master plan is simply to deliver what $UPSTREAM invents, as close to
 what $UPSTREAM intended as possible.  That's a different world to what
 most people know, and it's a message we do a piss poor job of
 communicating to anyone and everyone.

Yeah, I think Gentoo's only real PR to users is Here you go, try it.
Those that do soon find out a lot of things just work which is exactly
what people want.

 Splitting up the tree into two - development/testing  arch trees -
 would be the sensible thing to do.  The counter argument here is that
 the arch trees would wither and die, because all the fun would be
 happening in the other trees.  I don't buy that for an instant.  Simply
 make the arch trees the default on the install media, and 80% of the
 userbase will never even notice that the other tree even exists.

I don't think this will work. Your major problem is going to be merging
changes from users working on the arch trees to the dev trees and vice-
versa... users would (unknowingly) work on the arch trees (possibly on
some pretty serious changes) and then be told none of them apply any
longer. The advantage of one tree is that development is streamlined and
is always going in one direction - forward. With large branching this is
still doable. But it needs time and more importantly people and also the
motivation to do the job. And that usually means $$$.

 Those behind that proposal mean well, but I personally feel that their
 focus isn't where it will do the most good.  The proposals that Mark has
 posted on -dev are for a reactive, enforcement-first team that's focused
 on applying coding standards across all our packages.  A proactive,
 education-led team that's focused on finding out what's actually hurting
 our users will deliver more benefit to Gentoo in a shorter period of
 time.  Give a man a fish, and you feed him for a day.  Teach him how to
 fish, and you feed him for a lifetime.  It's not hokum.

I think that's the underlying idea -- if developers aren't up to scratch
the QA team would notice this pretty quickly and teach the man how to
fish the proper way.

 Man is a political animal, and this sort of voting structure I find too
 simplistic and too naive.  How does it cope with the malicious dev who
 takes every opportunity to slander another one behind their back?  If
 you tell someone something often enough, people accept it as the truth -
 even if it's a lie.  And people are lazy.  They'll take information from
 someone they trust, and not take the trouble to learn whether or not
 that information is true.  That's why advertising works :)

+1

 In any walk of life, it's a sad but true fact that most of the staff in
 most organisations do not get what the organisation is, and what its
 culture is, to the extent that they can be trusted to preserve it
 without assistance.  Every one of us has a unique perspective on the
 world, and no two of us have an identical perspective.

In one aspect that's what makes Gentoo work. Somebody comes along with
a product/idea and somebody else comes along with can I make it flexible
enough to also do X, Y and Z? [Look at catalyst, for example]
 
 Gentoo should be a fun environment.  I don't see how turning it into a
 popularity contest brings back the fun.

+1. Things generally do need a management structure. I think 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Donnie Berkholz

Alexandre Buisse wrote:

The opensolaris project has done a similar thing[1]. The three finalists
were bazaar[2], mercurial[3] and git[4], and the winner was eventually
mercurial. This is also the recommended choice from the EuroBSDcon
slides, so definitely something to consider.


Indeed, although EuroBSDcon didn't even analyze git, just mentioned it 
in passing. It also seems that we have a fair lack of expertise relating 
to it, but there has been no shortage of contributions about subversion 
and git, at least.


The problem I had with the opensolaris testing is that they didn't seem 
to do any direct comparisons between the SCMs -- they were all isolated 
and based on a requirements doc. This makes it difficult to easily 
figure out how they balance out.


There have been a fair number of changes since the version of git 
analyzed in the opensolaris testing (1.2.2).


Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-04-29 Thread Lance Albertson
Stuart Herbert wrote:

 __Problem: CVS__

 CVS is one of the worst application ever created.  
 
 Hear, hear.
 
 I'd like to see a move to Subversion made a priority for 2006.  If there
 are problems with Subversion's performance with our tree, engage with
 its authors to obtain improvements.  But get it done.

/me puts on his admin hat

Its going to be a bitch to switch to anything and it would be great to
have some quantitative (unbiased) proof that such a move will add enough
benefit for developers and Gentoo to be worth it. Truthfully, I don't
know much about the other VC's out there (git, subversion, etc). But
from what I do know, I would say that subversion has the best bet to be
our preferred replacement.

/me puts on his dev hat

From what I've heard, subversion offers the best features and
flexibility of the other VC's out there. Granted git has some nice
features too, but I'd have to evaluate what we really need.

/me puts on his neutral hat

Subversion would be the best bet now because of viewcvs (now viewvc)
support for it. Changing version control software is going to take a
*bunch* of work. Things I can think of off the top of my head that will
need work will be:

 * repoman support
 * portage regen tools on the master mirror
 * developer documentation
 * developer training (amazing concept!)
 * massive testing of all issues

Here's an idea I had tonight. Since we're going to be doing the Google
SoC this summer, perhaps a great project would be having someone work on
this migration (or at least do an unbiased test implementation). I'd be
willing to provide an infra server for testing/development. I don't see
much problem at least trying to work out all the details. I don't think
infra will go with any change unless there is a clear, detailed
migration plan with proper back-out plans also. The tree is the most
important part of our distribution and I'm not going to let such a
migration go by without proper planning and testing. After the test
implementation is done and has been fully tested, perhaps the council
could make the final decision if infra is happy with the
implementation/migration details.

I'm sure there are going to be unseen issues we won't know about until
we try a migration. It would be neat if I could provide a developer
restricted rsync module on the test box so that they can actually try
using their systems on there.

Anyways, I'd just thought I'd give my input since its going to need to
go through us eventually :). If people like the idea of having a SoC
project for this, let me know and I'll have user-rel add that to the list.

Cheers-

-- 
Lance Albertson [EMAIL PROTECTED]
Gentoo Infrastructure | Operations Manager

---
GPG Public Key:  http://www.ramereth.net/lance.asc
Key fingerprint: 0423 92F3 544A 1282 5AB1  4D07 416F A15D 27F4 B742

ramereth/irc.freenode.net



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-04-29 Thread Renat Lumpau
On Sat, Apr 29, 2006 at 08:55:52PM -0500, Lance Albertson wrote:
 Stuart Herbert wrote:
 
  __Problem: CVS__
 
  CVS is one of the worst application ever created.  
  
  Hear, hear.
  
  I'd like to see a move to Subversion made a priority for 2006.  If there
  are problems with Subversion's performance with our tree, engage with
  its authors to obtain improvements.  But get it done.
 
 Here's an idea I had tonight. Since we're going to be doing the Google
 SoC this summer, perhaps a great project would be having someone work on
 this migration (or at least do an unbiased test implementation). I'd be
 willing to provide an infra server for testing/development. I don't see
 much problem at least trying to work out all the details. I don't think
 infra will go with any change unless there is a clear, detailed
 migration plan with proper back-out plans also. The tree is the most
 important part of our distribution and I'm not going to let such a
 migration go by without proper planning and testing. After the test
 implementation is done and has been fully tested, perhaps the council
 could make the final decision if infra is happy with the
 implementation/migration details.

It looks like if/when implemented, GLEP 44 (Manifest2) will significantly reduce
the number of small files in the tree. Whoever ends up doing the initial
benchmarking and testing should probably keep this in mind.

-- 
Renat Lumpau   all things web-apps
C6A838DA   04AF B5EE 17CB 1000 DDA5  D3FC 1338 ADC2 C6A8 38DA
America - land of the free*
*Void where prohibited, restrictions apply. Cash value 1/100c.


pgpEJg1nREPxX.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-29 Thread Greg KH
On Sat, Apr 29, 2006 at 05:00:10PM -0700, Donnie Berkholz wrote:
 Alexandre Buisse wrote:
 The opensolaris project has done a similar thing[1]. The three finalists
 were bazaar[2], mercurial[3] and git[4], and the winner was eventually
 mercurial. This is also the recommended choice from the EuroBSDcon
 slides, so definitely something to consider.
 
 Indeed, although EuroBSDcon didn't even analyze git, just mentioned it 
 in passing. It also seems that we have a fair lack of expertise relating 
 to it, but there has been no shortage of contributions about subversion 
 and git, at least.

I think we have a pretty good bit of expertise with using git here :)

I use it from everything from storing config files, my mbox archive,
papers and articles, and yes, Linux kernel development.

And I've been playing around with the tools that Keith Packard used to
convert the X project, as well as having the advantage of talking at
length with him all about the issues that they had in converting over.

git is the most under-sold tool out there today.  It is by far, the most
powerful and flexible source code control tool ever made, and I've used
just about every one out there before.  It's not something that I say
lightly.

That being said, is it right for us?  Who knows, as no one has really
said what they want to do with a different SCM.

 The problem I had with the opensolaris testing is that they didn't seem 
 to do any direct comparisons between the SCMs -- they were all isolated 
 and based on a requirements doc. This makes it difficult to easily 
 figure out how they balance out.

I agree, but who really cares about opensolaris anyway :)

thanks,

greg k-h
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union + suggestion for global dev conference (at bottom, if you want to skip)

2006-04-29 Thread Ryan Phillips
Stuart Herbert wrote:

 I'm offering to lead the effort to establish a global Gentoo developer
 conference, and to do whatever it takes to get everything we need to
 make this happen.  Now who's up for this? :)

 Best regards,
 Stu
   

That sounds like a great idea.

-Ryan
-- 
gentoo-dev@gentoo.org mailing list



[gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
This is a follow up to Mark's (halcy0n's) thread regarding QA Policies and
seemant's letter on herds, teams, and projects.

I believe the way Gentoo is doing things is broken.  There I have said it.  The
entire project has reached a level of being too political and trying to solve
certain problems in the wrong way.

Some of these problems are intermixed.  Please consider them starting points
for discussion.

__Problem: Developer Growth__

I find that developer growth as being a problem.  Adding a developer to gentoo
should be as easy as 1. has the user contributed numerous (~5+) patches that
helps the project move forward.  If yes, then commit access should be given.
Adding a developer is usually quite a chore.  There are numerous reasons why
this is a problem: having a live tree, taking a test, and not defining within
policy when a person could possibly get commit access. 

All these reasons leave the project stagnant and lacking developers.

Why do people have to take a test?  Is it to make sure they won't break the
tree?  If it is, then the solution of a test is wrong.  We do want to make sure
our developers understand gentoo, but I argue that the bugtracker is all we
need.  As long as a person is adding value to gentoo and they have proven
themselves, then they *should* have commit access. 

Perhaps its because of a live tree...

__Problem: Live Tree__

Having a live tree requires people to be perfect.  People are not perfect and
requiring it is ridiculous.  I love having commits in my local tree within the
hour, but having a stable and unstable branch makes a lot of sense.  

CVS doesn't do branching nor tags very well... 

__Problem: CVS__

CVS is one of the worst application ever created.  The portage tree needs to
move to subversion.  A lot of the problems within the project would be solved
by using a better SCM system.  The previous problems regarding the Live Tree
and Developer Growth would be solved, IMHO, by just switching.  Branches Work.
Tags Work.  Reverts work.  Moves work.  I don't see any reason not to use it.
It just plain works.

Projects (gentoo/bsd, embedded, hardened) could choose to keep their own
branches of the portage tree and merge with trunk as needed.  Projects could
stick to traditional solutions like profiles if they so wished. 

Some will probably ask who will merge between branches.  We can do that easily
ourselves.  If I think a package is good to go, then svn merge -r1123:1124 to
the branch. 

Huge projects like Apache, GCC, and KDE already use SVN.

__Problem: QA Policies__ 

http://article.gmane.org/gmane.linux.gentoo.devel/37544

It seems that the QA Policies are a product of a Live Tree, and going partially
non-live would solve the problems listed. 

Everyone here is on the same team.  There will be some breakages in the tree
and those can be dealt with.  Like Seemant [1] said, herds are just groups of
like *packages*.  The QA Policy is wrong when it says cross-team assistance; we
are all on the *same* team.  The tree should naturally work.  If it doesn't
then that is a bug for all of us.

Conflict resolution should not be a subproject.  It should *not* exist at all.
Rules need to be in place to avoid conflict.  Having some sort of voting
structure for all the developers (this doesn't mean requiring everyone to vote)
and not just the council or devrel makes a lot of sense for most things.  If I
don't like how someone is acting within the project there should be a vote and
then see if that person is kicked out.  No trial, no anything besides a vote.
And if I lose I have to deal with it.  Either stay with the project, or find
something else.  This solution just works.

Gentoo should be a fun environment.  The previous paragraph should be taken as
a last resort.

__Problem: GLEPs__

I dislike GLEPs.  Usually they sit on the website for a long long time not
doing anything.  My vote (+1) is get rid of gleps and do everything by email
and a vote by the developers.  AFAIK, the board votes on the GLEPs.  Bad Idea.
It stifles things from getting done, and there is no ownership of who is going
to implement the idea.

A new idea proposal should be mailed to a mailinglist (-innovation?) with
details of timeline to completion, impact, and who is doing the implementation.
If it sounds like a good one, then there is a vote and things proceed.  I like
progress.

__Problem: Voting__

Gentoo has over 200 developers.  People are generally against the voting idea,
but I'm not sure why.  I think voting should work like this:  if 30 developers
(or someother specified number) vote yes to an idea then that idea passes.  It
doesn't require everyone to vote, be at home, be on the computer, and not be on
vacation.

The Apache Foundation already has a decent page regarding this:
http://www.apache.org/foundation/voting.html

The Apache Foundation has over 1300 developers; they must be doing something
right.

If someone misses a vote, too bad.  You weren't there and progress has been
made.  I 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Alec Warner
Ryan Phillips wrote:
 This is a follow up to Mark's (halcy0n's) thread regarding QA Policies and
 seemant's letter on herds, teams, and projects.
 
 I believe the way Gentoo is doing things is broken.  There I have said it.  
 The
 entire project has reached a level of being too political and trying to solve
 certain problems in the wrong way.
 
 Some of these problems are intermixed.  Please consider them starting points
 for discussion.
 
 __Problem: Developer Growth__
 
 I find that developer growth as being a problem.  Adding a developer to gentoo
 should be as easy as 1. has the user contributed numerous (~5+) patches that
 helps the project move forward.  If yes, then commit access should be given.
 Adding a developer is usually quite a chore.  There are numerous reasons why
 this is a problem: having a live tree, taking a test, and not defining within
 policy when a person could possibly get commit access. 
 
 All these reasons leave the project stagnant and lacking developers.
 
 Why do people have to take a test?  Is it to make sure they won't break the
 tree?  If it is, then the solution of a test is wrong.  We do want to make 
 sure
 our developers understand gentoo, but I argue that the bugtracker is all we
 need.  As long as a person is adding value to gentoo and they have proven
 themselves, then they *should* have commit access. 
 
 Perhaps its because of a live tree...
 

I am relatively new, I lurked for quite some time on IRC ( a yearish )
before finally becoming a dev, and the quiz was not particularly
difficult, and the questions I didn't know, I asked my Mentor about.  I
think Mentors in general don't do a very good job ( not complaining
about mine, mind, just in general ).  I think in some cases, people are
afraid to ask questions.

We have the madly successful AT project, and a new Herd Tester project
is in the works.  I find both of these to be very good ideas and have
aided in developer growth.

As for your suggestion, with a Live Tree you cannot give random users
who contribute 5 patches commit access.  Commiting comes with it an
inherit responsibility.  The following is an example only:

I can go in right now and commit something that destroys anyone's box
not running SElinux, just bump portage and then watch anyone that uses
the new version destroy their machine.  Part of this involves having a
reputation based system.  IMHO this is part of our own tree security.
I have worked hard in the community to become a developer, and throwing
that all away to ruin some boxes is silly.  Sure once my changes are
found they can be revert and a new portage thrown into the tree, but how
many boxes were ruined first?  What if my commit was unintentional?

 __Problem: Live Tree__
 
 Having a live tree requires people to be perfect.  People are not perfect and
 requiring it is ridiculous.  I love having commits in my local tree within the
 hour, but having a stable and unstable branch makes a lot of sense.  
 
 CVS doesn't do branching nor tags very well... 

More details on how Branches and Tags solve the Live Tree problem would
be good.

 
 __Problem: CVS__
 
 CVS is one of the worst application ever created.  The portage tree needs to
 move to subversion.  A lot of the problems within the project would be solved
 by using a better SCM system.  The previous problems regarding the Live Tree
 and Developer Growth would be solved, IMHO, by just switching.  Branches Work.
 Tags Work.  Reverts work.  Moves work.  I don't see any reason not to use it.
 It just plain works.
 
 Projects (gentoo/bsd, embedded, hardened) could choose to keep their own
 branches of the portage tree and merge with trunk as needed.  Projects could
 stick to traditional solutions like profiles if they so wished. 
 
 Some will probably ask who will merge between branches.  We can do that easily
 ourselves.  If I think a package is good to go, then svn merge -r1123:1124 to
 the branch. 
 
 Huge projects like Apache, GCC, and KDE already use SVN.

We have people looking into this.  Once more testing is done it will
probably be proposed in an official capacity, for now I think a test svn
with the whole tree plus tools porting from cvs to svn is the priority.

 
 __Problem: QA Policies__ 
 
 http://article.gmane.org/gmane.linux.gentoo.devel/37544
 
 It seems that the QA Policies are a product of a Live Tree, and going 
 partially
 non-live would solve the problems listed. 
 
 Everyone here is on the same team.  There will be some breakages in the tree
 and those can be dealt with.  Like Seemant [1] said, herds are just groups of
 like *packages*.  The QA Policy is wrong when it says cross-team assistance; 
 we
 are all on the *same* team.  The tree should naturally work.  If it doesn't
 then that is a bug for all of us.
 
 Conflict resolution should not be a subproject.  It should *not* exist at all.
 Rules need to be in place to avoid conflict.  Having some sort of voting
 structure for all the developers (this doesn't mean 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Jon Portnoy
On Fri, Apr 28, 2006 at 10:14:53AM -0700, Ryan Phillips wrote:
 
 I find that developer growth as being a problem.  Adding a developer to gentoo
 should be as easy as 1. has the user contributed numerous (~5+) patches that
 helps the project move forward.  If yes, then commit access should be given.
 Adding a developer is usually quite a chore.  There are numerous reasons why
 this is a problem: having a live tree, taking a test, and not defining within
 policy when a person could possibly get commit access. 
 
 All these reasons leave the project stagnant and lacking developers.
 

Maybe certain projects are (and maybe there are a lot of undermaintained 
packages) but overall I would say we are not really lacking developers; 
what areas would you say we're lacking devs in exactly?

The recruitment process should be tightened further to ensure we have a 
solid, educated dev base. This isn't about shutting people out, it's 
about ensuring that anyone with commit access is well-versed in how we 
do things.

 Why do people have to take a test?  Is it to make sure they won't break the
 tree?  If it is, then the solution of a test is wrong.  We do want to make 
 sure
 our developers understand gentoo, but I argue that the bugtracker is all we
 need.  As long as a person is adding value to gentoo and they have proven
 themselves, then they *should* have commit access. 
 

Many people with useful contributions can commit garbage due to not 
quite knowing what they're doing.
The quiz process is an attempt to address that. We used to recruit the 
way you suggest and it worked for years; we've since outgrown that. 
Testing recruits provides further education.

Admittedly the quiz as it stands is archaic and needs reworking. I 
believe the recruiters team is working on addressing that.

 
 Everyone here is on the same team.  There will be some breakages in the tree
 and those can be dealt with.  Like Seemant [1] said, herds are just groups of
 like *packages*.  The QA Policy is wrong when it says cross-team assistance; 
 we
 are all on the *same* team.  The tree should naturally work.  If it doesn't
 then that is a bug for all of us.
 

OK, well, realistically we are composed of projects working on various 
areas of Gentoo that must work together with one another to form a 
whole. Gentoo is not and should not be one big amorphous blob.

 Conflict resolution should not be a subproject.  It should *not* exist at all.
 Rules need to be in place to avoid conflict.  Having some sort of voting
 structure for all the developers (this doesn't mean requiring everyone to 
 vote)
 and not just the council or devrel makes a lot of sense for most things.
  If I
 don't like how someone is acting within the project there should be a vote and
 then see if that person is kicked out.  No trial, no anything besides a vote.
 And if I lose I have to deal with it.  Either stay with the project, or find
 something else.  This solution just works.

Why should conflict resolution be a popularity contest?

 
 Gentoo should be a fun environment.  The previous paragraph should be taken as
 a last resort.
 
 __Problem: GLEPs__
 
 I dislike GLEPs.  Usually they sit on the website for a long long time not
 doing anything.  My vote (+1) is get rid of gleps and do everything by email
 and a vote by the developers.  AFAIK, the board votes on the GLEPs.  Bad Idea.
 It stifles things from getting done, and there is no ownership of who is going
 to implement the idea.
 
 A new idea proposal should be mailed to a mailinglist (-innovation?) with
 details of timeline to completion, impact, and who is doing the 
 implementation.
 If it sounds like a good one, then there is a vote and things proceed.  I like
 progress.

Well, I think we all like progress. The council votes on GLEPs; I don't 
see how extending voting to include _all of Gentoo_ would speed things 
up or contribute to progress... this is why we elect representatives.

Overall I think this would be a regression.

-- 
Jon Portnoy
avenj/irc.freenode.net
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Jon Portnoy [EMAIL PROTECTED] said:
 On Fri, Apr 28, 2006 at 10:14:53AM -0700, Ryan Phillips wrote:
  
  I find that developer growth as being a problem.  Adding a developer to 
  gentoo
  should be as easy as 1. has the user contributed numerous (~5+) patches that
  helps the project move forward.  If yes, then commit access should be given.
  Adding a developer is usually quite a chore.  There are numerous reasons why
  this is a problem: having a live tree, taking a test, and not defining 
  within
  policy when a person could possibly get commit access. 
  
  All these reasons leave the project stagnant and lacking developers.
  
 
 Maybe certain projects are (and maybe there are a lot of undermaintained 
 packages) but overall I would say we are not really lacking developers; 
 what areas would you say we're lacking devs in exactly?
 
 The recruitment process should be tightened further to ensure we have a 
 solid, educated dev base. This isn't about shutting people out, it's 
 about ensuring that anyone with commit access is well-versed in how we 
 do things.

I believe we have a problem enticing new devlopers to join.  It
shouldn't be difficult in learning how to commit changes to a tree.

What is well versed?  Understanding the ways on how to break the tree?   If 
that 
is the case, then we are doing something wrong. 

  Why do people have to take a test?  Is it to make sure they won't break the
  tree?  If it is, then the solution of a test is wrong.  We do want to make 
  sure
  our developers understand gentoo, but I argue that the bugtracker is all we
  need.  As long as a person is adding value to gentoo and they have proven
  themselves, then they *should* have commit access. 
  
 
 Many people with useful contributions can commit garbage due to not 
 quite knowing what they're doing.
 The quiz process is an attempt to address that. We used to recruit the 
 way you suggest and it worked for years; we've since outgrown that. 
 Testing recruits provides further education.
 
 Admittedly the quiz as it stands is archaic and needs reworking. I 
 believe the recruiters team is working on addressing that.

I am arguing that we don't need testing of potential developers.  It
is bad for the community.  It is saying that we don't have any faith
with our recruiting process.  If we only only worried about tree breakage,
then this is the wrong solution.

  Everyone here is on the same team.  There will be some breakages in the tree
  and those can be dealt with.  Like Seemant [1] said, herds are just groups 
  of
  like *packages*.  The QA Policy is wrong when it says cross-team 
  assistance; we
  are all on the *same* team.  The tree should naturally work.  If it doesn't
  then that is a bug for all of us.
  
 
 OK, well, realistically we are composed of projects working on various 
 areas of Gentoo that must work together with one another to form a 
 whole. Gentoo is not and should not be one big amorphous blob.

I agree.  The mentality should be one project, even if the herds are
split into more project.  I do not like when people say that someone
has stepped on their toes when committing a change to another herd..
Typically people are trying to help.  If there is a breakage then it
is a problem for Gentoo, not just a herd.  Having a live tree just
adds to this problem.

  Conflict resolution should not be a subproject.  It should *not* exist at 
  all.
  Rules need to be in place to avoid conflict.  Having some sort of voting
  structure for all the developers (this doesn't mean requiring everyone to 
  vote)
  and not just the council or devrel makes a lot of sense for most things.
   If I
  don't like how someone is acting within the project there should be a vote 
  and
  then see if that person is kicked out.  No trial, no anything besides a 
  vote.
  And if I lose I have to deal with it.  Either stay with the project, or find
  something else.  This solution just works.
 
 Why should conflict resolution be a popularity contest?

It isn't.  It is how a job works.  If someone isn't getting along with
the team, they are fired.  Same principle.

  
  Gentoo should be a fun environment.  The previous paragraph should be taken 
  as
  a last resort.
  
  __Problem: GLEPs__
  
  I dislike GLEPs.  Usually they sit on the website for a long long time not
  doing anything.  My vote (+1) is get rid of gleps and do everything by email
  and a vote by the developers.  AFAIK, the board votes on the GLEPs.  Bad 
  Idea.
  It stifles things from getting done, and there is no ownership of who is 
  going
  to implement the idea.
  
  A new idea proposal should be mailed to a mailinglist (-innovation?) with
  details of timeline to completion, impact, and who is doing the 
  implementation.
  If it sounds like a good one, then there is a vote and things proceed.  I 
  like
  progress.
 
 Well, I think we all like progress. The council votes on GLEPs; I don't 
 see how extending voting to include _all of Gentoo_ 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Chris White
On Friday 28 April 2006 11:22 am, Ryan Phillips wrote:
 I believe we have a problem enticing new devlopers to join.  It
 shouldn't be difficult in learning how to commit changes to a tree.

There's much more involved than more people think, if you'd like I can send 
you an entire long list of what's supposed to happen.

 What is well versed?  Understanding the ways on how to break the tree?  
 If that is the case, then we are doing something wrong.

Well versed is knowing there's more to the process than just commiting. 
There's working with upstream, adding patches, continual maintaining, etc.

 I am arguing that we don't need testing of potential developers.  It
 is bad for the community.  It is saying that we don't have any faith
 with our recruiting process.  If we only only worried about tree breakage,
 then this is the wrong solution.

Sure, then you get this:

Hey can I join?
OK
*adds user*
-- 2 weeks later --
Anyone heard from user?
No

And heaven forbid they actually took on package maintaining before they left.

-- 
Chris White
Gentoo Developer aka:
ChrisWhite
cpw
ChrisWhite|Work
WhiteChocolate
VanillaWhite
Whitey
WhiteLight
WhiteCheese
WhiteSugar
WhiteButter
WhiteWall
WhiteLemon
WhiteApple
WhiteBlanket
WhiteEnergy
WhiteWhite


pgpbeCyYZYYeh.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Alec Warner [EMAIL PROTECTED] said:
 Ryan Phillips wrote:
  This is a follow up to Mark's (halcy0n's) thread regarding QA Policies and
  seemant's letter on herds, teams, and projects.
  
  I believe the way Gentoo is doing things is broken.  There I have said it.  
  The
  entire project has reached a level of being too political and trying to 
  solve
  certain problems in the wrong way.
  
  Some of these problems are intermixed.  Please consider them starting points
  for discussion.
  
  __Problem: Developer Growth__
  
  I find that developer growth as being a problem.  Adding a developer to 
  gentoo
  should be as easy as 1. has the user contributed numerous (~5+) patches that
  helps the project move forward.  If yes, then commit access should be given.
  Adding a developer is usually quite a chore.  There are numerous reasons why
  this is a problem: having a live tree, taking a test, and not defining 
  within
  policy when a person could possibly get commit access. 
  
  All these reasons leave the project stagnant and lacking developers.
  
  Why do people have to take a test?  Is it to make sure they won't break the
  tree?  If it is, then the solution of a test is wrong.  We do want to make 
  sure
  our developers understand gentoo, but I argue that the bugtracker is all we
  need.  As long as a person is adding value to gentoo and they have proven
  themselves, then they *should* have commit access. 
  
  Perhaps its because of a live tree...
  
 
 I am relatively new, I lurked for quite some time on IRC ( a yearish )
 before finally becoming a dev, and the quiz was not particularly
 difficult, and the questions I didn't know, I asked my Mentor about.  I
 think Mentors in general don't do a very good job ( not complaining
 about mine, mind, just in general ).  I think in some cases, people are
 afraid to ask questions.
 
 We have the madly successful AT project, and a new Herd Tester project
 is in the works.  I find both of these to be very good ideas and have
 aided in developer growth.
 
 As for your suggestion, with a Live Tree you cannot give random users
 who contribute 5 patches commit access.  Commiting comes with it an
 inherit responsibility.  The following is an example only:
 

Ok, so maybe not 5 patches commit access.. How about an active
contributor for 6 months.  I am throwing out ideas. 

 I can go in right now and commit something that destroys anyone's box
 not running SElinux, just bump portage and then watch anyone that uses
 the new version destroy their machine.  Part of this involves having a
 reputation based system.  IMHO this is part of our own tree security.
 I have worked hard in the community to become a developer, and throwing
 that all away to ruin some boxes is silly.  Sure once my changes are
 found they can be revert and a new portage thrown into the tree, but how
 many boxes were ruined first?  What if my commit was unintentional?

So this is a problem with having a live tree.

  __Problem: Live Tree__
  
  Having a live tree requires people to be perfect.  People are not perfect 
  and
  requiring it is ridiculous.  I love having commits in my local tree within 
  the
  hour, but having a stable and unstable branch makes a lot of sense.  
  
  CVS doesn't do branching nor tags very well... 
 
 More details on how Branches and Tags solve the Live Tree problem would
 be good.

We could have a trunk/ and stable/ branch. The stable branch gets
exported to the rsync mirrors.  Trunk/ is where we do the changes,
then merge to stable/ the changes we want.  Should be pretty simple.

  
  __Problem: QA Policies__ 
  
  http://article.gmane.org/gmane.linux.gentoo.devel/37544
  
  It seems that the QA Policies are a product of a Live Tree, and going 
  partially
  non-live would solve the problems listed. 
  
  Everyone here is on the same team.  There will be some breakages in the tree
  and those can be dealt with.  Like Seemant [1] said, herds are just groups 
  of
  like *packages*.  The QA Policy is wrong when it says cross-team 
  assistance; we
  are all on the *same* team.  The tree should naturally work.  If it doesn't
  then that is a bug for all of us.
  
  Conflict resolution should not be a subproject.  It should *not* exist at 
  all.
  Rules need to be in place to avoid conflict.  Having some sort of voting
  structure for all the developers (this doesn't mean requiring everyone to 
  vote)
  and not just the council or devrel makes a lot of sense for most things.  
  If I
  don't like how someone is acting within the project there should be a vote 
  and
  then see if that person is kicked out.  No trial, no anything besides a 
  vote.
  And if I lose I have to deal with it.  Either stay with the project, or find
  something else.  This solution just works.
 
 How many people are going to actively vote?  What keeps Me n' my
 Posse' from just voting out random people we hate; assuming my Posse'
 is large enough to do so?

Thats fine. I replied to 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Alin Nastac
Ryan Phillips wrote:


The council should not vote on gleps are provide policy.  They should
be there to handle the money and world-wide problems.

The developers should drive innovation; not the council.

As in all democracies things get done slowly.  We don't need a
democracy within Gentoo, just a clear way of creating progress.

  

Just because we have some elections in our process don't make Gentoo a
democracy.
Since we don't have a leader to make the important decisions, we need
some other form of authority to do the job. A council is the best
solution to the decisional problem.
Obviously it has nothing to do with innovation. As always, this is the
realm of developers.

In the rest, I basically agree with avenj. No point in repeating what
Jon already said...


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Chris White [EMAIL PROTECTED] said:
 
 Sure, then you get this:
 
 Hey can I join?
 OK
 *adds user*
 -- 2 weeks later --
 Anyone heard from user?
 No
 

The solution is to have them been an active contributor for say 6
months.

-ryan


pgpR35ZcUmZet.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Grant Goodyear
Ryan Phillips wrote: [Fri Apr 28 2006, 12:14:53PM CDT]
 __Problem: Developer Growth__

I've seen suggestions before that one of the things limiting Gentoo's
growth right now is the hurdles involved in becoming a dev.  I don't
really think the dev quiz is all that onerous, but I'm willing to listen
to arguments there.

 __Problem: Live Tree__
 
 Having a live tree requires people to be perfect.  People are not
 perfect and requiring it is ridiculous.  I love having commits in my
 local tree within the hour, but having a stable and unstable branch
 makes a lot of sense.  

Does it?  How does having a stable and unstable branch differ from
having stable and unstable keywords?

On older idea was peer review.  Any dev could commit to the
not-yet-ready-for-primetime branch, but those commits would have to be
peer-reviewed before being added to the user tree.  It's a great idea,
except (a) nobody wants to do the reviewing job and (b) it would be a
full time job.

 
 CVS doesn't do branching nor tags very well... 
 
 __Problem: CVS__
 
 CVS is one of the worst application ever created.  The portage tree
 needs to move to subversion.  A lot of the problems within the project
 would be solved by using a better SCM system.  The previous problems
 regarding the Live Tree and Developer Growth would be solved, IMHO, by
 just switching.  Branches Work.  Tags Work.  Reverts work.  Moves
 work.  I don't see any reason not to use it.  It just plain works.

Have you tried using SVN for the portage tree?  I don't know if anybody
has recently, but in the past when people tried there were two
significant problems: SVN requires at least 2x the tree size for storage
on the local machine, and checkouts take something akin to an order of
magnitude longer than CVS.  The former is annoying, but liveable, but
the latter is a deal-breaker.

 __Problem: QA Policies__ 
 
 http://article.gmane.org/gmane.linux.gentoo.devel/37544
 
 It seems that the QA Policies are a product of a Live Tree, and going
 partially non-live would solve the problems listed. 

QA does help with fixing broken packages, but in my view their most
important mandate is to help devs fix bad habits in writing ebuilds.
Repoman and lists of best-practices help in this regard, but the QA team
tends to be much better at explaining why something is a bad idea.

 Conflict resolution should not be a subproject.  It should *not* exist
 at all.  Rules need to be in place to avoid conflict.  Having some
 sort of voting structure for all the developers (this doesn't mean
 requiring everyone to vote) and not just the council or devrel makes a
 lot of sense for most things.  If I don't like how someone is acting
 within the project there should be a vote and then see if that person
 is kicked out.  No trial, no anything besides a vote.  And if I lose I
 have to deal with it.  Either stay with the project, or find something
 else.  This solution just works.

It's worth noting that with the exception of kicking people out of
Gentoo, much of our practices do, in fact, work just this way, although
without the formality of a vote.  That's what happens when somebody
posts to -dev with an idea, it gets kicked around, and some sort of
consensus is either reached, or it isn't.  In the latter case it's not
ready for prime time, most likely.

 __Problem: GLEPs__
 
 I dislike GLEPs.  Usually they sit on the website for a long long time
 not doing anything.  My vote (+1) is get rid of gleps and do
 everything by email and a vote by the developers.  AFAIK, the board
 votes on the GLEPs.  Bad Idea.  It stifles things from getting done,
 and there is no ownership of who is going to implement the idea.

 A new idea proposal should be mailed to a mailinglist (-innovation?)
 with details of timeline to completion, impact, and who is doing the
 implementation.  If it sounds like a good one, then there is a vote
 and things proceed.  I like progress.

It's not quite true that the Council votes on GLEPs, but that's not
really germane to your overall point.  Despite being the person who
created GLEPs in the first place, I'm quite willing to admit that the
concept doesn't seem to work as well as I had hoped.  I'm not sure that
your idea would work better, however, since the only real difference
would be in the approval process.  Presumably you would still expect to
see the sort of iterative refinement of proposals/innovations on -dev
that we have now, and I believe that part of the project works
reasonably well.  The problem, in my view, is that eventually the
proposal is approved, and the folks involved are told, in essence,
great idea, go to it, and then it stalls because implementation is
_hard_, in general.

As an aside, the large number of moribund GLEPs was always an intended
outcome.  They represent ideas that never got any traction, and thus
went nowhere.  By having them publicly available we help reduce the
number of hey, what about this bad idea posts to -dev.

 __Problem: Voting__
 
 Gentoo 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Alin Nastac [EMAIL PROTECTED] said:
 Ryan Phillips wrote:
 
 
 The council should not vote on gleps are provide policy.  They should
 be there to handle the money and world-wide problems.
 
 The developers should drive innovation; not the council.
 
 As in all democracies things get done slowly.  We don't need a
 democracy within Gentoo, just a clear way of creating progress.
 
   
 
 Just because we have some elections in our process don't make Gentoo a
 democracy.
 Since we don't have a leader to make the important decisions, we need
 some other form of authority to do the job. A council is the best
 solution to the decisional problem.
 Obviously it has nothing to do with innovation. As always, this is the
 realm of developers.
 
 In the rest, I basically agree with avenj. No point in repeating what
 Jon already said...

I disagree.  The developers should make *all* the decisions.

Bypass the council.  The council should be there only for when we get
sued, and manage the money we make.

Does anyone agree that having a council is too political?  I strongly
believe it stifles gentoo.

-Ryan


pgplEy9kSx55S.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Chris White
On Friday 28 April 2006 11:50 am, Ryan Phillips wrote:
 The solution is to have them been an active contributor for say 6
 months.

Ok, but most active contributors are people that submit ebuilds to devs and 
know nothing about the structure/policy/whatever about ebuilds.  If you're 
not a dev, you're probably not going to worry about revision bumps.  If 
you're a dev without alternate arches, you're probably not going to know 
about how other arches can get screwed by improper pic handling. 

To conclude, active contributors are generally in a focused environment. The 
quiz is there to help show them the global way of handling things.

 -ryan

-- 
Chris White
Gentoo Developer aka:
ChrisWhite
cpw
ChrisWhite|Work
WhiteChocolate
VanillaWhite
Whitey
WhiteLight
WhiteCheese
WhiteSugar
WhiteButter
WhiteWall
WhiteLemon
WhiteApple
WhiteBlanket
WhiteEnergy
WhiteWhite


pgpsEo0jFFxVO.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Grant Goodyear
Grant Goodyear wrote: [Fri Apr 28 2006, 01:55:01PM CDT]
 It's not quite true that the Council votes on GLEPs, but that's not
 really germane to your overall point.  

Oh, that was your point.  Mea culpa.

Okay, to address that point, the way that the current system works is
that a GLEP is sent to the GLEP editors, and assuming that it is not
obviously going to be DOA it's generally added to the website.  At that
point, if they haven't already, the GLEP authors initiate a discussion
on -dev that is supposed to be iterative.  The authors are supposed to
revise their proposal to account for comments and ideas from the
community.  When the authors feel it is ready, they ask for the GLEP to
be approved.  At that point the GLEP is sent to either a project lead
(if it falls under a specific project) or the Council if it crosses
project boundaries for approval.  I assume that the only part of the
process you would really wish to change is who does the approving, and
perhaps removing the initial send-it-to-the-editors step.  In reality,
though, the approval process is rarely the rate-limiting step.  In
almost all cases, a stalled or failed GLEP either never gets sent for
approval, or is approved but never gets implemented.

-g2boojum-
-- 
Grant Goodyear  
Gentoo Developer
[EMAIL PROTECTED]
http://www.gentoo.org/~g2boojum
GPG Fingerprint: D706 9802 1663 DEF5 81B0  9573 A6DC 7152 E0F6 5B76


pgpDLnBJpwh7K.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Donnie Berkholz

Ryan Phillips wrote:

Does anyone agree that having a council is too political?  I strongly
believe it stifles gentoo.


I believe a non-representative democracy is stifling, and buries 
everybody in constant votes etc.


Donnie
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Tim Yamin
On Fri, Apr 28, 2006 at 11:57:30AM -0700, Ryan Phillips wrote:
 Bypass the council.  The council should be there only for when we get
 sued, and manage the money we make.
 
 Does anyone agree that having a council is too political?  I strongly
 believe it stifles gentoo.

You're confusing Council  Foundation... Foundation handles moolah and
the we get our asses sued scenario, not the Council. The Council helps
push Gentoo forward.
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Grant Goodyear
Ryan Phillips wrote: [Fri Apr 28 2006, 01:57:30PM CDT]
 I disagree.  The developers should make *all* the decisions.

Originally, Gentoo was effectively a meritocracy.  It's now, in some
respects, a republic.  If you want a democracy, feel free to draft a new
metastructure proposal (feel free to name it something less awkward), 
and drum up support to get it voted upon.

 Bypass the council.  The council should be there only for when we get
 sued, and manage the money we make.

For what it's worth, the Council does neither of those things.  That's
what the Gentoo Foundation is for.

 Does anyone agree that having a council is too political?  I strongly
 believe it stifles gentoo.

Do you have some specific examples of how you've seen the Council
stifle Gentoo, or is it mainly just a general impression?

-g2boojum-
-- 
Grant Goodyear  
Gentoo Developer
[EMAIL PROTECTED]
http://www.gentoo.org/~g2boojum
GPG Fingerprint: D706 9802 1663 DEF5 81B0  9573 A6DC 7152 E0F6 5B76


pgpjHkscJlgrf.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Tim Yamin
On Fri, Apr 28, 2006 at 01:55:01PM -0500, Grant Goodyear wrote:
  CVS doesn't do branching nor tags very well... 
  
  __Problem: CVS__
  
  CVS is one of the worst application ever created.  The portage tree
  needs to move to subversion.  A lot of the problems within the project
  would be solved by using a better SCM system.  The previous problems
  regarding the Live Tree and Developer Growth would be solved, IMHO, by
  just switching.  Branches Work.  Tags Work.  Reverts work.  Moves
  work.  I don't see any reason not to use it.  It just plain works.
 
 Have you tried using SVN for the portage tree?  I don't know if anybody
 has recently, but in the past when people tried there were two
 significant problems: SVN requires at least 2x the tree size for storage
 on the local machine, and checkouts take something akin to an order of
 magnitude longer than CVS.  The former is annoying, but liveable, but
 the latter is a deal-breaker.

Speaking of which, has anybody done any tests with svk? (http://svk.elixus.org)
And: http://svk.elixus.org/?WhySVK -- it would be interesting to compare
checkout performance on it as well.
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Stephen Bennett
On Fri, 28 Apr 2006 12:03:29 -0700
Chris White [EMAIL PROTECTED] wrote:

 Ok, but most active contributors are people that submit ebuilds to
 devs and know nothing about the structure/policy/whatever about
 ebuilds.  If you're not a dev, you're probably not going to worry
 about revision bumps.  If you're a dev without alternate arches,
 you're probably not going to know about how other arches can get
 screwed by improper pic handling. 
 
 To conclude, active contributors are generally in a focused
 environment. The quiz is there to help show them the global way of
 handling things.

That problem can be solved by giving new developers access to a
'sandbox' branch of the tree, and have a more experienced dev merge
their changes into the live tree having checked them for sanity. Once
they've proved themselves there, they can be given access to the main
tree if appropriate.

Of course, this relies upon using a VCS for the tree that handles
branches and merging sanely, which should be doable with Subversion if
the issues it had last time this was tested have been or can be
resolved.
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Alin Nastac
Tim Yamin wrote:

On Fri, Apr 28, 2006 at 01:55:01PM -0500, Grant Goodyear wrote:
  

CVS doesn't do branching nor tags very well... 

__Problem: CVS__

CVS is one of the worst application ever created.  The portage tree
needs to move to subversion.  A lot of the problems within the project
would be solved by using a better SCM system.  The previous problems
regarding the Live Tree and Developer Growth would be solved, IMHO, by
just switching.  Branches Work.  Tags Work.  Reverts work.  Moves
work.  I don't see any reason not to use it.  It just plain works.
  

Have you tried using SVN for the portage tree?  I don't know if anybody
has recently, but in the past when people tried there were two
significant problems: SVN requires at least 2x the tree size for storage
on the local machine, and checkouts take something akin to an order of
magnitude longer than CVS.  The former is annoying, but liveable, but
the latter is a deal-breaker.



Speaking of which, has anybody done any tests with svk? (http://svk.elixus.org)
And: http://svk.elixus.org/?WhySVK -- it would be interesting to compare
checkout performance on it as well.
  

Since it is derived from svn, I think it would be x times slower than svn.
Besides, why would we need a decentralized SCM?


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Bryan Østergaard
On Fri, Apr 28, 2006 at 11:22:05AM -0700, Ryan Phillips wrote:
 Jon Portnoy [EMAIL PROTECTED] said:
  On Fri, Apr 28, 2006 at 10:14:53AM -0700, Ryan Phillips wrote:
   
   I find that developer growth as being a problem.  Adding a developer to 
   gentoo
   should be as easy as 1. has the user contributed numerous (~5+) patches 
   that
   helps the project move forward.  If yes, then commit access should be 
   given.
   Adding a developer is usually quite a chore.  There are numerous reasons 
   why
   this is a problem: having a live tree, taking a test, and not defining 
   within
   policy when a person could possibly get commit access. 
   
   All these reasons leave the project stagnant and lacking developers.
   
  
  Maybe certain projects are (and maybe there are a lot of undermaintained 
  packages) but overall I would say we are not really lacking developers; 
  what areas would you say we're lacking devs in exactly?
  
  The recruitment process should be tightened further to ensure we have a 
  solid, educated dev base. This isn't about shutting people out, it's 
  about ensuring that anyone with commit access is well-versed in how we 
  do things.
 
 I believe we have a problem enticing new devlopers to join.  It
 shouldn't be difficult in learning how to commit changes to a tree.
 
 What is well versed?  Understanding the ways on how to break the tree?   If 
 that 
 is the case, then we are doing something wrong. 
 
I come from a different background being a recruiter and having done
most, if not all, the work to clean up the current developer base so
far.

And from what I'm seeing we have to make it *harder* to become a gentoo
developer if we want to keep any quality at all. It's not that we don't
get lots of new developers but looking back at all the developers I've
been retiring due to inactivity it's fairly clear that a huge part of
them never did more than 5 commits or so.. And it takes a good deal more
than 5 commits before you know all the intricacies of portage/gentoo and
are able to do quality work on a consistent basis.

I've mentored quite a few developers myself and I believe I did a fairly
good job as a mentor but there's still quite some difference between
first few commits and later commits from those devs as they gain
experience.

Personally, I don't want Gentoo to be characterised by revolving door
developers and I'd expect users would be fairly unhappy with that as
well.

   Why do people have to take a test?  Is it to make sure they won't break 
   the
   tree?  If it is, then the solution of a test is wrong.  We do want to 
   make sure
   our developers understand gentoo, but I argue that the bugtracker is all 
   we
   need.  As long as a person is adding value to gentoo and they have 
   proven
   themselves, then they *should* have commit access. 
   
  
  Many people with useful contributions can commit garbage due to not 
  quite knowing what they're doing.
  The quiz process is an attempt to address that. We used to recruit the 
  way you suggest and it worked for years; we've since outgrown that. 
  Testing recruits provides further education.
  
  Admittedly the quiz as it stands is archaic and needs reworking. I 
  believe the recruiters team is working on addressing that.
 
 I am arguing that we don't need testing of potential developers.  It
 is bad for the community.  It is saying that we don't have any faith
 with our recruiting process.  If we only only worried about tree breakage,
 then this is the wrong solution.
The Arch Tester / Herd Tester projects solves many of the current
problems but I very much believe we need something akin to the current
tests. We *will* try to improve those tests but I'm going to fight
making it easier to become a developer hard as that's a very bad
direction from my point of view.
 
   Everyone here is on the same team.  There will be some breakages in the 
   tree
   and those can be dealt with.  Like Seemant [1] said, herds are just 
   groups of
   like *packages*.  The QA Policy is wrong when it says cross-team 
   assistance; we
   are all on the *same* team.  The tree should naturally work.  If it 
   doesn't
   then that is a bug for all of us.
   
  
  OK, well, realistically we are composed of projects working on various 
  areas of Gentoo that must work together with one another to form a 
  whole. Gentoo is not and should not be one big amorphous blob.
 
 I agree.  The mentality should be one project, even if the herds are
 split into more project.  I do not like when people say that someone
 has stepped on their toes when committing a change to another herd..
 Typically people are trying to help.  If there is a breakage then it
 is a problem for Gentoo, not just a herd.  Having a live tree just
 adds to this problem.
 
   Conflict resolution should not be a subproject.  It should *not* exist at 
   all.
   Rules need to be in place to avoid conflict.  Having some sort of voting
   structure for all the developers 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Bryan Østergaard
On Fri, Apr 28, 2006 at 08:35:40PM +0100, Stephen Bennett wrote:
 On Fri, 28 Apr 2006 12:03:29 -0700
 Chris White [EMAIL PROTECTED] wrote:
 
  Ok, but most active contributors are people that submit ebuilds to
  devs and know nothing about the structure/policy/whatever about
  ebuilds.  If you're not a dev, you're probably not going to worry
  about revision bumps.  If you're a dev without alternate arches,
  you're probably not going to know about how other arches can get
  screwed by improper pic handling. 
  
  To conclude, active contributors are generally in a focused
  environment. The quiz is there to help show them the global way of
  handling things.
 
 That problem can be solved by giving new developers access to a
 'sandbox' branch of the tree, and have a more experienced dev merge
 their changes into the live tree having checked them for sanity. Once
 they've proved themselves there, they can be given access to the main
 tree if appropriate.
 
 Of course, this relies upon using a VCS for the tree that handles
 branches and merging sanely, which should be doable with Subversion if
 the issues it had last time this was tested have been or can be
 resolved.
 -- 
This solution also needs experienced developers with lots of free time
on their hands.. And try as I might, I can't think of many people that
fits that description.

Regards,
Bryan Østergaard
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Thierry Carrez
Ryan Phillips wrote:

 The council should not vote on gleps are provide policy.  They should
 be there to handle the money and world-wide problems.
 
 The developers should drive innovation; not the council.

You apparently confuse the trustees and the council. And you apparently
did miss the metastructure discussion of last year.

Gentoo is made up of projects that do whatever they want inside their
projects. That's where quick innovation should happen.

The council is elected to take decisions on Gentoo-wide issues that
affect multiple projects. GLEPs describe the wanted change, developers
discuss on the idea and finally the council decides (usually it
validates the consensus if there is one).

You don't like them, but they make good references :
http://www.gentoo.org/proj/en/glep/glep-0039.html

That said, I agree we lack developers. We in fact don't lack devs, we
lack active developers. So some cleanup action should be done.

-- 
Koon
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Donnie Berkholz

Tim Yamin wrote:

Speaking of which, has anybody done any tests with svk? (http://svk.elixus.org)
And: http://svk.elixus.org/?WhySVK -- it would be interesting to compare
checkout performance on it as well.


I've been planning to do a more detailed comparison of all the popular 
SCM's out there for probably 6 months, but I just don't have the time 
right now. If someone wants to pick this up, please let us know.


Recommended reading: http://www.keltia.net/EuroBSDCon/slides.pdf and 
www.keltia.net/EuroBSDCon/paper.pdf


SCMs to test:

monotone
bazaar
bzr
mercurial
cogito
cvs
svn
darcs
svk

Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Fernando J. Pereda
On Fri, Apr 28, 2006 at 01:42:40PM -0700, Ryan Phillips wrote:
 cogito
  - Not practical
 * the lots of little files doesn't scale well with the size
   of the portage tree

Sure, that's why they invented git repack.

 * In addition, git only allows checkins from the project parent.
   A deal breaker in my opinion

That's not true at all. Not in any sane Git version.

- ferdy

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4


pgpuShtf3rkjZ.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Donnie Berkholz [EMAIL PROTECTED] said:
 Ryan Phillips wrote:
 git - terrible with lots of tiny little files
 
 Can you provide some evidence to support this?
 
 I posted in more detail on SCMs elsewhere today.

Sure.

git only allows commits from the project parent.  Meaning that if
there was a project laid out like:

  portage-tree/
 some-package/
some-package-1.0.0.ebuild
 xorg/
xorg-1.ebuild
 
If I am in the portage-tree/xorg directory, I would be unable to do
a cg-commit.  Git only commits from the parent project directory, so I
would have to change back to the portage-tree and do a commit on the
entire tree.  We should not required that from an SCM.

Subversion versions each directory.  Tha is why one can change into
portage-tree/some-package and do svn svn commit.  This is different
that git, where the entire tree is versioned as one.  Make sense?

Second issue with git, is that with lots of tiny little files things
don't work so well.  I tried converting our portage tree into a git
tree, and it ran for around 2 days until I finally killed it.  If we
didn't want to preserve history, then maybe it would work out.  But
with the problem I outlined above I still don't see it as a contender.
There are lots of times when one would want to do a commit in one
directory.

-ryan


pgpMfm2NTwBbL.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Fernando J. Pereda [EMAIL PROTECTED] said:
 On Fri, Apr 28, 2006 at 01:42:40PM -0700, Ryan Phillips wrote:
  cogito
   - Not practical
  * the lots of little files doesn't scale well with the size
of the portage tree
 
 Sure, that's why they invented git repack.
 
  * In addition, git only allows checkins from the project parent.
A deal breaker in my opinion
 
 That's not true at all. Not in any sane Git version.

Ferdy:

What I meant is, if you have a change within one directory pending
a commit, and you have a commit pending in a current directory, both
files will be picked up for the commit.  I think that is bad. That
means you can't have pending changes not ready for commit and commit
something.  

yes. git-commit will allow the commit, it will walk the directories
backwards, but it will find all the pending changes and want to commit
them.

I don't think that is beneficial.  I'm open to comments though.

-ryan


pgpFFG53shvAt.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Fernando J. Pereda
Ryan:

I think you are talking about very old versions of Git:

On Fri, Apr 28, 2006 at 02:20:43PM -0700, Ryan Phillips wrote:
 What I meant is, if you have a change within one directory pending
 a commit, and you have a commit pending in a current directory, both
 files will be picked up for the commit.  I think that is bad. That
 means you can't have pending changes not ready for commit and commit
 something.

Of course you can have pending commits. You can even have uncommited
changes in your index since git-commit uses a temporary index when doing
this kind of checkins.

 yes. git-commit will allow the commit, it will walk the directories
 backwards, but it will find all the pending changes and want to commit
 them.

It will if you don't use git-commit correctly :)

 I don't think that is beneficial.  I'm open to comments though.

'git commit' semantics are a bit different from 'cvs commit' and 'svn
commit' semantics. That's probably the reason you faced that problem :)

Cheers,
ferdy

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4


pgpZfPqD2Ec9B.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Fernando J. Pereda
On Fri, Apr 28, 2006 at 02:06:36PM -0700, Ryan Phillips wrote:
 
 Second issue with git, is that with lots of tiny little files things
 don't work so well.  I tried converting our portage tree into a git
 tree, and it ran for around 2 days until I finally killed it.  If we
 didn't want to preserve history, then maybe it would work out.  But
 with the problem I outlined above I still don't see it as a contender.
 There are lots of times when one would want to do a commit in one
 directory.
 

Ryan,

What tool did you use for that? AFAIK parsecvs[1] has converted some
very big and broken CVS repositories successfully.

- ferdy

[1] git://git.freedesktop.org/~keithp/parsecvs

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4


pgpEnrmtBVaXl.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Fernando J. Pereda [EMAIL PROTECTED] said:
 Ryan:
 
 I think you are talking about very old versions of Git:
 
 On Fri, Apr 28, 2006 at 02:20:43PM -0700, Ryan Phillips wrote:
  What I meant is, if you have a change within one directory pending
  a commit, and you have a commit pending in a current directory, both
  files will be picked up for the commit.  I think that is bad. That
  means you can't have pending changes not ready for commit and commit
  something.
 
 Of course you can have pending commits. You can even have uncommited
 changes in your index since git-commit uses a temporary index when doing
 this kind of checkins.
 
  yes. git-commit will allow the commit, it will walk the directories
  backwards, but it will find all the pending changes and want to commit
  them.
 
 It will if you don't use git-commit correctly :)
 
  I don't think that is beneficial.  I'm open to comments though.
 
 'git commit' semantics are a bit different from 'cvs commit' and 'svn
 commit' semantics. That's probably the reason you faced that problem :)
 

the only option I saw was git-commit -o and you had to specify the
files that you wanted to commit.

I tried doing a git-commit paths/ and still everything wants to be
committed.

It isn't pretty.

-Ryan


pgpYAOsjE8CQ3.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Thomas Cort
On Fri, 28 Apr 2006 21:42:57 +0200
Bryan Østergaard [EMAIL PROTECTED] wrote:
 So.. What can we do to improve things?

I think that there should be some sort of organized way of connecting potential 
mentors and potential recruits. There is a very enthusiastic user who has been 
contributing great work to my overlay, but I cannot find anyone to mentor him 
(I've e-mailed [EMAIL PROTECTED] as well as [EMAIL PROTECTED] without much 
success). Maybe we should create a list of developers who are willing to mentor 
new devs? It would make finding a mentor much easier.

~tcort


pgptBnvwxt1RL.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Fernando J. Pereda [EMAIL PROTECTED] said:
 On Fri, Apr 28, 2006 at 02:06:36PM -0700, Ryan Phillips wrote:
  
  Second issue with git, is that with lots of tiny little files things
  don't work so well.  I tried converting our portage tree into a git
  tree, and it ran for around 2 days until I finally killed it.  If we
  didn't want to preserve history, then maybe it would work out.  But
  with the problem I outlined above I still don't see it as a contender.
  There are lots of times when one would want to do a commit in one
  directory.
  
 
 Ryan,
 
 What tool did you use for that? AFAIK parsecvs[1] has converted some
 very big and broken CVS repositories successfully.
 
 - ferdy
 
 [1] git://git.freedesktop.org/~keithp/parsecvs

I was using cvs2git.

I sorta like git in certain aspects. If git would  work better than
CVS or anything other SCM I'm for it.  Right now, _anything_ would be
better than CVS.

-ryan


pgpDqAkxf42aD.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Daniel Goller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Thomas Cort wrote:
 On Fri, 28 Apr 2006 21:42:57 +0200
 Bryan Østergaard [EMAIL PROTECTED] wrote:
 So.. What can we do to improve things?
 
 I think that there should be some sort of organized way of connecting 
 potential mentors and potential recruits. There is a very enthusiastic user 
 who has been contributing great work to my overlay, but I cannot find anyone 
 to mentor him (I've e-mailed [EMAIL PROTECTED] as well as [EMAIL PROTECTED] 
 without much success). Maybe we should create a list of developers who are 
 willing to mentor new devs? It would make finding a mentor much easier.
 
 ~tcort
wait till you have your required months at gentoo, then you mentor him,
if you truly like his work, tell him you have to wait before you can
mentor him, iirc 6 months from joining?
he could wait till then, and maybe appreciate your working relationship
even more, 6 months is a nice time to see if his performance is
consitent too

no dev has to refer anyone to someone else unless they are not long
enough with the project, and then it is only a matter of time :)


Daniel
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEUpCw/aM9DdBw91cRAkzvAJsFPdeCZzjH5niV9V0TOO2zQN5togCfd/gf
dckrYu+XPRFbIJ0oZLGqhgM=
=v6W5
-END PGP SIGNATURE-
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Fernando J. Pereda
On Fri, Apr 28, 2006 at 02:56:26PM -0700, Ryan Phillips wrote:
 I sorta like git in certain aspects. If git would  work better than
 CVS or anything other SCM I'm for it.  Right now, _anything_ would be
 better than CVS.

I don't really know if Git is suitable for our workflow though... I was
just trying to clarify those issues you pointed out about Git.

I locally manage a couple of overlays with it, but nothing compared to
the portage tree.

- ferdy

-- 
Fernando J. Pereda Garcimartín
Gentoo Developer (Alpha,net-mail,mutt,git)
20BB BDC3 761A 4781 E6ED  ED0B 0A48 5B0C 60BD 28D4


pgpBDy9Dpn3Ta.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Ryan Phillips
Fernando J. Pereda [EMAIL PROTECTED] said:
 On Fri, Apr 28, 2006 at 02:49:18PM -0700, Ryan Phillips wrote:
  the only option I saw was git-commit -o and you had to specify the
  files that you wanted to commit.
  
  I tried doing a git-commit paths/ and still everything wants to be
  committed.
  
  It isn't pretty.
  
 
 Uh, no... thats certainly not true for git-1.3 series, and I belive the
 behavior has been consistent since early february this year when the new
 commit semantics where introduced.
 
 See this:
 
 --- 8 ---
 [ $ ~/testy/gitty ] git init-db
 defaulting to local storage area
 [ $ ~/testy/gitty(master) ] echo something  a
 [ $ ~/testy/gitty(master) ] mkdir dir
 [ $ ~/testy/gitty(master) ] echo other thing  dir/b
 [ $ ~/testy/gitty(master) ] git add .
 [ $ ~/testy/gitty(master) ] git commit -m initial import
 Committing initial tree 6dc01ab7eb7f19983ae76e72ccb63e3e60aa2dc3
 [ $ ~/testy/gitty(master) ] git status
 nothing to commit
 [ $ ~/testy/gitty(master) ] echo add something here  dir/b
 [ $ ~/testy/gitty(master) ] echo something there  a
 [ $ ~/testy/gitty(master) ] git status
 #
 # Changed but not updated:
 #   (use git-update-index to mark for commit)
 #
 # modified: a
 # modified: dir/b
 #
 nothing to commit
 [ $ ~/testy/gitty(master) ] git commit -m Only things in dir/? dir/
 [ $ ~/testy/gitty(master) ] git status
 #
 # Changed but not updated:
 #   (use git-update-index to mark for commit)
 #
 # modified: a
 #
 nothing to commit
 [ $ ~/testy/gitty(master) ] 
 --- 8 ---
 
 It is the same even if you did 'git update-index a' before 'git commit
 -m ... dir/'. However that's something you won't do unless you know what
 you're doing :)
 

I'm testing with 1.3.1.  You are correct.  The text the is printed by
git is a bit confusing.  If the portage tree can scale to it, then I'm
for it.

Thanks for the clarification.

-ryan


pgpUxk2oFOLaj.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Daniel Goller
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ryan Phillips wrote:
 Donnie Berkholz [EMAIL PROTECTED] said:
 Tim Yamin wrote:
 Speaking of which, has anybody done any tests with svk? 
 (http://svk.elixus.org)
 And: http://svk.elixus.org/?WhySVK -- it would be interesting to compare
 checkout performance on it as well.
 I've been planning to do a more detailed comparison of all the popular 
 SCM's out there for probably 6 months, but I just don't have the time 
 right now. If someone wants to pick this up, please let us know.

 Recommended reading: http://www.keltia.net/EuroBSDCon/slides.pdf and 
 www.keltia.net/EuroBSDCon/paper.pdf

 SCMs to test:
 
 cogito
  - Not practical
 * the lots of little files doesn't scale well with the size
   of the portage tree
 * In addition, git only allows checkins from the project parent.
   A deal breaker in my opinion
 cvs
  - Branching sucks
  - Merging is terrible
  - File deletes are bad
  - Atomic Commits
 svn
  + Atomic Commits
  + Merging/tagging/brancing is a simple copy operation
http://svnbook.red-bean.com/en/1.1/ch04.html
  + lots of benefits
http://svnbook.red-bean.com/nightly/en/svn.intro.features.html
there is more I'm sure people can come up with
  - 2x Drive space

Thanks Ryan, what we see is: the only - really is none at all

localhost64 ffmpeg-0.4.9-p20060302-shared # du -csh /cvs/gentoo-x86/
768M/cvs/gentoo-x86/
768Mtotal
localhost64 ffmpeg-0.4.9-p20060302-shared # du -csh /cvs/gentoo-x86/
- --apparent-size
224M/cvs/gentoo-x86/
224Mtotal

i waste more on the wrong block size with /cvs/gentoo-x86/ being on my
4K block size partition than the file size would add
we could trick around to get all that smaller

but let's be real for a moment, let's double the 768M, 1536M is nothing
on today's machines, drive space is cheap, and if your disk is small,
then you have no business running cvs or svn or anything with lot's of
small files on 4k block size

so looking at the list of SCMs, svn has only plus, and a theoretical -
side that in 2006 is none

  --apparent-size   print apparent sizes, rather than disk
usage;  although the apparent size is usually smaller, it may be
 larger due to holes in (`sparse') files, internal
fragmentation, indirect blocks, and the like

so put svn on a partition with small blocksizes/inode sizes and let's
get on with the program

Daniel

 darcs
  - haskell dependency
  - doesn't work on some architectures
- IMHO, deal breaker
 svk
  - not a contender, it is subversion.
if someone wanted to use svk with the subversion tree they could;
it is transparent to any other.
 
 -ryan

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEUpTY/aM9DdBw91cRAvdFAKDUh9dNv025td6lm64YgKzZ6PwBbwCgvxL0
BIkORaLea2xiBzmbXpm6GSU=
=lD3P
-END PGP SIGNATURE-
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Marius Mauch

Grant Goodyear schrieb:

Some questions that need to be answered:

* Can the repo be converted while maintaining the history?
* How long does a full checkout take?  
* How much disk space does a full checkout require?

* Is there a viewcvs equivalent available?
* Others that I can't think of right now?  (Please feel free to add.)


Right now portage and repoman have no support for using anything but cvs 
or rsync for the tree, e.g. repoman commit wouldn't work. Not hard to 
fix, but something to keep in mind.


Marius
--
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Simon Stelling

Hi Ryan,

Ryan Phillips wrote:

I believe the way Gentoo is doing things is broken.  There I have said it.  The
entire project has reached a level of being too political and trying to solve
certain problems in the wrong way.


I think it actually works quite well. Yes, there is space for 
improvement, like always, but the situation is at least not bad.



__Problem: Developer Growth__

I find that developer growth as being a problem.  Adding a developer to gentoo
should be as easy as 1. has the user contributed numerous (~5+) patches that
helps the project move forward.  If yes, then commit access should be given.
Adding a developer is usually quite a chore.  There are numerous reasons why
this is a problem: having a live tree, taking a test, and not defining within
policy when a person could possibly get commit access. 


I can only speak for me here, but the quiz wasn't a barrier at all to 
me. Instead, it was an interesting way to make sure that I get familiar 
with all the stuff I have to. I found it a much better way to answer 
questions about a topic where you have to find the answers than just 
reading through tons of docs, not knowing whether something is important 
to you or completely unrelated.


Besides that, I think the tree is far too worthy to give it away after 5 
patches. Just because I fixed a bunch of compiling errors, that doesn't 
mean I know how to fix ebuilds. Just because I wrote a few ebuilds, that 
doesn't mean I understand how eclasses work, which ones to use where and 
what profile.bashrc is good for.


I've seen ebuilds from people who have written quite a bunch of ebuilds 
and were really interested in understanding how they work, but the work 
they produced just was awful and hurt my eyes. I don't mean that the 
mean way, I don't expect anything else, and I was just the same. 
However, the mentoring process and the quiz have helped me a lot to 
understand not-so-obvious problems.



All these reasons leave the project stagnant and lacking developers.


I wouldn't say so. Just about two weeks or so ago, the recruiters had to 
defer new requests, because they couldn't deal with them in a timely 
fashion. You can now tell me that this makes it even worse, but I just 
see that as the proove of the fact that people are interested in helping 
us and ready to take the quiz and all the hassle involved with 
becoming a dev.


Another good reason to keep the current process is the fact that a lot 
of people become dev and vanish a week after their mentoring period 
expired. These people would better contribute to the project in a more 
distant way IMHO, because it takes up a fair amount of time to clean up 
these accounts afterwards. If you don't beleave me, ask kloeri. ;)



Perhaps its because of a live tree...


That's surely a big factor.


__Problem: Live Tree__

Having a live tree requires people to be perfect.  People are not perfect and
requiring it is ridiculous.  I love having commits in my local tree within the
hour, but having a stable and unstable branch makes a lot of sense.  


It doesn't require people to be perfect. It requires people to think 
before commiting. If it really required us to be perfect, we wouldn't 
exist in the first place, would we?


Having a stable and unstable branch doesn't have many advantages over 
stable and unstable keywords IMHO, but requires a HUUUGE effort to keep 
them in sync. It would make things more complicated than necessary. You 
say we're lacking developers. Do you really want to spend [insert random 
big number here] of these much-needed developer hours to merging an old 
with a new tree?



__Problem: CVS__


I would like to see us using svn instead of CVS too, but I think that's 
just a technical detail, not really fitting here.


__Problem: QA Policies__ 



Everyone here is on the same team.  There will be some breakages in the tree
and those can be dealt with.  Like Seemant [1] said, herds are just groups of
like *packages*.  The QA Policy is wrong when it says cross-team assistance; we
are all on the *same* team.  The tree should naturally work.  If it doesn't
then that is a bug for all of us.


This sounds romantic. However, Gentoo to me isn't 300 people who are all 
my friends, all working on a common goal. Gentoo, to me, is a bunch of 
very nice people that share a goal with me, some big mailing lists with 
flames every now and then and a big mass of people whose work I use and 
appreciate but who I don't have a f*cking clue about. I don't know what 
they are like, they work on other things than I do. But that's not a 
problem at all.



Conflict resolution should not be a subproject.  It should *not* exist at all.


You mean conflicts or conflict solution shouldn't exist at all?
If the former, that's unrealistic. If the latter, why not?


Rules need to be in place to avoid conflict.  Having some sort of voting
structure for all the developers (this doesn't mean requiring everyone to vote)
and not just the council or 

Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Chris White
On Friday 28 April 2006 04:14 pm, Ryan Phillips wrote:
 I disagree.  By committing something to the current tree it has the
 ability to effect a lot of people.  What happens when we need to reverse a
 commit?  It isn't that easy with CVS.

cvs admin -or1.1
(delete revision 1.1)

cvs admin -or1.1::1.2
(delete revision 1.1 - 1.2)
-- 
Chris White
Gentoo Developer aka:
ChrisWhite
cpw
ChrisWhite|Work
WhiteChocolate
VanillaWhite
Whitey
WhiteLight
WhiteCheese
WhiteSugar
WhiteButter
WhiteWall
WhiteLemon
WhiteApple
WhiteBlanket
WhiteEnergy
WhiteWhite


pgphj3s2uEZ85.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo: State of the Union

2006-04-28 Thread Donnie Berkholz

Chris White wrote:

On Friday 28 April 2006 04:14 pm, Ryan Phillips wrote:

I disagree.  By committing something to the current tree it has the
ability to effect a lot of people.  What happens when we need to reverse a
commit?  It isn't that easy with CVS.


cvs admin -or1.1
(delete revision 1.1)

cvs admin -or1.1::1.2
(delete revision 1.1 - 1.2)


If you have to use admin commands to fix a mistake, the system is 
broken. However in this particular case it is unnecessary, you just need 
to make use of the merging features.


cvs update -j 1.2 -j 1.1 oldfile

Thanks,
Donnie
--
gentoo-dev@gentoo.org mailing list