Willy,

Am 09.01.19 um 05:31 schrieb Willy Tarreau:
> Except that the "naturally" part here is manually performed by someone,
> and an issue tracker is nothing more than an organized todo list, which
> *is* useful to remind that you missed some backports. It regularly happens
> to us, like when the safety of some fixes is not certain and we prefer to
> let them run for a while in the most recent versions before backporting
> them to older branches. This is exactly where an issue tracker is needed,
> to remind us that these fixes are still needed in older branches.

So the commits are not being cherry-picked in the original order? I
imagined that the process went like this:

1. List all the commits since the last cherry-picks
2. Look in the commit message to see whether the commit should be
backported.
3. Cherry-pick the commit.

In the specific case of GitHub's issue tracker: If a issue is referenced
in a commit message the commit will automatically appear in the timeline
of that issue. This works even across repositories (by using
haproxy/haproxy#123 instead of just #123). It only shows when
specifically looking at a single issue, though and thus is not available
directly in the list of issues.

> If the issue tracker only tracks issues related to the most recent branch,

I believe you misunderstood me. What I attempted to say is:

The issue tracker tracks which branches the bug affects. But IMO it does
not need to track whether the backport already happened, because the
information that the backport needs to happen is in the commit itself
(see above).

> it will only solve the problem for this branch. For example, Veiko Kukk
> reported in November that compression in 1.7.11 was broken again. How do
> I know this ? Just because I've added an entry for this in my TODO file.
> This bug is apparently a failed backport, so it requires that the original
> bug is reopened and that any backport attempt to an older version is paused.

Is the failed backport a new bug or is it not? I'd say it's a new bug,
because the situation changed. It's a new bug (someone messed up the
backport) that affects haproxy-1.7, but does not affect haproxy-dev. You
describe it as an old bug that needs to be re-opened.

>> I'd throw my hat into the ring as well. I maintain a few Open Source
>> projects myself (though not of the size and importance of haproxy) and
>> actually use the GitHub issue tracker.
> 
> Thanks. From what I've been used to see on github, very very few projects
> do care about maintenance. Most of them are rolling releases. It actually
> took me a very long time to try to figure one project with multiple
> maintenance branches to see how they dealt with issues, and the few I
> found by then had disabled issues, which could have already been a hint
> about its suitability to the task. Just a few examples :
> 
> *snip*
> 
> You'll note that for many of them the repository is only a mirror by
> the way, so that's another hint.

I suspect the reason is simple: The project already had a working issue
tracker that predated GitHub. Many of these projects are way older than
GitHub.

Here's some more recent projects that probably grew up with GitHub. I
can't comment how they do the backports, though:

https://github.com/nodejs/node/issues (has LTS / Edge)
https://github.com/zfsonlinux/zfs/issues (has stable / dev)
https://github.com/antirez/redis/issues
https://github.com/moby/moby/issues (tons of automation based on an
issue template)

>>> With that said at the moment we don't have anything and the situation is
>>> not better than having a suboptimal tool.
>>
>> I agree.
> 
> To be totally transparent, I really think the tool is not well suited and
> that its main value is its large user base. But I also know that with you
> and Lukas suggesting to use it, you both will deploy a lot of efforts to
> build something good to prove me I'm wrong, possibly resulting in a nice
> solution in the end. And if some people are willing to invest time
> building something, it would be unfair from me to try to steer their

Clearly it's important that the developer team / you are able to
efficiently work with it as well.

> technical choices. Also, Lukas already managed to use the API to develop
> some tools, maybe this will be welcome to add some automated state
> transitions at some point.
> 
> So unless anyone has a better idea for now, and if you're feeling brave
> enough, let's give it a try.
> 

It's probably impossible to build something absolutely perfect without
real world data points. If a pain point arises it can be specifically
worked on. Currently this discussion is completely hypothetical.

Best regards
Tim Düsterhus

Reply via email to