Re: [gentoo-dev] Re: [OT/NIT] Re: Re: [gentoo-commits] gentoo-x86 commit in profiles: ChangeLog package.mask

2013-04-24 Thread Peter Stuge
Jeroen Roovers wrote:
 Er, you can't be seriously suggesting we will drop repoman checks
 with the migration to git? I don't see how that would benefit anyone.

I would argue that repoman and/or corresponding checks should be run
by a CI system hooked up to the Gerrit instance that developers push to.

Anything else is IMO waste of developers' time and minds.


//Peter



Re: [gentoo-dev] Re: [OT/NIT] Re: Re: [gentoo-commits] gentoo-x86 commit in profiles: ChangeLog package.mask

2013-04-24 Thread Rich Freeman
On Wed, Apr 24, 2013 at 7:47 AM, Michael Mol mike...@gmail.com wrote:

 13. Gerrit's push to tree fails, since tree with changeset A isn't in
 changeset B's ancestry.


Honestly, this is a problem with any use of repoman with git unless
you let the server auto-merge trivial changes.  Cvs tracks commits at
the file level, and git does it at the repository level.  The chances
of somebody modifying the same files in the time it takes you to
stage, test, and commit a change in cvs are fairly low.  The chances
of somebody making any commit to the repository in the time it takes
you to rebase, do a repoman check, and push are much higher.

We might have to live with repoman being a manual process - then you'd
just pull/rebase-or-merge/push to get it to the tree and use your
brain to determine if it causes any problems (which does require
responsibility).

However, your specific example could be modified a bit to make it more robust:

1. Dev A pulls from tree
2. Dev A merges those changes with his local copy of tree
3. Dev A pushes to Gerrit
4. Gerrit begins tests on changeset A
5. Dev B pulls from tree (or perhaps he pulled earlier)
6. Gerrit is still testing changeset A
7. Dev B merges those changes with his local copy of tree
8. Gerrit finishes testing, pushes to tree
9. Dev B's push to Gerrit fails, since Gerrit's head isn't in B's ancestry.
10.  Dev B pulls, rebases, and re-pushes - possibly pulling directly
from Gerrit to reduce latency.

It still fails when you get high volumes, because the fundamental
issue is that it can only handle as many commits as Gerrit can test in
a given period of time, plus various latencies.

Rich



Re: [gentoo-dev] Re: [OT/NIT] Re: Re: [gentoo-commits] gentoo-x86 commit in profiles: ChangeLog package.mask

2013-04-23 Thread Matt Turner
On Tue, Apr 23, 2013 at 11:20 AM, Rich Freeman ri...@gentoo.org wrote:
 On Tue, Apr 23, 2013 at 2:00 PM, Jeroen Roovers j...@gentoo.org wrote:
 Er, you can't be seriously suggesting we will drop repoman checks with
 the migration to git? I don't see how that would benefit anyone.


 Interesting point.  One thing to keep in mind with git is that commits
 don't affect the central repository.  Pushes are what impacts the
 repository.

 If I spend six months working on a bunch of coordinated package
 changes, nobody will see a thing until I push those commits and 500
 ebuilds all change atomically (not that I'm suggesting that lack of
 communication is to be encouraged).  A repoman check on a commit may
 not reflect its impact six months later when it actually hits the main
 tree.

... if you're squashing 6 months of work into a single commit before pushing.

I don't think we want to do that, do we? Maybe bisecting isn't
particularly interesting for the portage tree.



Re: [gentoo-dev] Re: [OT/NIT] Re: Re: [gentoo-commits] gentoo-x86 commit in profiles: ChangeLog package.mask

2013-04-23 Thread Jeroen Roovers
On Tue, 23 Apr 2013 21:31:10 +0200
Michał Górny mgo...@gentoo.org wrote:

 Just to make it clear -- there are four CVS commits. Ebuild commit
 followed by GPG-signed Manifest commit. Hopefully the developer has
 persistent SSH connections set up.

AFAIK setting these up still isn't properly documented. I once read
about it in a post somewhere by robbat2 and have been using this ever
since, and I also recall suggesting using persistent SSH connections
without finding a trace of evidence of their use in developer
documentation.


 jer



Re: [gentoo-dev] Re: [OT/NIT] Re: Re: [gentoo-commits] gentoo-x86 commit in profiles: ChangeLog package.mask

2013-04-23 Thread Zac Medico
On 04/23/2013 01:27 PM, Tom Wijsman wrote:
 Maybe the question is rather why `repoman` takes 15 seconds on a quite
 fast system in a package folder that contains 2 ebuilds and 1 metadata.
 
 See the call graph for repoman at http://i.imgur.com/OQTUBdR.png.
 
 A third of the time, ~5 seconds, are spent on 60,000 - 70,000 calls to
 the function that is listed in the bottom; but the ebuilds barely
 list any dependencies. Why are there so much calls to this?

There's lots of redundant repetition involved in repoman's iteration
over the profiles listed in profiles.desc. It may be possible to
optimize away the redundancy by taking advantage of all the things that
each of the profiles have in common.
-- 
Thanks,
Zac