- Vào giữa năm 2019, trong quá trình tìm việc, tác giả đã phải chọn giữa Google Goteam và Sourcegraph
- Lý do chọn Sourcegraph là vì văn hóa có thể xây dựng mọi thứ một cách công khai
- Mọi tài liệu mặc định đều công khai, và các RFC kỹ thuật/sản phẩm, PR/FAQ, v.v. được lưu trong các thư mục Google Drive công khai
- Toàn bộ việc triển khai sản phẩm được thực hiện trong kho GitHub công khai
- Hiện tại, kho
sourcegraph/sourcegraph đã được chuyển sang chế độ riêng tư
- Đây là một quyết định đã phá hủy nét văn hóa hấp dẫn của Sourcegraph
- Sourcegraph đã để lại một bản chụp công khai có tên
sourcegraph/sourcegraph-public-snapshot
Giữ lại các tham chiếu
- Trong thời gian làm việc tại Sourcegraph, tác giả đã viết nhiều bài trên blog kỹ thuật
- Nhiều bài trong số đó dùng liên kết đến mã nguồn công khai liên quan làm tham chiếu
- Giờ đây tất cả các liên kết đó đều đã bị hỏng
- Có câu nói rằng "URI đẹp không thay đổi"
- Tác giả đang cố gắng hết sức để bảo tồn thông tin để các liên kết không đột ngột bị hỏng
- Tác giả đã fork
sourcegraph/sourcegraph thành efritz/sourcegraph
- Fork không kế thừa pull request, và các commit không được tham chiếu trực tiếp bởi branch sẽ không hiển thị
- Theo tài liệu GitHub, ngay cả khi một kho công khai được chuyển sang riêng tư, các fork vẫn tiếp tục tồn tại
- Tuy nhiên, khi kho gốc bị chuyển sang riêng tư, các commit ngoài branch
main có thể biến mất
Thu thập các commit liên quan
- Tác giả đã chạy một chương trình Go để tìm tất cả commit
- Chương trình này đã tạo ra 2.645 tệp metadata pull request
- Tác giả dùng
jq để đọc payload JSON và trích xuất dữ liệu
- Đã tạo các tệp
pr_ids.txt, commits.txt, replace_pairs.txt
- Tác giả chạy chương trình thứ hai để liệt kê các commit chưa được merge của từng pull request
- Chương trình này đã thêm các commit vào tệp
commits.txt
Đưa commit vào một mạng lưới kho mới
- Tác giả đã đưa chúng vào fork bằng cách tạo branch chứa từng SHA liên quan
- Một script Bash được dùng để thực hiện tuần tự các thao tác git
Viết lại các tham chiếu
- Giờ đây có thể liên kết từng tham chiếu tới đích tương ứng trong fork
- Tác giả đã dùng
xargs để triển khai quy trình tự động hóa
- Các tham chiếu commit trực tiếp được viết lại sang fork, còn tham chiếu pull request được viết lại sang commit merge
Tóm tắt của GN⁺
- Việc Sourcegraph chuyển sang riêng tư đã gây ảnh hưởng lớn đến văn hóa mã nguồn mở
- Nhiều liên kết tham chiếu trong blog kỹ thuật đã bị hỏng, và cần rất nhiều nỗ lực để bảo tồn chúng
- Tác giả đã dùng fork GitHub và script để viết lại các tham chiếu và bảo tồn commit
- Bài viết này nhấn mạnh tính bền vững của các dự án mã nguồn mở và tầm quan trọng của các liên kết tham chiếu
1 bình luận
Ý kiến trên Hacker News
Ý kiến của CEO Sourcegraph:
Ý kiến của người dùng khác:
Ý kiến của một người dùng khác:
Ý kiến của người dùng khác:
Ý kiến của một người dùng khác:
Ý kiến của một người dùng khác:
Ý kiến của người dùng khác:
Ý kiến của người dùng khác:
Ý kiến của một người dùng khác:
Ý kiến của người dùng khác: