Archive instead of detaching changesets
Created by: mrnugget
This adds the new "archive" operation for changesets to the backend that, instead of detaching them from their owning batch change, marks them as archived - if the feature flag in the site config is toggled on.
This is not 100% complete, see the TODOs below, but I wanted to open it for review since what's in here works, and I'm taking half a day off now, so I thought I could get some
The follow-up TODOs I'll address in other PRs, since they are pretty self-contained.
Demo video of current status
https://user-images.githubusercontent.com/1185253/111780642-f40fc900-88b7-11eb-90dc-4a81003b0d5d.mp4
Follow-up TODOs:
-
Add button to burndown chart that toggles archived changesets on/off -
Add number of archived changesets next to "archived" tab -
After applying a spec and that archived changesets, show a dismissable note "14 changesets have been archived" -
Backend: change the default scope to also exclude changesets where "Archive: true" so that they don't show up in the "changesets" tab when they're being reconciled to be archived, but instead show up in the "archived" tab -
Add tooltips to operations, see https://github.com/sourcegraph/sourcegraph/pull/18559#issuecomment-802861387