[cfe-dev] [llvm-dev] RFC: Switching from Bugzilla to Github Issues [UPDATED]
Philip Reames via cfe-dev
cfe-dev at lists.llvm.org
Wed Apr 22 14:52:29 PDT 2020
On 4/22/20 2:35 PM, Richard Smith wrote:
> On Wed, 22 Apr 2020 at 09:45, Philip Reames via cfe-dev
> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>
> On 4/21/20 6:50 PM, Richard Smith wrote:
>
>> On Tue, 21 Apr 2020 at 17:00, Tom Stellard via llvm-dev
>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> On 04/21/2020 03:36 PM, Richard Smith via llvm-dev wrote:
>> > On Tue, 21 Apr 2020 at 11:04, Philip Reames via cfe-dev
>> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>> <mailto:cfe-dev at lists.llvm.org
>> <mailto:cfe-dev at lists.llvm.org>>> wrote:
>> >
>> > +1 to James's take
>> >
>> > I'd prefer simplicity of implementation over perfection
>> here.
>> >
>> > If we end up with two different bug numbering systems,
>> that's a problem that we will be paying for for many years.
>> It's worth some investment now to avoid that problem. And it
>> doesn't seem like it really requires much investment.
>> >
>> > Here's another path we could take:
>> >
>> > 1) Fork the llvm repository to a private "bugs" repository.
>> Mirror the bugzilla issues there. Iterate until we're happy,
>> as per James's proposal.
>> > 2) Sync the forked repository to the llvm repository,
>> delete the llvm repository, rename "bugs" to "llvm", and make
>> it public.
>> >
>> > Then we'll have the first N bugs in llvm-project/llvm being
>> *exactly* the bugzilla bugs, and we'll have excised the
>> existing github issues that we want to pretend never existed
>> anyway.
>> >
>> >
>> > I think we've missed an important step in the planning
>> here: we've not agreed on a set of goals for the transition.
>> Here are mine:
>> >
>> > * We end up with one single issue tracking system
>> containing all issues, both old and new, both open and closed.
>> > * All links and references to existing bugs still work.
>> > * We have a single bug numbering system covering all bugs,
>> and old bugs retain their numbers.
>>
>> Why are the bug numbers important?
>>
>>
>> These numbers appear all over our codebase. PR[0-9] appears 3592
>> times in Clang testcases, plus 45 times in Clang source code and
>> 119 times more as the file names of Clang testcases. If we add
>> inconvenience to looking up all of those, that makes maintenance
>> harder each time someone wants to look one of those up. (That's
>> probably a ~weekly occurrence for me.)
>
> For this use case, a simple script and bulk change to update
> references in source repo means the numbering can change
> arbitrarily. ~4k small mechanical changes is just not that much
> to review for a one time update assuming you trust the number
> remapping script and are just looking for overly aggressive regex
> matches.
>
> It's not quite as straightforward as you're suggesting: such a simple
> script would break a bunch of our CodeGen tests that match mangled
> names, if the length of any bug identifier changes. A grep for
> '_Z.*PR[0-9]' indicates that there are at least 254 of those that
> might need manual updating if we took this path.
We have an auto-updater for most llc scripts, but point taken. My main
point was this was one time, not that the one time was trivial.
>
> (I don't have any quick fixes for your other mentioned cases.)
>
> Another case I didn't think of before, but that seems very important:
> bug numbers appear in commit messages, and are primary context in
> understanding what the commit is doing and why. [We *could* go on a
> bulk history editing spree to fix those commit messages up (git
> filter-branch actually makes this fairly easy) -- but that too would
> create a little churn as everyone would needs to rebase all their work
> in progress on the rewritten master, and honestly, that sounds a lot
> scarier than any of the other things we've considered in this thread :)]
Agreed, history rewrite as a solution here should be rejected out of
hand. :)
>
>> Also, bug numbers appear in other bugs. I would assume we're not
>> going to be able to reliably figure out which numbers appearing
>> in a bug are bug numbers during the import process, so those
>> numbers will persist into the github issues world.
>>
>> (In addition, I'm sure multiple groups have their own tracking
>> systems, web pages, documentation, etc. that contain references
>> to LLVM PR numbers. But maybe we shouldn't worry too much about
>> that.)
>>
>> Could you help give some example use cases that require having
>> a non-intersecting set of bug numbers for bugzilla bugs and
>> github issues?
>>
>>
>> It makes conversing about bug numbers more difficult if you need
>> to clarify which system you're talking about. As a minor example,
>> we'd have to avoid saying "PR" for the new system in order to
>> avoid confusion, and get used to some new terminology, and
>> probably not use "bug 1234" to describe either system, because
>> that would be ambiguous. None of these individual factors seems
>> like a huge disruption, but they all seem like inconvenience
>> we should prefer to avoid if possible.
>>
>> -Tom
>>
>>
>> >
>> > It sounds like we don't all agree that the last point is
>> important, but if we can achieve it without any significant
>> additional cost, why not do so?
>> >
>> > Philip
>> >
>> > On 4/20/20 4:08 PM, James Y Knight via llvm-dev wrote:
>> >> In a previous discussion, one other suggestion had
>> been to migrate all the bugzilla bugs to a separate
>> initially-private "bug archive" repository in github. This
>> has a few benefits:
>> >> 1. If the migration is messed up, the repo can be
>> deleted, and the process run again, until we get a result we
>> like.
>> >> 2. The numbering can be fully-controlled.
>> >> Once the bugs are migrated to /some/ github
>> repository, individual issues can then be "moved" between
>> repositories, and github will redirect from the
>> movefrom-repository's bug to the target repository's bug.
>> >>
>> >> We could also just have llvm.org/PR###
>> <http://llvm.org/PR#%23%23> <http://llvm.org/PR#%23%23> be
>> the url only for legacy bugzilla issue numbers -- and have it
>> use a file listing the mappings of bugzilla id -> github id
>> to generate the redirects. (GCC just did this recently for
>> svn revision number redirections,
>> https://gcc.gnu.org/pipermail/gcc/2020-April/232030.html).
>> >>
>> >> Then we could introduce a new naming scheme for github
>> issue shortlinks.
>> >>
>> >> On Mon, Apr 20, 2020 at 3:50 PM Richard Smith via
>> llvm-dev <llvm-dev at lists.llvm.org
>> <mailto:llvm-dev at lists.llvm.org>
>> <mailto:llvm-dev at lists.llvm.org
>> <mailto:llvm-dev at lists.llvm.org>>> wrote:
>> >>
>> >> On Mon, 20 Apr 2020 at 12:31, Tom Stellard via
>> llvm-dev <llvm-dev at lists.llvm.org
>> <mailto:llvm-dev at lists.llvm.org>
>> <mailto:llvm-dev at lists.llvm.org
>> <mailto:llvm-dev at lists.llvm.org>>> wrote:
>> >>
>> >> Hi,
>> >>
>> >> I wanted to continue discussing the plan to
>> migrate from Bugzilla to Github.
>> >> It was suggested that I start a new thread and
>> give a summary of the proposal
>> >> and what has changed since it was originally
>> proposed in October.
>> >>
>> >> == Here is the original proposal:
>> >>
>> >>
>> http://lists.llvm.org/pipermail/llvm-dev/2019-October/136162.html
>> >>
>> >> == What has changed:
>> >>
>> >> * You will be able to subscribe to
>> notifications for a specific issue
>> >> labels. We have a proof of concept
>> notification system using github actions
>> >> that will be used for this.
>> >>
>> >> * Emails will be sent to llvm-bugs when issues
>> are opened or closed.
>> >>
>> >> * We have the initial list of labels:
>> https://github.com/llvm/llvm-project/labels
>> >>
>> >> == Remaining issue:
>> >>
>> >> * There is one remaining issue that I don't
>> feel we have consensus on,
>> >> and that is what to do with bugs in the
>> existing bugzilla. Here are some options
>> >> that we have discussed:
>> >>
>> >> 1. Switch to GitHub issues for new bugs only.
>> Bugs filed in bugzilla that are
>> >> still active will be updated there until they
>> are closed. This means that over
>> >> time the number of active bugs in bugzilla
>> will slowly decrease as bugs are closed
>> >> out. Then at some point in the future, all of
>> the bugs from bugzilla will be archived
>> >> into their own GitHub repository that is
>> separate from the llvm-project repo.
>> >>
>> >> 2. Same as 1, but also create a migration
>> script that would allow anyone to
>> >> manually migrate an active bug from bugzilla
>> to a GitHub issue in the llvm-project
>> >> repo. The intention with this script is that
>> it would be used to migrate high-traffic
>> >> or important bugs from bugzilla to GitHub to
>> help increase the visibility of the bug.
>> >> This would not be used for mass migration of
>> all the bugs.
>> >>
>> >> 3. Do a mass bug migration from bugzilla to
>> GitHub and enable GitHub issues at the same time.
>> >> Closed or inactive bugs would be archived into
>> their own GitHub repository, and active bugs
>> >> would be migrated to the llvm-project repo.
>> >>
>> >>
>> >> Can we preserve the existing bug numbers if we
>> migrate this way? There are lots of references to "PRxxxxx"
>> in checked in LLVM artifacts and elsewhere in the world, as
>> well as links to llvm.org/PRxxxxx <http://llvm.org/PRxxxxx>
>> <http://llvm.org/PRxxxxx>, and if we can preserve all the
>> issue numbers this would ease the transition pain substantially.
>> >>
>> >>
>> >> The key difference between proposal 1,2 and 3,
>> is when bugs will be archived from bugzilla
>> >> to GitHub. Delaying the archiving of bugs
>> (proposals 1 and 2) means that we can migrate
>> >> to GitHub issues sooner (within 1-2 weeks),
>> whereas trying to archive bugs during the
>> >> transition (proposal 3) will delay the
>> transition for a while (likely several months)
>> >> while we evaluate the various solutions for
>> moving bugs from bugzilla to GitHub.
>> >>
>> >>
>> >> The original proposal was to do 1 or 2,
>> however there were some concerns raised on the list
>> >> that having 2 different places to search for
>> bugs for some period of time would
>> >> be very inconvenient. So, I would like to
>> restart this discussion and hopefully we can
>> >> come to some kind of conclusion about the best
>> way forward.
>> >>
>> >> Thanks,
>> >> Tom
>> >>
>> >> _______________________________________________
>> >> LLVM Developers mailing list
>> >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> <mailto:llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
>> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> >>
>> >> _______________________________________________
>> >> LLVM Developers mailing list
>> >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> <mailto:llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
>> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> >>
>> >>
>> >> _______________________________________________
>> >> LLVM Developers mailing list
>> >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> <mailto:llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
>> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> > _______________________________________________
>> > cfe-dev mailing list
>> > cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>> <mailto:cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>>
>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>> >
>> >
>> >
>> > _______________________________________________
>> > LLVM Developers mailing list
>> > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> >
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20200422/020635a5/attachment-0001.html>
More information about the cfe-dev
mailing list