-
Notifications
You must be signed in to change notification settings - Fork 225
Description
Last night I accidentally made a critical mistake that destroyed 7-8 years of version history, installation count and reviews for an extension that I maintain. I was almost in tears for having destroyed so much work with a single keypress and still feel terrible today. It was my mistake and I take full responsibility, but I feel like the vsce
tool didn't try hard enough to stop me from making the mistake. My workflow was this:
- I typed
vsce publish
to publish a new version - Hit "y" twice to go past the prompts that appear every single time we need to release a version
- Immediately after publishing I realized I was in the wrong directory (different branch) and had published the wrong code
- Instinctively typed
vsce unpublish
to revert my change and reflexively hit ''y" because I have been trained to hit "y" a bunch of times forvsce
to do anything
This blew away all the history of auiworks.amvim
from the Marketplace. I immediately realized my mistake and tried to Ctrl-C out of it, but it was too late. For such an incredibly destructive operation, it feels like there should be more confirmation than just the short prompt and standard yes/no choice found for much more trivial confirmations in the rest of the app.
I propose that vsce
follows the example of Github, where even just to delete a local fork of a repository you need to type the entire repository name out. I am quite certain that if vsce unpublish
had prompted me to type the qualified name of the extension before going ahead with the removal, I would have realized my mistake and canceled out of it.
Related to microsoft/vsmarketplace#235