当前位置:网站首页>54000 stars all return to zero. Project Author: I regret it very much
54000 stars all return to zero. Project Author: I regret it very much
2022-04-21 11:14:00 【Programmer ash】

writing | Travis
Produce | OSC The open source community (ID:oschina2013)
I don't know if you have used or understood HTTPie This project , If you're not familiar with it , Here's a brief introduction :HTTPie Is an open source command line HTTP client , Its goal is to make CLI And Web The interaction of services should be as humanized as possible .HTTPie Designed for testing 、 Debugging and usually with API and HTTP Server interaction .http& https The command allows you to create and send arbitrary HTTP request . They use simple and natural Syntax , And provide formatting and color output .
HTTPie The author of the project is Yu 2012 In GitHub The first submission was made on , It has passed so far 10 Year time . After continuous iteration and improvement ,HTTPie Now it has become GitHub The most popular on the platform API One of the tools , And have more than 5.4 ten thousand Star and 1 Thousands more Watch.

This has such a high Star Number of items , But because of an accident 5.4 m Star All zeros . Project the author Jakub Roztocil Recently, I introduced the context of this incident in detail in my blog , By the way, it can also sound an alarm to the authors of other projects .
What happened? ?
Jakub The first is to admit that the incident was caused by his own wrong operation :
Due to a series of Unfortunate Events , I accidentally set the warehouse of the project private , This operation makes GitHub It's deleted. We spent 10 A community built in years .

Why make it private
author Jakub Express :
Making the warehouse private will permanently delete all Watch and Star, This is a GitHub A feature of . I know that too , So I obviously have no intention of HTTPie Set as private .

The reason for this result , The most immediate reason is Jakub Think you're in a different warehouse ( The warehouse has no content or Star), He created it a week ago , But I haven't filled it in before .
Jakub At that time, I didn't realize that there were inconsistencies in the naming of the warehouse ,HTTPie The warehouse of the project is httpie/httpie, and Jakub The warehouse you want to set is httpie/.github.
That's why I didn't realize my mistake , take
httpie/httpieSet as private , instead ofhttpie/.github
When Jakub After finishing the operation and returning to the organization page , He found that he could still see the empty warehouse , Instead, it's HTTPie When the project warehouse disappears , He really realized what had happened . therefore Jakub Immediately return to the setup page and want to reset HTTPie Make it public . but GitHub He is not allowed to do this for the next half hour , as a result of GitHub is “ help ” He deleted the warehouse Star and Watch, You can't stop the process halfway .
GitHub Differential treatment 、 Refuse to resume
In order to avoid losses as much as possible , After the event Jakub The first time with GitHub Get in touch with , hope GitHub Can help them recover their original data . After all GitHub The team itself has accidentally put GitHub Desktop The warehouse of the application is set to private , And I recovered everything for myself in a few hours .

The original GitHub Of CEO This situation is explained :
Developers mistakenly put GitHub Desktop The warehouse is private , Modifying it again won't restore it Star And something else , So we are recovering from the database backup .
obviously GitHub There are relevant backups , And it can recover the loss caused by accidentally setting the warehouse private through backup . But in HTTPie In the event of the project ,GitHub But refused to do so , The reason is that it will cause adverse side effects and waste resources and costs .Jakub Even to GitHub Propose economic compensation , Also rejected .
Although this is due to Jakub Caused by their own wrong operation , But he also made some suggestions in his blog GitHub What can be improved , I also hope that other project authors can avoid making the same mistake again . First , He hoped GitHub Can be more clearly 、 Inform the user of the harmfulness of the operation in a clear way , Not a sentence that applies anywhere “ Warning : This is a potentially destructive operation ”; The second is to improve the design of the database , Use as much as possible “ Soft delete ”, And delay... Within a certain time range “ Hard delete ”.
at present HTTPie Has been re published , By the time of completion , The project has obtained 9 More than a thousand Star Number .
- END -
版权声明
本文为[Programmer ash]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204211110012082.html
边栏推荐
- MySQL modifies the maximum number of connections
- Matlab --- progress bar animation demonstration
- 苹果硬件技术高级副总裁揭露:自研 M1 太难了
- How to write product requirements document (PRD) with the idea of five elements of user experience
- 省赛练习2——第八届福建省大学生程序设计竞赛 &补题
- 注册新西兰公司流程和需要的资料
- Problems needing attention when using scanf function in C language
- 教你轻松解决CSRF跨站请求伪造攻击
- Kubernetes 中数据包的生命周期 -- 第 1 部分
- 后缀数组模版代码解析
猜你喜欢

犀牛软件插件-rhino插件-visual studio-创建你的第一个插件

10000 yuan gift pool play "Lighthouse" prize essay attack

Dapr 远程调试之 Nocalhost

Println input and rewriting of toString method

Suffix array application

pgpool-II 4.3 中文手册 - 入门教程

8-channel can FD, more powerful data recorder gl3400

Tami dog knowledge | what are the legal procedures for equity transfer?
![[非线性控制理论]1_Lyapunov直接方法](/img/ad/68bceb288d40ae98b60dbb83e0b91d.png)
[非线性控制理论]1_Lyapunov直接方法

MATLAB---坐标轴多图片显示
随机推荐
IoT平台如何实现业务配置中心
10000 yuan gift pool play "Lighthouse" prize essay attack
省赛练习2——第八届福建省大学生程序设计竞赛 &补题
How to write product requirements document (PRD) with the idea of five elements of user experience
Packet life cycle in kubernetes -- Part 1
AcWing 1761. Block billboard (computational geometry, intersection of two rectangles)
你的思维会改变你的行为,你的行为会改变你的境遇
[非线性控制理论]1_Lyapunov直接方法
Cycle de vie des paquets dans kubernets - partie 1
ES6新特性(7)之Proxy代理/Model模块/import/export
Is there any application that can really be called meta universe?
Teach you by hand: rolling bearing fault diagnosis based on deep learning
package. json
An error occurred while processing your request... enable the Development environment by setting ...
北京师范大学第十六届程序设计竞赛决赛-重现赛&补题
(坐标型动态规划)lintcode中等248 · 统计比给定整数小的数的个数
JS 實現置頂輸入文本框
依然AC自动机
AC自动机模版代码解析
Matlab --- multi picture display of coordinate axis