<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Humorously, our compiler’s bug tracking database has been replaced 2x+ (plus a couple of JIRA renamings/renumberings)and despite having a mechanism to look up SOME of the old bugs (many got lost in each transition), looking up past bugs
 is an absolute mess.  There is simply a set of magic incantations to get some of our N-1 bugs, and
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Having shared numbers between bug trackers is the absolute ‘least’ we could do to make the bug tracking database actually usable in the future.  We have literal thousands of bug references in source, tests, commit message, and bugs that
 we literally will never know about again.  The result is a bunch of “well, this says it fixes Bug NNNN, so we better not touch it” without having a single hint as to what Bug NNNN was/is.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I STRONGLY suggest doing whatever we absolutely can do to make sure that we share numbers.  If we have to work with github to make this happen, we should.  If we have to spend 2x the time to make sure we do this and do it right, it is ABSOLUTELY
 worth it.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> cfe-dev <cfe-dev-bounces@lists.llvm.org> <b>On Behalf Of
</b>Richard Smith via cfe-dev<br>
<b>Sent:</b> Tuesday, April 21, 2020 6:51 PM<br>
<b>To:</b> Tom Stellard <tstellar@redhat.com><br>
<b>Cc:</b> llvm-dev <llvm-dev@lists.llvm.org>; cfe-dev <cfe-dev@lists.llvm.org>; openmp-dev (openmp-dev@lists.llvm.org) <openmp-dev@lists.llvm.org>; LLDB Dev <lldb-dev@lists.llvm.org><br>
<b>Subject:</b> Re: [cfe-dev] [llvm-dev] RFC: Switching from Bugzilla to Github Issues [UPDATED]<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Tue, 21 Apr 2020 at 17:00, Tom Stellard via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p>
</div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">On 04/21/2020 03:36 PM, Richard Smith via llvm-dev wrote:<br>
> On Tue, 21 Apr 2020 at 11:04, Philip Reames via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>> wrote:<br>
> <br>
>     +1 to James's take<br>
> <br>
>     I'd prefer simplicity of implementation over perfection here.<br>
> <br>
> 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.<br>
> <br>
> Here's another path we could take:<br>
> <br>
> 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.<br>
> 2) Sync the forked repository to the llvm repository, delete the llvm repository, rename "bugs" to "llvm", and make it public.<br>
> <br>
> 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.<br>
> <br>
> <br>
> 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:<br>
> <br>
>  * We end up with one single issue tracking system containing all issues, both old and new, both open and closed.<br>
>  * All links and references to existing bugs still work.<br>
>  * We have a single bug numbering system covering all bugs, and old bugs retain their numbers.<br>
<br>
Why are the bug numbers important?<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">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.)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">(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.)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">Could you help give some example use cases that require having<br>
a non-intersecting set of bug numbers for bugzilla bugs and github issues?<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">-Tom<br>
<br>
<br>
> <br>
> 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?<br>
> <br>
>     Philip<br>
> <br>
>     On 4/20/20 4:08 PM, James Y Knight via llvm-dev wrote:<br>
>>     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:<br>
>>     1. If the migration is messed up, the repo can be deleted, and the process run again, until we get a result we like.<br>
>>     2. The numbering can be fully-controlled.<br>
>>     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.<br>
>><br>
>>     We could also just have <a href="http://llvm.org/PR#%23%23" target="_blank">
llvm.org/PR###</a> <<a href="http://llvm.org/PR#%23%23" target="_blank">http://llvm.org/PR#%23%23</a>> 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, <a href="https://gcc.gnu.org/pipermail/gcc/2020-April/232030.html" target="_blank">
https://gcc.gnu.org/pipermail/gcc/2020-April/232030.html</a>).<br>
>><br>
>>     Then we could introduce a new naming scheme for github issue shortlinks.<br>
>><br>
>>     On Mon, Apr 20, 2020 at 3:50 PM Richard Smith via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>> wrote:<br>
>><br>
>>         On Mon, 20 Apr 2020 at 12:31, Tom Stellard via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>> wrote:<br>
>><br>
>>             Hi,<br>
>><br>
>>             I wanted to continue discussing the plan to migrate from Bugzilla to Github.<br>
>>             It was suggested that I start a new thread and give a summary of the proposal<br>
>>             and what has changed since it was originally proposed in October.<br>
>><br>
>>             == Here is the original proposal:<br>
>><br>
>>             <a href="http://lists.llvm.org/pipermail/llvm-dev/2019-October/136162.html" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2019-October/136162.html</a><br>
>><br>
>>             == What has changed:<br>
>><br>
>>             * You will be able to subscribe to notifications for a specific issue<br>
>>               labels.  We have a proof of concept notification system using github actions<br>
>>               that will be used for this.<br>
>><br>
>>             * Emails will be sent to llvm-bugs when issues are opened or closed.<br>
>><br>
>>             * We have the initial list of labels: <a href="https://github.com/llvm/llvm-project/labels" target="_blank">
https://github.com/llvm/llvm-project/labels</a><br>
>><br>
>>             == Remaining issue:<br>
>><br>
>>             * There is one remaining issue that I don't feel we have consensus on,<br>
>>             and that is what to do with bugs in the existing bugzilla.  Here are some options<br>
>>             that we have discussed:<br>
>><br>
>>             1. Switch to GitHub issues for new bugs only.  Bugs filed in bugzilla that are<br>
>>             still active will be updated there until they are closed.  This means that over<br>
>>             time the number of active bugs in bugzilla will slowly decrease as bugs are closed<br>
>>             out.  Then at some point in the future, all of the bugs from bugzilla will be archived<br>
>>             into their own GitHub repository that is separate from the llvm-project repo.<br>
>><br>
>>             2. Same as 1, but also create a migration script that would allow anyone to<br>
>>             manually migrate an active bug from bugzilla to a GitHub issue in the llvm-project<br>
>>             repo.  The intention with this script is that it would be used to migrate high-traffic<br>
>>             or important bugs from bugzilla to GitHub to help increase the visibility of the bug.<br>
>>             This would not be used for mass migration of all the bugs.<br>
>><br>
>>             3. Do a mass bug migration from bugzilla to GitHub and enable GitHub issues at the same time.<br>
>>             Closed or inactive bugs would be archived into their own GitHub repository, and active bugs<br>
>>             would be migrated to the llvm-project repo.<br>
>><br>
>><br>
>>         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
<a href="http://llvm.org/PRxxxxx" target="_blank">llvm.org/PRxxxxx</a> <<a href="http://llvm.org/PRxxxxx" target="_blank">http://llvm.org/PRxxxxx</a>>, and if we can preserve all the issue numbers this would ease the transition pain substantially.<br>
>>          <br>
>><br>
>>             The key difference between proposal 1,2 and 3, is when bugs will be archived from bugzilla<br>
>>             to GitHub.  Delaying the archiving of bugs (proposals 1 and 2) means that we can migrate<br>
>>             to GitHub issues sooner (within 1-2 weeks), whereas trying to archive bugs during the<br>
>>             transition (proposal 3) will delay the transition for a while (likely several months)<br>
>>             while we evaluate the various solutions for moving bugs from bugzilla to GitHub.<br>
>><br>
>><br>
>>             The original proposal was to do 1 or 2, however there were some concerns raised on the list<br>
>>             that having 2 different places to search for bugs for some period of time would<br>
>>             be very inconvenient.  So, I would like to restart this discussion and hopefully we can<br>
>>             come to some kind of conclusion about the best way forward.<br>
>><br>
>>             Thanks,<br>
>>             Tom<br>
>><br>
>>             _______________________________________________<br>
>>             LLVM Developers mailing list<br>
>>             <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
>>             <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>><br>
>>         _______________________________________________<br>
>>         LLVM Developers mailing list<br>
>>         <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
>>         <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>><br>
>><br>
>>     _______________________________________________<br>
>>     LLVM Developers mailing list<br>
>>     <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
>>     <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
>     _______________________________________________<br>
>     cfe-dev mailing list<br>
>     <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
>     <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
> <br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</body>
</html>