<div dir="ltr">Generally sounds pretty good to me - only variation on the theme (& certainly imho dealer's choice at this point - if you/whoever ends up doing this doesn't like the sound of it, they shouldn't feel they have to do it this way) - maybe creating blank issues up to the current bugzilla PR number (& maybe some padding) in a single/quick-ish (no idea how quickly those can be created) window might help reduce the need for race conditions/shutting down bug reporting, etc</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 29, 2020 at 8:25 AM Tom Stellard via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
Thanks to everyone who provided feedback.  I would like to propose a<br>
more detailed plan based on the everyone's comments.  It seems like there was a strong<br>
preference to maintain the bug ID numbers, so this proposal tries to address that.<br>
<br>
TLDR; This proposes to maintain bug ID numbers by overwriting existing GitHub issues<br>
instead of creating new ones.  e.g. <a href="http://github.com/llvm/llvm-project/issues/1" rel="noreferrer" target="_blank">github.com/llvm/llvm-project/issues/1</a> will<br>
be overwritten with data from <a href="http://llvm.org/PR1" rel="noreferrer" target="_blank">llvm.org/PR1</a>.  There will be some bugs that<br>
end up having their data copied into pull requests, which may be strange,<br>
but the data will be preserved and the IDs will be preserved and this would<br>
only happen to very old bugs.<br>
<br>
Proposal:<br>
<br>
Detailed steps for doing the migration:<br>
<br>
<br>
* Weeks or days before the migration:<br>
<br>
1. Create a new GitHub repository called llvm-bug-archive and import bug<br>
data from bugzilla.<br>
<br>
This step should not be under any kind of time pressure, so that the conversion<br>
process can be debugged and refined.<br>
<br>
2. Install label notification system using GitHub actions and enable web hook<br>
to send emails to llvm-bugs list.<br>
<br>
* Day before the migration:<br>
<br>
3. Make bugzilla readonly.<br>
<br>
4. Import any new bugs created since the last import.<br>
<br>
There may be commit access disruption during the migration, so <br>
completing these steps the day before will limit the amount of down time.<br>
<br>
5. Temporarily re-enable issues in the llvm-project repo and copy existing issues<br>
to the llvm-bug-archive repo so they get higher IDs numbers than any<br>
existing PR.  Disable issues when done.<br>
<br>
Note that we will copy issues instead of moving them, which means the original<br>
issue will remain in tact.  This will allow us to retain the bug IDs<br>
for future use and not 'lose' a bug ID.<br>
<br>
* Day of migration:<br>
<br>
6. Lockdown the repo as much as possible to prevent people from creating<br>
issues or pull requests.<br>
<br>
Temporarily making the repo private may be one way to achieve this.  Other<br>
suggestions welcome.<br>
<br>
7. Copy issues with overlapping issues IDs from the llvm-bug-archive repo<br>
into the llvm-project repo.<br>
<br>
Issues from the llvm-bug-archive repo that have the same ID number as<br>
existing issues in the llvm-project repo will be manually copied from<br>
the former to the later.  This will allow us to preserve the PR numbers<br>
from bugzilla.  Here is an example for how this would work:<br>
<br>
- Delete comments and description from llvm-project issue #1.<br>
- Copy comments and description from llvm-bug-archive issue #1 into<br>
  llvm-project issue #1.<br>
<br>
Since GitHub issue and pull requests share the same numbering sequence, any<br>
PR# from bugzilla that maps to a pull request in the llvm-project repo will<br>
need to have it's comments copied into a pull request.  These issues will look slightly<br>
strange since there will be random commits attached to the issue.  However,<br>
all data will be preserved and more importantly the bug ID will be preserved.<br>
<br>
The issues URL can be used to access pull requests e.g.<br>
pull request #84 is accessible via <a href="http://github.com/llvm/llvm-project/issues/84" rel="noreferrer" target="_blank">github.com/llvm/llvm-project/issues/84</a><br>
so even with bugzilla data stored in pull requests, we will still be able to do a simple redirect<br>
from <a href="http://llvm.org/PR#%23%23" rel="noreferrer" target="_blank">llvm.org/PR###</a> to <a href="http://github.com/llvm/llvm-project/issues/#%23%23" rel="noreferrer" target="_blank">github.com/llvm/llvm-project/issues/###</a><br>
<br>
<br>
8. Once all the overlapping Issue IDs have been copied.  Move the rest of the issues<br>
from the llvm-bug-archive repo to the llvm-project repo.<br>
<br>
This should be faster than doing the copies since we do not need to overwrite existing<br>
issues and can just move the issues from one repo to the other.<br>
<br>
The end result of this is that we have all the old bugs from bugzilla present as issues<br>
in the llvm-project repository with all of their ID numbers preserved.<br>
<br>
<br>
* Other action items:<br>
<br>
- We need volunteers to help create bug templates to simplify the process of submitting<br>
  bugs.  If you are interested in helping with this, let me know.<br>
<br>
- Continue to iterate on the set of issue labels.  This should not block the migration since<br>
labels can be changed at any time, but there were some suggested improvements that should<br>
be discussed.<br>
<br>
<br>
Please reply to this proposal with your questions, comments, praise, or concerns.<br>
<br>
Thanks,<br>
Tom<br>
<br>
<br>
[1] <a href="https://help.github.com/en/github/building-a-strong-community/about-issue-and-pull-request-templates" rel="noreferrer" target="_blank">https://help.github.com/en/github/building-a-strong-community/about-issue-and-pull-request-templates</a><br>
<br>
<br>
<br>
<br>
On 04/20/2020 12:30 PM, Tom Stellard via llvm-dev wrote:<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" rel="noreferrer" 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" rel="noreferrer" 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>
> 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><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
> <br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<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" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>