Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan schedule

2015-07-05 Thread Andrew Savchenko
On Sat, 4 Jul 2015 20:20:23 +0200 Peter Stuge wrote:
 It's important that the review flow is well-understood and efficient.

This is impossible in our case due to the lack of manpower.
We already have a lot of bugs, patches, stabilization requests
hanging over there for months and even years. Stabilization request
will require at least two developers to participate in each commit.
This will double manpower required at least. Such approach can kill
the whole project.

Code review is good at a limited scope, e.g. for non-developers
where we have review anyway.

And as was already told in this thread, the best is the enemy of
the good. In no way we should delay git migration due to possible
git review.

Best regards,
Andrew Savchenko


pgpaeQblTgCEP.pgp
Description: PGP signature


Re: [gentoo-dev] Re: Git workflow

2015-07-05 Thread Kent Fredric
On 5 July 2015 at 17:03, C Bergström cbergst...@pathscale.com wrote:

 Again I don't see it as lying - (you're still working on stuff until
 you push.. development isn't done) The ability to do micro or
 incremental commits instead of the svn's forced wait approach is the
 benefit here.


Generally its better to structure the tree in the order it *should*
happen, not the order it *did* happen.

[intentional sillyness: ] If we were to order the tree in the way it
*did* happen, we'd have to work out when which person thought about
which idea first and what they were looking at when they thought of
that, and re-arrange commits to suit that order. {/instentional
sillyness]

Obviously that would be silly.

Generally however that does suggest, that where it is possible to, and
where it is logical to do so, commit squashing and commit re-ordering
is valueable.

For instance, if you commit something locally, and then you realise
you made a trivial mistake 3 commits later, it is better to create the
fix, and move that fix back to when the commit it pertained to. Nobody
wants to wade through dedicated commits where you fix up your mistakes
in minor syntax errors if you can actually avoid that in the first
place.


This also lends its hand to commit oriented testing, as it allows the
pushed trees to always be pristine, and have clean lines of history
that each commit on a given line can be expected to be used
independently, and be expected to be sane, instead of the commit
walker having to isolate the good commits and the bad commits that get
fixed 3 commits later.


The trick is not to be dogmatic about it, and identify the cases where
different things work out to be best, and use your judgement to work
out which one works best.

Rebases and merges were designed to be used in the same repository for
the most part, the only caveat being that any place you perform a
merge, performing a subsequent rebase of that merge gets tricky.

Merges are also convenient for merge reversals if they prove to be
neccessary, because you can just create HEAD with HEAD~3's tree and
you've reverted the whole merge, instead of having to work our where
the massive rebase line started and ended before it was applied
nuclearly and needing reversion ( somehow ). Granted this use case is
expected to be incredibly rare, but its just a demonstration of how
merge can be a help more than a hinderance in specific cases.

Oh, and as for merge commits and not needing patches ... that's
viable. Git is not really patch oriented.  Patches are more a view
of the data than the state of the data.

A clean merge just creates a new tree object by duplicating the tree
of HEAD^ where a child leaf is replaced with child leaves from HEAD^^
in a recursive fashion, and any patch as such would be garbage
simply showing a list of SHA1's with +/- on the front of them which
you couldn't directly use.

You could attempt to format that as a patch, but it would be basically
`git diff HEAD^ HEAD^^` with some special rules ( It really doesn't
map directly to diff, there's 3-way-diff format as well, but ... yeah
).

And non-clean merges are a bit of a dogs breakfast and can be a right
pain in the arse if somebody hits them in a rebase. I've just tried to
avoid those because they're too hard, and prefer to find a way to
resolve them in either HEAD^ or HEAD^^ first before merging to make
sure the merge is clean.


-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL



[gentoo-dev] Last rites: app-text/deplate, app-text/migemo, dev-utils/travis-yaml

2015-07-05 Thread Manuel Rüger
# Manuel Rüger mr...@gentoo.org (5 Jul 2015)
# Mask for various issues (missing ruby20 support, test failures)
# Removal in 30 days
app-text/deplate
app-text/migemo
dev-utils/travis-yaml



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Git workflow

2015-07-05 Thread Peter Stuge
C Bergström wrote:
  3) Ever tried to make a patch of the *actual* merge commit? Can one of
  the advocates of merge show me the git command to do that? (Sure you
  can diff between 2 commits, but the merge commit likes to avoid
  being seen)
 
  If there are no conflicts when merging then the merge commit does not
  contain any changes, so how could there be a patch? Do you actually
  know the Git data model? I wrote it down the other day.
 
  http://peter.stuge.se/git-data-model
 
 You deflect the question so nicely. If there is no merge conflict then
 a rebase would be just fine?
 
 You clearly know git very well - much better than I, why not just
 answer the question?

I tried to. My point was that when merge commits don't lead to
conflicts on file level (branches touch different files) then the
merge commit does not modify anything, so the patch is empty.

This is where knowing the data model becomes important to not get
angry with Git. When you know what is going on internally it's very
easy to deal with all the different cases. If on the other hand you
make assumptions about what Git does internally based on previous
experience or natural language then it's easy to get frustrated.


Now, if there are changes in a file in both branches then this needs
to be resolved somehow, manually or automatically. There are two or
more sources of changes.

A patch expresses the difference between two objects; the before and
the after so to say, but it can't really be used to express such a
merge resolution, becaue there are two before and one after. You
would need multiple patches to do so, one for each merged branch.

These you could create by diffing each parent with the merge commit.

But why do you need to?


  and a git pull --rebase before push will be clean and fast (no
  problems).
 
  Q: How do you deal with the two commits from other developers that
  were pushed while you were rebasing?
 
  A: You end up having to spin on the remote repo. That's really clumsy.
 
 Pragmatically - the answer to you question is the same as it exists
 today. You're scared of something which gentoo devs have been dealing
 with and resolving for years. It's not like CVS/SVN handles this
 magically better.

I'm not scared of spinning, but do you agree that it's really clumsy?

A merge commit *is* a much better way to handle this. It's accurate
and it makes sense.


  Arguing without checking makes you look bad.
 
 How? I didn't claim to know and clearly not knowing didn't seem
 important (to me).

Not knowing what you're arguing makes you look bad because you can
only contribute to the discussion if by chance you are correct, which
isn't so likely. It's more likely that your argument wastes time and
contributes nothing, if you don't know what you argue. This makes you
look bad.


 I'm just trying to passionately bring this up.

I think that's fine, and I welcome every discussion about workflow,
but it's only useful when everyone makes the effort to be
constructive and well-informed.


  I can't say I've ever cared to know the date of a commit, but I can
  say I have cared a lot about knowing which commit came 1st. Rebase,
  for better or worse, forces something to be 1st and it's clear and
  easy to see.
 
  A rebase, like a cherry-pick, loses the very information you claim to
  care about; the original parent of the commit.
 
 To clarify - I don't (clearly) give a pooh what the original parent
 was. I care much more about a linear history.

The linear history doesn't say what came first however, so you're
going against yourself.


 I rarely can see any value of the at-to-time of original commit
 compared to the final at-push-time commit (what's rebased).

Maybe that's the problem. There is great value in this, because it
shows how the commit in question was intended to change the base it
starts out with.

Rebasing might require modifying the commit so that it applies to the
new base, so after a rebase it is impossible to know if a given part
of the commit was created before the rebase or as part of the rebase.

This has two drawbacks; it makes review more difficult and risks
introducing bugs because of incomplete or incorrect rebasing.

A rebase, like a cherry-pick, combines these two changes into one,
and shouldn't be done too lightly.


 The value of linear history outweighs the arbitrary point you started from.

Linear history looks neat, and as I wrote earlier I really like it
too, but I also think that losing the extra information within merge
commits is not something to be take too lightly.


 imho a commit and development is not done until it's ready to be pushed.

I agree with that, but I think that's separate from the merge vs.
rebase discussion.


  If I controlled the gentoo git server, I'd
 
  I think it's a good thing that you don't, since you seem to still
  need to study Git in more detail.
 
 Peter - I'm ashamed of you - don't be a dick. We can keep this civil
 without subtle insults.

Sorry about that - I 

Re: [gentoo-dev] Git workflow

2015-07-05 Thread hasufell
On 07/05/2015 06:10 AM, C Bergström wrote:
 5) More about linear commits and history - I need to double check,
 but I don't think rebase changes the actual commit date (I could be
 mistaken).

 You are mistaken, and should have double checked before you argued.

 Arguing without checking makes you look bad.
 
 How? I didn't claim to know and clearly not knowing didn't seem
 important (to me). I'm not trying to overstate anything. I'm just
 trying to passionately bring this up. I ***wish*** someone with some
 guts would actually take charge of this on the gentoo side, have a
 vote or make some executive decision which is stronger than this wimpy
 policy we have now.
 

Most of what you brought up wasn't really useful critique, but rather
noise based on your personal frustration with git.

This thread is not about giving lectures on how git works. We appreciate
useful comments on the git workflow. But in order to give useful
comments, you have to know and understand the project and how it works
internally.

There will be a sh*tload of developer, feature and whatnot branches. It
is just insane to tell everyone to unconditionally do rebases
everywhere. You haven't even commented on a fraction of the resulting
problems. So please lets stop this discussion and move on.



[gentoo-dev] Problems updating Qt from 4.8.6 to 4.8.7

2015-07-05 Thread Sebastian Pipping
Hi there!


I'm having trouble updating Qt:4 (dev-qt/qt*-4.8*:4) from 4.8.6 to 4.8.7.
Looking at the ebuilds, they require some 4.8.7 versions to be installed
already that in turn cannot be installed because other ebuilds require
4.8.6 while not yet upgraded.

I am running the latest version of portage.  Is there some trick I
should know about or am I stuck with Qt 4.8.6 on that box forever?  How
did you update?

Thanks for your help, best,



S



Re: [gentoo-dev] Re: Git workflow

2015-07-05 Thread Jason Zaman
On Sun, Jul 05, 2015 at 12:03:29PM +0700, C Bergström wrote:
 On Sun, Jul 5, 2015 at 11:31 AM, Duncan 1i5t5.dun...@cox.net wrote:
  C Bergström posted on Sun, 05 Jul 2015 01:17:41 +0700 as excerpted:
 
  I super don't like merge workflows.
  1) merge commits are confusing at best and normal tools don't display
  and work with them as you'd always expect
 
  git log --graph, as others have mentioned.
 
 we are not talking about the same thing.
 
 I want to see the diff - not the graph.
 
 svn diff -r 1234
 git show hash
 
 show me the merge commit in diff format

So this isn't a good comparison. You are asking for a merge commit in
git and a normal commit in svn. Svn can branch but it is so complicated
that no one ever does it. If you were similarly to never ever make
branches in git its not a huge deal. (There are not *that* many pushes
to the tree, if you look at #gentoo-commits there is plenty of time
between commits.)

While I personally rebase almost all of my stuff, merges are important
when taking contributions. A good example would be the main linux kernel
tree, if Linus were to merge everything it would be incredibly difficult
to figure anything out.

-- Jason



Re: [gentoo-dev] Git workflow

2015-07-05 Thread Patrice Clement
Sunday 05 Jul 2015 16:03:27, hasufell wrote :
 On 07/05/2015 06:10 AM, C Bergström wrote:
  5) More about linear commits and history - I need to double check,
  but I don't think rebase changes the actual commit date (I could be
  mistaken).
 
  You are mistaken, and should have double checked before you argued.
 
  Arguing without checking makes you look bad.
  
  How? I didn't claim to know and clearly not knowing didn't seem
  important (to me). I'm not trying to overstate anything. I'm just
  trying to passionately bring this up. I ***wish*** someone with some
  guts would actually take charge of this on the gentoo side, have a
  vote or make some executive decision which is stronger than this wimpy
  policy we have now.
  
 
 Most of what you brought up wasn't really useful critique, but rather
 noise based on your personal frustration with git.
 
 This thread is not about giving lectures on how git works. We appreciate
 useful comments on the git workflow. But in order to give useful
 comments, you have to know and understand the project and how it works
 internally.
 
 There will be a sh*tload of developer, feature and whatnot branches. It
 is just insane to tell everyone to unconditionally do rebases
 everywhere. You haven't even commented on a fraction of the resulting
 problems. So please lets stop this discussion and move on.
 

+1

How about you guys carry on this discussion somewhere else in a place like,
I don't know, IRC?

#which-git-workflow-fits-best-my-needs




Re: [gentoo-dev] Git workflow

2015-07-05 Thread William Hubbs
On Sun, Jul 05, 2015 at 04:03:27PM +0200, hasufell wrote:
 On 07/05/2015 06:10 AM, C Bergström wrote:
  5) More about linear commits and history - I need to double check,
  but I don't think rebase changes the actual commit date (I could be
  mistaken).
 
  You are mistaken, and should have double checked before you argued.
 
  Arguing without checking makes you look bad.
  
  How? I didn't claim to know and clearly not knowing didn't seem
  important (to me). I'm not trying to overstate anything. I'm just
  trying to passionately bring this up. I ***wish*** someone with some
  guts would actually take charge of this on the gentoo side, have a
  vote or make some executive decision which is stronger than this wimpy
  policy we have now.
  
 
 Most of what you brought up wasn't really useful critique, but rather
 noise based on your personal frustration with git.
 
 This thread is not about giving lectures on how git works. We appreciate
 useful comments on the git workflow. But in order to give useful
 comments, you have to know and understand the project and how it works
 internally.
 
 There will be a sh*tload of developer, feature and whatnot branches. It
 is just insane to tell everyone to unconditionally do rebases
 everywhere. You haven't even commented on a fraction of the resulting
 problems. So please lets stop this discussion and move on.

The only thing you would have to worry about is rebasing your commits if
they are already pushed.

If you are working on a topic branch to make your changes, which has not
been published, just rebase that branch on master, then merge it to
master, and no one knows any different.

I'm going to start a thread on the signatures, because I have a question
about that.

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] Problems updating Qt from 4.8.6 to 4.8.7

2015-07-05 Thread Ben Kohler
On Sun, Jul 5, 2015 at 2:25 PM, Sebastian Pipping sp...@gentoo.org wrote:


 I really wonder if there is any update path from having

   dev-qt/qtcore-4.8.6-r2
   dev-qt/qtgui-4.8.6-r4

 installed before to

   dev-qt/qtcore-4.8.7
   dev-qt/qtgui-4.8.7



 Usually this kind of conflict happens when for SOME reason, at least one
part of the dev-qt/*:4 collection is not being pulled into the depgraph,
like if there's one qt* package which is now orphaned/depcleanable.  If
even one piece is not pulled into the dep list, it will try to hold all the
rest of the pieces back at 4.8.6.

Something like this may help, to just force all installed qt4 pieces to
upgrade, regardless of whether they are deps of anything:

emerge -1av $(qlist -ICS dev-qt/ | grep 4$)

Another possibility for a conflict is if you have some package.use entries
for dev-qt/ that are too version specific, where the upgraded 4.8.7 version
of some component would not meet the USE requirements of some reverse dep.
Then it'd lock that one component at 4.8.6 and again it's game-over for the
upgrade.

Hope this helps,
Ben Kohler
(iamben @ Freenode)


[gentoo-dev] signatures in git work flow

2015-07-05 Thread William Hubbs
All,

I've been hearing lately that the newest versions of git allow you to
sign pushes.

Once we have a version of git stable that allows this, can someone fill
me in on why we would need to sign commits if we sign pushes? If we have
a signature on the push, we know where that came from, so it seems to be
overkill to sign the commits as well.

Thanks,

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] Re: Git workflow

2015-07-05 Thread William Hubbs
On Sun, Jul 05, 2015 at 07:17:26PM +0400, Jason Zaman wrote:
 On Sun, Jul 05, 2015 at 12:03:29PM +0700, C Bergström wrote:
  On Sun, Jul 5, 2015 at 11:31 AM, Duncan 1i5t5.dun...@cox.net wrote:
   C Bergström posted on Sun, 05 Jul 2015 01:17:41 +0700 as excerpted:
  
   I super don't like merge workflows.
   1) merge commits are confusing at best and normal tools don't display
   and work with them as you'd always expect
  
   git log --graph, as others have mentioned.
  
  we are not talking about the same thing.
  
  I want to see the diff - not the graph.
  
  svn diff -r 1234
  git show hash
  
  show me the merge commit in diff format
 
 So this isn't a good comparison. You are asking for a merge commit in
 git and a normal commit in svn. Svn can branch but it is so complicated
 that no one ever does it. If you were similarly to never ever make
 branches in git its not a huge deal. (There are not *that* many pushes
 to the tree, if you look at #gentoo-commits there is plenty of time
 between commits.)
 
 While I personally rebase almost all of my stuff, merges are important
 when taking contributions. A good example would be the main linux kernel
 tree, if Linus were to merge everything it would be incredibly difficult
 to figure anything out.

I'm with Duncan on this. I think I understand what he's asking for...

I think he is asking the question, What changed in commit hash. 

If you use the hash of a merge commit with git show, you get nothing, so
the merge commit is useless in terms of following changes.

William


signature.asc
Description: Digital signature


Re: [gentoo-dev] Problems updating Qt from 4.8.6 to 4.8.7

2015-07-05 Thread Sebastian Pipping
On 05.07.2015 20:44, Alexandre Rostovtsev wrote:
 What I usually end up doing is listing my installed dev-qt/qt* ebuilds, and
 updating all of them together explicitly:
 
 emerge -1 qtcore:4 qtgui:4 qtsql:4 etc.

That's what I tried but it doesn't seem to work with this update.

Looking at the dependencies of qtgui

  dev-qt/qtgui-4.8.6-r4
DEPEND
  ~dev-qt/qtcore-4.8.6

  dev-qt/qtgui-4.8.7
DEPEND
  ~dev-qt/qtcore-4.8.7

I really wonder if there is any update path from having

  dev-qt/qtcore-4.8.6-r2
  dev-qt/qtgui-4.8.6-r4

installed before to

  dev-qt/qtcore-4.8.7
  dev-qt/qtgui-4.8.7

after.  Right now, it looks like I have to use emerge -C .. to
un-install them completely, temporary breaking Qt and installing 4.8.7
fresh.  I'm still hoping for some way to not needing to do that.


 Alternatively, just try emerge --update --deep world - it probably should
 work if you have a consistent, complete and updateable world set.

That's where I'm coming from.  It doesn't stop complaining because of Qt.

Best,



Sebastian




Re: [gentoo-dev] Git workflow

2015-07-05 Thread NP-Hardass
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Sun, 05 Jul 2015 21:35:23 +0200
hasufell hasuf...@gentoo.org wrote:
 https://wiki.gentoo.org/wiki/Gentoo_git_workflow#naming_convention
 

Ah ha!  I must have missed that the last time that I read that wiki
article.  Thanks for the link hasufell.

- --
NP-Hardass
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJVmYgOAAoJEBzZQR2yrxj7DJYP/0Bj9eyo1zKRewCfV/VheHi4
ECMTkw0aVsYWCAELfTOZnUh8+jxE7GoE61DYy4xAgC2YjxI8dQhCKhpiK+8LUePy
0YNk7W8u4szNcj47V7/D7+DTebK7ARLQKwxTekKMNMMUmw9XU1wudjmdv1EPKS4h
kzDDiswz4BFo5Tllb96FTAoh9uD2M1mpj6B0M0y2svxqp/aBDY6hfiDNMdY64QKc
nxkK+Nu7cwaJPJoYyTINVqYrz5W5aaVGTL2EwtL37p+VBfP+K5ygSI3kN/Exo0BP
KkrUP+4JAu3G+g/GJqSgVJGmNiKcLG+DvsaTlJBKrcRDpuN9lJnMn5SV3HoMF1iM
wEScrzdSgoPUsx1v1r+BidQVlRrS7D0T6r/1rWN3mX2F43AvBCztTJn/sEfG6zyf
nRVlckMDKwLof5aeSmPqzpLx6XMqcT5cC+ivehZ9WVgZmfyCh01bNJdf+FsnILrS
6BG3ui61CSbR/0aTTTig0pcoB8Fa0WfzSRFRf1JZsxOewU8OFlx2QNyabi9fUd+n
SyJqxgE77J8ZaFPcha4oXhUMvda8IaKE3ISjqdw4cIVtLxILLFMXYIPDg+NAp01P
dxZNEV81YF0+D5e6ktel1qA/5SlHGJf7iA7oqsqkz9nkBDhNlZ1KYDrDLoBlzTPK
XptZ/bIIeZipRxyQILTX
=rNhp
-END PGP SIGNATURE-


Re: [gentoo-dev] Git workflow

2015-07-05 Thread hasufell
On 07/05/2015 08:57 PM, William Hubbs wrote:
 On Sun, Jul 05, 2015 at 04:03:27PM +0200, hasufell wrote:
 On 07/05/2015 06:10 AM, C Bergström wrote:
 5) More about linear commits and history - I need to double check,
 but I don't think rebase changes the actual commit date (I could be
 mistaken).

 You are mistaken, and should have double checked before you argued.

 Arguing without checking makes you look bad.

 How? I didn't claim to know and clearly not knowing didn't seem
 important (to me). I'm not trying to overstate anything. I'm just
 trying to passionately bring this up. I ***wish*** someone with some
 guts would actually take charge of this on the gentoo side, have a
 vote or make some executive decision which is stronger than this wimpy
 policy we have now.


 Most of what you brought up wasn't really useful critique, but rather
 noise based on your personal frustration with git.

 This thread is not about giving lectures on how git works. We appreciate
 useful comments on the git workflow. But in order to give useful
 comments, you have to know and understand the project and how it works
 internally.

 There will be a sh*tload of developer, feature and whatnot branches. It
 is just insane to tell everyone to unconditionally do rebases
 everywhere. You haven't even commented on a fraction of the resulting
 problems. So please lets stop this discussion and move on.
 
 The only thing you would have to worry about is rebasing your commits if
 they are already pushed.
 

I will repeat it once more:
1. conflict resolution is more difficult with rebases (rebases are still
encouraged though in the current git workflow draft, it just seems
people haven't read it), it will increase the amount of bad commits. And
it can be a lot more work.
2. doesn't work if you want to properly merge user branches (or
literally any branch) without losing information (such as development
information contained in the branch-structure or user signatures)
3. is totally unrelated to the topic of a clean git history. You can
have an unclean git history with rebases and merges and without rebases
and without merges.
4. complicates concurrent branches... it will lead to
mass-cherry-picking or non-fast-forward pushes (which will be rejected,
at least on the master branch) which are both terrible workflows and
very prone to error
5. doesn't work particularly well with pull requests since the merged
pull request may diverge non-trivially from the branch it comes from
(especially if the guy who merges decides to squash commits or
whatnot). There are workarounds to that, but they may complicate a
PR-workflow without further tooling (such as gerrit).
6. limits developers to a particular workflow type without a good reason
(I want a linear history! alone isn't really one). The gentoo git
workflow draft already tries to give hints about when to use rebases and
when to use merges in order to ensure a clean history. Ofc these hints
could be improved.
7. If you want a patch-based DVCS, then git is the wrong choice. Use
darcs instead. It does a far better job at that.

Rebases are not easy in non-trivial projects. They have some advantages
though and that's why the draft recommends to try a rebase first for
regular push-conflicts. Ofc, you only know that if you have read it.



Re: [gentoo-dev] Problems updating Qt from 4.8.6 to 4.8.7

2015-07-05 Thread Alexandre Rostovtsev
On Sun, 2015-07-05 at 20:25 +0200, Sebastian Pipping wrote:
 Hi there!
 
 
 I'm having trouble updating Qt:4 (dev-qt/qt*-4.8*:4) from 4.8.6 to 4.8.7.
 Looking at the ebuilds, they require some 4.8.7 versions to be installed
 already that in turn cannot be installed because other ebuilds require
 4.8.6 while not yet upgraded.
 
 I am running the latest version of portage.  Is there some trick I
 should know about or am I stuck with Qt 4.8.6 on that box forever?  How
 did you update?

What I usually end up doing is listing my installed dev-qt/qt* ebuilds, and
updating all of them together explicitly:

emerge -1 qtcore:4 qtgui:4 qtsql:4 etc.

Alternatively, just try emerge --update --deep world - it probably should
work if you have a consistent, complete and updateable world set.



Re: [gentoo-dev] Git workflow

2015-07-05 Thread Brian Dolbec
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

On Sun, 5 Jul 2015 15:00:26 -0400
NP-Hardass np-hard...@gentoo.org wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 On July 5, 2015 2:57:14 PM EDT, William Hubbs willi...@gentoo.org
 wrote:
 If you are working on a topic branch to make your changes, which has
 not
 been published, just rebase that branch on master, then merge it to
 master, and no one knows any different.
 
 William
 
 
 Speaking of which... Will there be some sort of standard or policy
 regarding branch names?
 
 - --
 NP-Hardass


I would think that there would be a very small number of branches to the
main master tree.  Those would be for the large projects like kde,
gnome,...  They would still do their development work in their
overlays, then move them into a branch for final prep and checks, then
merge from there into master with one merge commit.

Any other small branches could live in developer space if they needed
to share them with one or two others.  With git it is easy to add other
remotes to pull and checkout from.  So, no need to clutter up the main
git repo with small experimental branches.

- -- 
Brian Dolbec dolsen

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.1

iQJ8BAEBCgBmBQJVmYP0XxSAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNUQ3Qzc0RTA4MUNDNzBEQjRBNEFBRjVG
QkJEMDg3Mjc1ODIwRUQ4AAoJEPu9CHJ1gg7YCYkP/3rQW/tBdwz7Aw+hm3wur85n
V8wzEKy5Xaf4oFhoFZPhE/VGFwxp2Bgy+mMjKMgJnlB3Ai6DVLJ50reAxmrcj/x9
juGTqEZRris3FiJ76DhdhCG4/jQMcA1n5Xrh/RoqD0b3OZuBBcT14xEireytNLAc
BEmtDUvi51KKLJP5SAHArCXknGP/KLaxbsTqTpBi9apfi7Apg+N1bDLLxRWBKCUD
NfVGU8ne1/LIi0GDqfuEOb6s+LkSKr5N1DGbJI6xYoPxt0ZUu/MJPnDSuPocfMT3
RaJlgmcQ4keO9EZZIyud0bFxRMJeW4YkLwACi/Fi+7DaZN2RKqXWRIF2UxDMJkBN
UJMcUzOj/hOcKSkrNDpzcgd41XldCEQ3a3Hj/o3PiSerJfPNJHc9+EbzQ5qD4WnY
LbTeqWRSdXeWN4lEJlc2hkE1El6cXhO02AgO59LarTjHYvE3AbFcJsRrZs2gKoSf
DES3nfHy4NtET/mcctfVdMo/0hHQ9ca/U8AgRoEe4HJIZsKNvGqkvlGm851Zw6QD
opE28fgtqzrZBK4CWukcHdpkouuizlFrkdoBGM6fGfixj9dWyCdLXJBSZv4+u6cp
HS4AjxzSzq2aUnK0T+rT00Tiuc8x1Hb/TJDjhzSmVUd3UfVIPAWz+Z8TvGnZMLbH
id7ovWmGfURvlzVUyBl4
=ePhP
-END PGP SIGNATURE-


Re: [gentoo-dev] Re: Git workflow

2015-07-05 Thread C Bergström
On Mon, Jul 6, 2015 at 2:15 AM, William Hubbs willi...@gentoo.org wrote:
 On Sun, Jul 05, 2015 at 07:17:26PM +0400, Jason Zaman wrote:
 On Sun, Jul 05, 2015 at 12:03:29PM +0700, C Bergström wrote:
  On Sun, Jul 5, 2015 at 11:31 AM, Duncan 1i5t5.dun...@cox.net wrote:
   C Bergström posted on Sun, 05 Jul 2015 01:17:41 +0700 as excerpted:
  
   I super don't like merge workflows.
   1) merge commits are confusing at best and normal tools don't display
   and work with them as you'd always expect
  
   git log --graph, as others have mentioned.
 
  we are not talking about the same thing.
 
  I want to see the diff - not the graph.
 
  svn diff -r 1234
  git show hash
 
  show me the merge commit in diff format

 So this isn't a good comparison. You are asking for a merge commit in
 git and a normal commit in svn. Svn can branch but it is so complicated
 that no one ever does it. If you were similarly to never ever make
 branches in git its not a huge deal. (There are not *that* many pushes
 to the tree, if you look at #gentoo-commits there is plenty of time
 between commits.)

 While I personally rebase almost all of my stuff, merges are important
 when taking contributions. A good example would be the main linux kernel
 tree, if Linus were to merge everything it would be incredibly difficult
 to figure anything out.

 I'm with Duncan on this. I think I understand what he's asking for...

 I think he is asking the question, What changed in commit hash.

 If you use the hash of a merge commit with git show, you get nothing, so
 the merge commit is useless in terms of following changes.

That comment was from me (not Duncan)

I have responded to every point - 1 by 1, but the passionate people
(most polite term I can find) haven't addressed most of the problems
or why commit reordering is a particular problem in gentoo's typical
case.

To avoid the ire of the bystanders - I'm out of this thread and maybe
those with more tact and tolerance carry this forward.



Re: [gentoo-dev] Git workflow

2015-07-05 Thread hasufell
On 07/05/2015 09:00 PM, NP-Hardass wrote:
 On July 5, 2015 2:57:14 PM EDT, William Hubbs willi...@gentoo.org
 wrote:
 If you are working on a topic branch to make your changes, which has
 not
 been published, just rebase that branch on master, then merge it to
 master, and no one knows any different.
 
 William
 
 
 Speaking of which... Will there be some sort of standard or policy
 regarding branch names?
 

https://wiki.gentoo.org/wiki/Gentoo_git_workflow#naming_convention



Re: [gentoo-dev] signatures in git work flow

2015-07-05 Thread Michael Orlitzky
On 07/05/2015 04:01 PM, William Hubbs wrote:
 All,
 
 I've been hearing lately that the newest versions of git allow you to
 sign pushes.
 
 Once we have a version of git stable that allows this, can someone fill
 me in on why we would need to sign commits if we sign pushes? If we have
 a signature on the push, we know where that came from, so it seems to be
 overkill to sign the commits as well.
 

The link Robin posted is a fun read and explains why:

  http://mikegerwitz.com/papers/git-horror-story




Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan schedule

2015-07-05 Thread William Hubbs
On Sun, Jul 05, 2015 at 09:05:59AM +0300, Andrew Savchenko wrote:
 On Sat, 4 Jul 2015 20:20:23 +0200 Peter Stuge wrote:
  It's important that the review flow is well-understood and efficient.
 
 This is impossible in our case due to the lack of manpower.
 We already have a lot of bugs, patches, stabilization requests
 hanging over there for months and even years. Stabilization request
 will require at least two developers to participate in each commit.
 This will double manpower required at least. Such approach can kill
 the whole project.

Agreed. Forcing all commits from developers to go through a code review
from another developer before they hit the tree would potentially
kill the entire project. I would strongly veto something like this,
because we flat out don't have the manpower to keep up with it.

 Code review is good at a limited scope, e.g. for non-developers
 where we have review anyway.
 
 Agreed; I could see something like this being beneficial.

 William



signature.asc
Description: Digital signature


Re: [gentoo-dev] Git workflow

2015-07-05 Thread NP-Hardass
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On July 5, 2015 2:57:14 PM EDT, William Hubbs willi...@gentoo.org
wrote:
If you are working on a topic branch to make your changes, which has
not
been published, just rebase that branch on master, then merge it to
master, and no one knows any different.

William


Speaking of which... Will there be some sort of standard or policy
regarding branch names?

- --
NP-Hardass
-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJVmX7KAAoJEBzZQR2yrxj7jJ4P/0DBoOxsAo9PDRXlglylBaPy
QX3LbQVKPs6910FGN7HXNFBHvYSAmbV8twrd0LchCDcjVnx8jZcuBymC1uVvEbpu
A9dCpZTDnnzoSSn8idWkvd8T1Zi5xmON34czPm4G+FvI+vBeJtYS/2cO80e/JvXa
vlpDBW6DKDxhJoBeTzxsdKk5kVFbK0ULSoKl8cx7zp+Q0R498dqDOy07/qJBCDJm
BwUZQNkUSHNy2tBz0yu6r9xJB0Utfso462SEkLVluM7dpM4o2N4ADqo24gzybYPC
x246bDqPhQ8xNQeL4TiTqv+WkdWcZqSP8saOu5l2njQfuW3bL7QIxhHBPJ21uRMn
L4RWpgHm10utnCglp8ZYeVC+CVaa/XS9ZJJEtbD1ftqPSO98yrip/y4j512b0X+h
7awBJk8g1BsZ3Ilwm67R3DqDVAnUBV2hyz84aN7/CzDAgqyh48y7ROSw3i/QkRh4
33c9gol00BGNFL1fc8kj4LdY+D/7WVAG7ysYklf64GVtSCMs2ibIrgfz5myswKgo
2VBQEaAIQTx7wa4mfd3KOL9ry1VQmoRR+vxv9OrExPVp4xU/wTpgkG8mZ1w2TZqv
IJf52JOQ1tJzTDWV/9HmtBuGH8QIG7M48V0mJvhEw0sutkYeKxTDMvVkM0+YaGIB
Or5Qo4Pi1bRcNOleG5c1
=yOlr
-END PGP SIGNATURE-


Re: [gentoo-dev] Problems updating Qt from 4.8.6 to 4.8.7

2015-07-05 Thread Alexandre Rostovtsev
On Sun, 2015-07-05 at 21:25 +0200, Sebastian Pipping wrote:
 On 05.07.2015 20:44, Alexandre Rostovtsev wrote:
  What I usually end up doing is listing my installed dev-qt/qt* ebuilds, and
  updating all of them together explicitly:
  
  emerge -1 qtcore:4 qtgui:4 qtsql:4 etc.
 
 That's what I tried but it doesn't seem to work with this update.
 
 Looking at the dependencies of qtgui
 
   dev-qt/qtgui-4.8.6-r4
 DEPEND
   ~dev-qt/qtcore-4.8.6
 
   dev-qt/qtgui-4.8.7
 DEPEND
   ~dev-qt/qtcore-4.8.7
 

I don't think that DEPEND would block an update unless --with-bdeps=y



Re: Code Review Systems Was: [gentoo-dev] Git Migration: launch plan schedule

2015-07-05 Thread Patrick Lauer
On Sunday 05 July 2015 13:46:10 William Hubbs wrote:
 On Sun, Jul 05, 2015 at 09:05:59AM +0300, Andrew Savchenko wrote:
  On Sat, 4 Jul 2015 20:20:23 +0200 Peter Stuge wrote:
   It's important that the review flow is well-understood and efficient.
  
  This is impossible in our case due to the lack of manpower.
  We already have a lot of bugs, patches, stabilization requests
  hanging over there for months and even years. Stabilization request
  will require at least two developers to participate in each commit.
  This will double manpower required at least. Such approach can kill
  the whole project.
 
 Agreed. Forcing all commits from developers to go through a code review
 from another developer before they hit the tree would potentially
 kill the entire project. I would strongly veto something like this,
 because we flat out don't have the manpower to keep up with it.
 
... or you have some pranksters just ok-ing all commits during their morning 
coffee, independent of content, which would keep things working at the cost of 
quality ...




[gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2015-07-05 23:59 UTC

2015-07-05 Thread Robin H. Johnson
The attached list notes all of the packages that were added or removed
from the tree, for the week ending 2015-07-05 23:59 UTC.

Removals:
dev-java/excalibur-logger   2015-06-29 12:44:14 monsieurp
kde-misc/kcmsystemd 2015-06-29 20:47:30 johu
games-misc/gpe-julia2015-07-02 10:53:51 mrueg
games-puzzle/gpe-lights 2015-07-02 10:54:53 mrueg
gpe-utils/gpe-clock 2015-07-02 10:55:44 mrueg
gpe-utils/gpe-edit  2015-07-02 10:55:44 mrueg
gpe-utils/gpe-filemanager   2015-07-02 10:55:44 mrueg
gpe-utils/gpe-ownerinfo 2015-07-02 10:55:44 mrueg
gpe-utils/gpe-plucker   2015-07-02 10:55:44 mrueg
gpe-utils/gpe-taskmanager   2015-07-02 10:55:44 mrueg
gpe-utils/gpe-what  2015-07-02 10:55:44 mrueg
gpe-base/gpe2015-07-02 10:56:33 mrueg
gpe-base/gpe-calculator 2015-07-02 10:56:33 mrueg
gpe-base/gpe-contacts   2015-07-02 10:56:33 mrueg
gpe-base/gpe-dm 2015-07-02 10:56:33 mrueg
gpe-base/gpe-gallery2015-07-02 10:56:33 mrueg
gpe-base/gpe-icons  2015-07-02 10:56:33 mrueg
gpe-base/gpe-login  2015-07-02 10:56:33 mrueg
gpe-base/libcontactsdb  2015-07-02 10:56:33 mrueg
gpe-base/libdisplaymigration2015-07-02 10:56:33 mrueg
gpe-base/libeventdb 2015-07-02 10:56:33 mrueg
gpe-base/libgpelaunch   2015-07-02 10:56:33 mrueg
gpe-base/libgpepimc 2015-07-02 10:56:34 mrueg
gpe-base/libgpevtype2015-07-02 10:56:34 mrueg
gpe-base/libgpewidget   2015-07-02 10:56:34 mrueg
gpe-base/libgtkstylus   2015-07-02 10:56:34 mrueg
gpe-base/libhandoff 2015-07-02 10:56:34 mrueg
gpe-base/libmimedir 2015-07-02 10:56:34 mrueg
gpe-base/libschedule2015-07-02 10:56:34 mrueg
gpe-base/libtododb  2015-07-02 10:56:34 mrueg
dev-perl/inline-files   2015-07-04 12:32:39 dilfridge
sys-apps/getent 2015-07-04 19:43:48 blueness
www-servers/gorg2015-07-05 06:32:17 graaff

Additions:
net-p2p/classified-ads  2015-06-29 05:39:09 idella4
kde-misc/systemd-kcm2015-06-29 20:43:23 johu
net-wireless/horst  2015-07-01 05:44:26 xmw
app-portage/grs 2015-07-01 10:42:57 blueness
net-libs/nfqueue-bindings   2015-07-01 22:39:58 zmedico
dev-python/locustio 2015-07-02 00:54:11 chutzpah
dev-python/setuptools_scm   2015-07-03 14:46:29 idella4
dev-lang/coffee-script  2015-07-03 22:11:22 mjo
dev-perl/Inline-Files   2015-07-04 12:29:54 dilfridge
perl-core/Unicode-Collate   2015-07-04 13:44:16 dilfridge
app-misc/ckb2015-07-04 13:58:25 mrueg
dev-python/pykka2015-07-04 14:02:56 mrueg
dev-python/freezegun2015-07-04 14:06:37 mrueg
app-text/itex2mml   2015-07-04 14:56:54 mrueg
dev-ruby/itextomml  2015-07-04 15:16:29 mrueg
dev-ruby/ritex  2015-07-04 16:05:27 mrueg
dev-ruby/websocket-driver   2015-07-04 19:24:27 graaff
dev-ruby/poltergeist2015-07-04 19:26:31 graaff
dev-ruby/nenv   2015-07-04 20:27:23 mrueg
dev-python/pytest-capturelog2015-07-05 09:14:24 mrueg
dev-python/pytest-localserver   2015-07-05 09:15:55 mrueg
dev-python/vcrpy2015-07-05 10:47:29 mrueg
x11-misc/flow-pomodoro  2015-07-05 10:53:06 mrueg
dev-libs/injeqt 2015-07-05 20:06:58 reavertm

--
Robin Hugh Johnson
Gentoo Linux Developer
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
Removed Packages:
dev-java/excalibur-logger,removed,monsieurp,2015-06-29 12:44:14
kde-misc/kcmsystemd,removed,johu,2015-06-29 20:47:30
games-misc/gpe-julia,removed,mrueg,2015-07-02 10:53:51
games-puzzle/gpe-lights,removed,mrueg,2015-07-02 10:54:53
gpe-utils/gpe-clock,removed,mrueg,2015-07-02 10:55:44
gpe-utils/gpe-edit,removed,mrueg,2015-07-02 10:55:44
gpe-utils/gpe-filemanager,removed,mrueg,2015-07-02 10:55:44
gpe-utils/gpe-ownerinfo,removed,mrueg,2015-07-02 10:55:44
gpe-utils/gpe-plucker,removed,mrueg,2015-07-02 10:55:44
gpe-utils/gpe-taskmanager,removed,mrueg,2015-07-02 10:55:44
gpe-utils/gpe-what,removed,mrueg,2015-07-02 10:55:44
gpe-base/gpe,removed,mrueg,2015-07-02 10:56:33
gpe-base/gpe-calculator,removed,mrueg,2015-07-02 10:56:33
gpe-base/gpe-contacts,removed,mrueg,2015-07-02 10:56:33
gpe-base/gpe-dm,removed,mrueg,2015-07-02 10:56:33
gpe-base/gpe-gallery,removed,mrueg,2015-07-02 10:56:33
gpe-base/gpe-icons,removed,mrueg,2015-07-02 10:56:33
gpe-base/gpe-login,removed,mrueg,2015-07-02 10:56:33
gpe-base/libcontactsdb,removed,mrueg,2015-07-02 10:56:33
gpe-base/libdisplaymigration,removed,mrueg,2015-07-02 10:56:33

Re: [gentoo-dev] Git workflow

2015-07-05 Thread Rich Freeman
On Sun, Jul 5, 2015 at 3:22 PM, Brian Dolbec dol...@gentoo.org wrote:

 I would think that there would be a very small number of branches to the
 main master tree.  Those would be for the large projects like kde,
 gnome,...  They would still do their development work in their
 overlays, then move them into a branch for final prep and checks, then
 merge from there into master with one merge commit.

 Any other small branches could live in developer space if they needed
 to share them with one or two others.  With git it is easy to add other
 remotes to pull and checkout from.  So, no need to clutter up the main
 git repo with small experimental branches.


++

No reason to create barriers for devs maintaining branches in the main
repo, but in general this should be done when there is a lot of
collaboration going on, and not as a replacement for overlays/etc.
You can have as many remotes as you want already.  I recommend that
devs use discretion.

-- 
Rich



Re: [gentoo-dev] signatures in git work flow

2015-07-05 Thread Kent Fredric
On 6 July 2015 at 08:01, William Hubbs willi...@gentoo.org wrote:
 Once we have a version of git stable that allows this, can someone fill
 me in on why we would need to sign commits if we sign pushes? If we have
 a signature on the push, we know where that came from, so it seems to be
 overkill to sign the commits as well.

The TL;DR of why though is basically: It allows a verifiable record
of which user set BRANCH/$ID to == $COMMITSHA1.

That is all.

It doesn't verify the commits themselves, only where they are visible.
( ie: so if there's experimental dangerous stuff in a side branch, a
malicious dev can't point master to there and blame the person with
the signed commit for breaking the tree )



I noted that even though I can sign pushes now, upon experimentation I
found the server couldn't respond to signed pushes.

Seems you need to upgrade git on the receiving side *first* to make
the feature even an optional thing. ( Github for instance does not
support signed pushes yet either ).

So we'd have to get it working in an optional state long before we
could get it to be mandatory.


-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL



Re: [gentoo-dev] Re: Git workflow

2015-07-05 Thread Kent Fredric
On 6 July 2015 at 07:15, William Hubbs willi...@gentoo.org wrote:
 If you use the hash of a merge commit with git show, you get nothing, so
 the merge commit is useless in terms of following changes.


git show SHA1 -m

-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL



Re: [gentoo-dev] signatures in git work flow

2015-07-05 Thread Rich Freeman
On Sun, Jul 5, 2015 at 4:01 PM, William Hubbs willi...@gentoo.org wrote:

 I've been hearing lately that the newest versions of git allow you to
 sign pushes.

 Once we have a version of git stable that allows this, can someone fill
 me in on why we would need to sign commits if we sign pushes? If we have
 a signature on the push, we know where that came from, so it seems to be
 overkill to sign the commits as well.


Those push signatures aren't actually exposed to users, and I'm not
sure if they're really even a part of the repository, but more like a
log item.

This is a bit like saying why do we need signed manifests when devs
already need an ssh key to commit to cvs?  Push signatures are just
another form of authentication for pushing.  Commit signatures are
bound to the specific changes, and follow the code around if it gets
branched/merged/etc (but not rebased).  Pushing and committing aren't
really the same thing in git, though our single-master workflow tends
to make them seem interchangeable.

That's my general sense of it.

All the gpg stuff really exposes the weakness of git being based on
sha1 though.  I wouldn't think that it would be that hard to change
git's hash function, with the caveat that the resulting repositories
might not be backwards-compatible.  Just change the various headers
from blob to blob-sha256 and so on - the compacted file formats
might require a tweak and should have a field added for hash type
anytime a hash is used.  The old commits with signatures/etc would
still be valid - they'd continue to be named by their sha1 hashes and
references to them would use a blob/tree/parent/etc header instead of
a blob-sha256/tree-sha256/parent-sha256 header and so on.  For
compatibility make the default to stick with sha1 and the old file
formats on an old repository unless a setting is set on it, and
deprecate the format.

-- 
Rich



Re: [gentoo-dev] Problems updating Qt from 4.8.6 to 4.8.7

2015-07-05 Thread Ben de Groot
On 6 July 2015 at 03:25, Sebastian Pipping sp...@gentoo.org wrote:
 On 05.07.2015 20:44, Alexandre Rostovtsev wrote:
 What I usually end up doing is listing my installed dev-qt/qt* ebuilds, and
 updating all of them together explicitly:

 emerge -1 qtcore:4 qtgui:4 qtsql:4 etc.

 That's what I tried but it doesn't seem to work with this update.

 Looking at the dependencies of qtgui

   dev-qt/qtgui-4.8.6-r4
 DEPEND
   ~dev-qt/qtcore-4.8.6

   dev-qt/qtgui-4.8.7
 DEPEND
   ~dev-qt/qtcore-4.8.7

 I really wonder if there is any update path from having

   dev-qt/qtcore-4.8.6-r2
   dev-qt/qtgui-4.8.6-r4

 installed before to

   dev-qt/qtcore-4.8.7
   dev-qt/qtgui-4.8.7

 after.  Right now, it looks like I have to use emerge -C .. to
 un-install them completely, temporary breaking Qt and installing 4.8.7
 fresh.  I'm still hoping for some way to not needing to do that.


 Alternatively, just try emerge --update --deep world - it probably should
 work if you have a consistent, complete and updateable world set.

 That's where I'm coming from.  It doesn't stop complaining because of Qt.

 Best,



 Sebastian



See also 
https://wiki.gentoo.org/wiki/Qt/FAQ#Why_do_I_get_blockers_when_trying_to_emerge_Qt.3F

-- 
Cheers,

Ben | yngwin
Gentoo developer