[FFmpeg-devel] [RFC] Reviewing merges

wm4 nfxjfg at googlemail.com
Mon Apr 24 20:13:32 EEST 2017

On Mon, 24 Apr 2017 16:00:41 +0200
Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:

> 2017-04-24 15:38 GMT+02:00 wm4 <nfxjfg at googlemail.com>:
> > On Mon, 24 Apr 2017 15:23:20 +0200
> > Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
> >  
> >> 2017-04-24 13:39 GMT+02:00 Ronald S. Bultje <rsbultje at gmail.com>:  
> >> > Hi,
> >> >
> >> > On Mon, Apr 24, 2017 at 5:57 AM, wm4 <nfxjfg at googlemail.com> wrote:
> >> >  
> >> >> On Mon, 24 Apr 2017 10:46:38 +0200
> >> >> Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:  
> >> >> > 2017-04-24 5:50 GMT+02:00 Aaron Levinson <alevinsn at aracnet.com>:  
> >> >> > > On 4/23/2017 7:07 PM, Michael Niedermayer wrote:  
> >> >> > >>
> >> >> > >> Should changes ported from libav (what we call merges) be
> >> >> > >> reviewed before being pushed?  
> >> >> > >
> >> >> > > I've asked about this on IRC (#ffmpeg-devel).  The overall
> >> >> > > consensus there, at least at the time I asked it, is there is an
> >> >> > > expectation that such changes have already been properly
> >> >> > > reviewed for libav, so they are likely to be okay for ffmpeg,
> >> >> > > and while some issues have crept into ffmpeg as a result
> >> >> > > of these merges, the merge process has gone smoothly
> >> >> > > overall.  
> >> >> >
> >> >> > This does not sound correct to me.  
> >> >>
> >> >> Are you joking?  
> >>
> >> No, definitely not.  
> >
> > Well that's regrettable, because it appears you are misinformed.  
> This is very unlikely.
> You, otoh, were not around when some of the things you discuss
> below happened, so it is extremely likely that you are misinformed.

When was I not around? Or are you joking?

> > He is certainly right about the consensus on IRC.  
> > He is also right that patches get reviewed in Libav - probably more
> > than in FFmpeg.  
> I always considered this one of the more insulting lies that were
> spread.

Well, all commits in Libav must be reviewed, while on the other hand
FFmpeg, in many cases, allows pushing commits without even posting them
to the mailing list. This alone makes what I said definitely not a
"lie". Maybe there are actually no lies? Then why do you claim there
are lies? Are you misinformed?

What about the cases where Libav commits were actually reviewed by
FFmpeg developers who were on the libav-devel mailing list? Do you mean
to insult them if you say that Libav doesn't review patches properly?
Or are you just misinformed or joking? Tough choice for you...

> > The merges are rather smooth as well,  
> I don't know what exactly you mean but I (strongly) disagree, I
> believe the merges are not smooth at all.

So far most people seem to think the merges go smoothly.

Do you think merges would go more smoothly if we reviewed all
merge commits?

What about the cases where there were regressions (or supposed
regressions) after a change reviewed by many FFmpeg developers was
pushed? Do you mean to belittle these developers?

In some cases, mergers step up and ask FFmpeg developers to review
merges, to help with them, or to fix certain regressions caused by past
merges. Where are you in this? This issue seems important for you, but
why do I not ever see you helping out here? Why are you not doing any
merges yourself?

> > and we are all enjoying the good results of the merges  
> > (including yourself).  
> Given that I have written repeatedly on this mailing list that
> I do not enjoy them (on the contrary), I wonder what you are
> trying to say: I know you are not spreading lies on this mailing
> list but perhaps you could elaborate a little?

Oh, just today I have seen a TRAC ticket that was closed by you, and it
said something like "fixed by <commit>", where <commit> was a merge
commit. (You did that a while back, I merely _saw_ it today by
coincidence. I don't normally follow the bug tracker. While we're at
it, I've never seen you report a merge regression to me, even though
you seem to accuse me of causing some.)

Are you lying? Or maybe joking? Well I know you would never lie, so
maybe you were joking, but I don't find it funny.

> > Usually there are no major issues, although big intrusive
> > changes sometimes cause some regressions - which is
> > normal for this type of change.  
> But if the regressions remain unfixed, it is a little surprising
> to speak about "no major issues", don't you agree?

Which regressions? You claim they exist, yet you never mention any of
those by name. Maybe you're lying, joking, having problems due to
English not being your native language like you often mention, etc.?

> > Regarding what Michael said: merges were never reviewed,
> > and that's the only reason why the FFmpeg project could
> > keep up with Libav.  
> This isn't entirely correct (and some may consider the sentence
> misleading, but I know you weren't around so you cannot know):
> Because the avconv project controlled the api through one

You keep calling it "avconv project". The project is named Libav, and
it never called itself "avconv project". Do you now know the proper
project name? Or if you do, why do you keep using the wrong name? Is
this an attempt in belittling the other project? Whatever it is,
please stop it.

> distribution maintainer, most patches had to be merged.
> (You probably don't know that some couldn't be merged
> because it would have implied api/abi breaks which FFmpeg
> always tried hard to avoid.)

I'm not quite following you. The FFmpeg project could just not have
merged these commits. That some distros switch from FFmpeg to
alternative projects did not force you to merge those commit.

Be reminded that the Libav project did not add any APIs added by FFmpeg
either (with some minor exceptions added by developers who are on both
projects). For the most part, Libav completely ignored FFmpeg, and
FFmpeg could have done the same the other way around.

Nobody forced the FFmpeg project to do mass-merges.

Or maybe you are saying someone threatened Michael, you, or the FFmpeg
project, to merge these commits? How was the threat made, was violence
involved? In this case I would have recommended calling the police,
rather than actually merging the commits.

Or were there no threats? Maybe you were just lying/joking/something
else (what exactly?), and the FFmpeg project actually decided on its own
that it would be a good thing to merge these commits? Who made the
decision anyway? I'm fairly sure it must have been FFmpeg developers,
as Libav developers or distros had no say in this.

The conclusion is: FFmpeg didn't _have_ to do merges, and in fact Libav
did not do the reverse. Just like Libav, FFmpeg could have ignored the
other project.

Now most/all distros have switched from Libav to FFmpeg. Do you see
Libav being forced to merge FFmpeg API? No? then why was FFmpeg
"forced" to do it?

I'd really like to know your thoughts about this (we all know they are
free of lies and jokes, no worries).

> > You never seemed to have an issue with merges when
> > Michael did them,  
> How do you know this?

I have never seen you publicly demand Michael to stop the merges. If
that is wrong, can you link me the post where you did so? It's not like
I have total awareness of what happened in the past, but even if you
voiced your opinions that the merges are bad, you haven't tried very
hard (as in, I have never seen you make any significant effort to stop
them). Only recently you seem to have revved it up a little, despite the
fact that the merges have been going on for years.

The same goes to Michael, btw. Why suddenly the motion to review
merges? He's done merges for years without any outside reviews (there
were some exceptions like refcounting conversions). I mean, I'd totally
take it if he wrote that his past merging experience taught him that
more reviews are necessary, but I haven't seen such a claim.

> (I also ask because of the Coc that you so heavily requested
> and I wonder what you are implying.)

I requested the Coc? What?

> > although they were definitely not without problems.  
> I was always strongly against the merges but we unfortunately
> couldn't avoid them, see above.

Were you ever personally threatened by a Libav project member with
consequences if FFmpeg were to stop the merges?

Or maybe the project as a whole decided the merges were good? Maybe
your arguments either weren't very convincing, or you didn't ever try
hard enough?

> > These days, merges actually get more attention and reviewing,
> > because if there's something questionable or not simple, we  
> > get a "second opinion", rather than adding a bunch of hacks to
> > the merge commit, like Michael tended to do.  
> These constant insults are so bad that I don't understand
> why you are still around.

Frankly I don't understand why you are still around. I legitimately
believe we would be closer to a FFmpeg/Libav reunification if you had
not been around, or had held back with your, how do you call it,

Anyway, what insults? It's well known that Michael just "did" most
merges - he simply pushed them to the FFmpeg git repo. Several FFmpeg
project members have actually voiced their negative opinion about some
merge commits. For example, some merge commits changed more than it
seemed, and it was hard to figure out what was actually done.

Now I'm not blaming Michael - he did mostly a good job with those
merges. I'm just saying they were not perfect either, and I would claim
that the way we're doing merges has improved in the recent time.

Regarding the word "hacks" - well you can't deny that some of the merge
commits added some rather... juicy pieces of code. I believe the
wording is thus appropriate. A hack is a hack, but we know you take
such words personally whenever it's convenient.

> >> > What he meant was: it depends who does the merges, or rather,
> >> > what political faction (s)he is part of.
> >> >
> >> > Tsk, tsk.  
> >>
> >> (Apart from the Coc, I don't remember if you agreed or not:)
> >>
> >> Please try to comment on technical issues (or at least stay with
> >> the facts), the insults are less useful for this conversation.  
> >
> > Shouldn't you heed your own advice?
> >
> > Like, seriously, shouldn't you, since you're the worst offender ever
> > of the things you just brought up here?  
> Reading your email, I find your constant accusations a little surprising.

Well, and I find your personal issues with the Libav project odd, to
say the least.

Did they do something to you?

> > Frankly you're on the level of an aggressive troll, and always have
> > been when it came to things related to Libav.  
> Since you seem to believe so strongly in the avconv project:
> You do realize that it was mostly your wiki entry that convinced
> the Debian and gentoo people to change projects (project
> defaults) - why did you write it?

I wrote it to make users link my project against FFmpeg. In hindsight,
it was FFmpeg's better subtitle support which I valued most. Libav
didn't have it, so using my project with Libav was a disadvantage.

I believe everything that was written in this wiki article was the
truth (or honestly as close to the truth as I could get it). Keep in
mind that this didn't only say nice things about the FFmpeg project
(and it definitely mentioned good things about Libav). But the
conclusion was that FFmpeg had slightly more features, which made it
more useful for my project. It wasn't even focused on which project was
the better one in general or in style of development (I think it
claimed that Libav was better in the latter).

I don't believe this article actually made Debian/Gentoo actually
change their opinion, although it might have served as an argument.

> > I see that even in this thread, you tricked me again into typing out a
> > bunch of arguments with just one line of bullshit, while not bringing
> > up any arguments yourself. Oh well.  
> I mostly read insults above.

Well, I'm sorry that you feel insulted by mere facts. I think
everything you post in relation to Libav is borderline-trolling, in
some cases full trolling and legally relevant defamation. I also think
that this behavior (and your general behavior on the issue tracker) is
very harmful to this project.

Your confrontational language (read my post to see what I mean) isn't
very helpful either. You seem out for revenge against the Libav
developers, and you value digging up the past again just to make sure
Libav gets an "unfavorable" view. Well, at least you have stopped
calling the Libav developers "thieves" - I guess even you can see how
inappropriate that label is, and how every single piece of reality
actually goes against that.

Let me make this clear: we WILL be friendly with the Libav project. We
WILL work towards reunification with it. We WILL work towards reducing
conflict with it. We WILL make an effort to reach these goals. The past
does not matter, there was shit on both sides. Please remove the shit
still remaining on one of the sides.

Now excuse me, I will do something more useful, and that does not
require making an ass out of myself either.

More information about the ffmpeg-devel mailing list