Tôi có nên thêm mã cũ vào kho lưu trữ của mình không?


8

Tôi đã có một kho lưu trữ SVN của một trang web PHP và lập trình viên cuối cùng đã không sử dụng kiểm soát nguồn đúng cách. Kết quả là, chỉ có mã từ khi tôi bắt đầu làm việc ở đây là trong Repo.

Tôi có một loạt các bản sao cũ của cơ sở mã đầy đủ được lưu trong các tệp dưới dạng "bản sao lưu" nhưng chúng không nằm trong sự kiểm soát nguồn. Tôi không biết tại sao hầu hết các bản sao đã được lưu và tôi không có cách nào hợp lý để gắn thẻ chúng vào số phiên bản. Tôi làm có ngày các bản sao lưu đã được thực hiện, tất cả các bản sao lưu có timestamps hệ thống tập tin thích hợp.

Do nâng cấp các khung công tác và trình điều khiển cơ sở dữ liệu có liên quan, mã cũ khá thiếu sót; Nó không còn hoạt động trên cấu hình máy chủ hiện tại. Tuy nhiên, các lập trình viên trước đó có một số logic độc đáo , vì vậy tôi ghét phải hoàn toàn không có các bản sao cũ để đề cập đến những gì họ đang làm trên trái đất.

Tôi có nên giữ công cụ này trong kiểm soát phiên bản? Làm sao? Bỏ mã cũ trong Thẻ / chi nhánh riêng biệt?


Bạn có bản sao đầy đủ của cơ sở mã hiện tại trong kiểm soát nguồn bây giờ không?
Joshua Drake

@JoshuaDrake yeah, repo hiện tại là một bản sao hoàn chỉnh của tất cả mọi thứ tôi cần. Không có gì tôi "thiếu" ngoại trừ những thứ lịch sử, nhưng tôi đã thực hiện những thay đổi đáng kể cho nhiều phần của chương trình.
Ben Brocka

Câu trả lời:


10

Nếu bạn có dấu thời gian hợp lý trên mỗi phiên bản làm việc này thì có lẽ bạn có thể kiểm tra chúng từng cái một cho đến khi bạn đến phiên bản mới nhất của cơ sở mã, những thay đổi mới nhất của bạn.

Vấn đề với cách tiếp cận Tag như mọi người khác gợi ý là bạn sẽ mất lịch sử thay đổi trên mỗi tệp và điều này sẽ khiến việc so sánh giữa các phiên bản mã cũ trở nên khó khăn hơn.


Tôi đã tự hỏi nếu tôi có thể đưa họ vào lịch sử sửa đổi. Ngày sửa đổi trông chính xác trên các bản sao cũ.
Ben Brocka

2
@BenBrocka Rõ ràng bạn có thể có, bạn chỉ cần bắt đầu bằng cách kiểm tra bản sao cũ nhất của cơ sở mã vào một nhánh mới. Xóa mọi thứ trong bản sao làm việc của bạn ngoại trừ các thư mục lật đổ, sao chép bản sao cũ nhất tiếp theo vào thư mục làm việc của bạn, Kiểm tra sửa đổi, bạn sẽ thấy tất cả các tệp mới, cập nhật và xóa. Kiểm tra. Lather. Rửa sạch. Lặp lại cho đến khi bạn có mái tóc sáng bóng thanh lịch.
maple_shaft

2
LƯU Ý: Làm điều này bạn sẽ mất dấu thời gian lịch sử trên các phiên bản trước, nhưng những ngày đó có lẽ không hữu ích lắm ngoài sự tò mò lịch sử. Lịch sử thay đổi tuần tự cho mỗi tệp có giá trị hơn nhiều.
maple_shaft

1
Không có cách nào tôi có thể giữ dấu thời gian lịch sử, phải không? Họ sẽ chỉ xuất hiện như là phiên bản cũ nhất?
Ben Brocka

2
Chắc chắn bạn có thể giữ dấu thời gian. Đưa ra một hệ thống độc lập ( ví dụ: máy tính xách tay, máy tính để bàn PC), chỉ cần đặt đồng hồ của bạn theo dấu thời gian của bản sao lưu trước khi đăng ký vào SVN.
Ross Patterson

8

Tôi sẽ sử dụng một thư mục riêng, một cái gì đó như "di sản" để có tất cả những thứ cần thiết ở một nơi.


+1 Tài liệu về cách các phiên bản khác nhau liên quan, lưu, chuyển tiếp với bản sao làm việc.
JustinDoesWork

2

Cá nhân tôi sẽ. Bạn cần phải chắc chắn rằng bạn giữ tất cả chúng riêng biệt, có thể như bạn đã nói, tắt nó bằng các thẻ. Bạn có thể sử dụng ngày tệp được chỉnh sửa lần cuối để tìm ra thứ tự chung.

Đưa nó vào SVN sẽ rất tốt để thể hiện lịch sử. Có vẻ như bạn sẽ cần nó, nếu họ có một số đoạn lẻ thấy lịch sử của tệp sẽ hữu ích. Chưa kể bạn có toàn bộ lịch sử (đã biết) của dự án ở một nơi. Thật sự không thể nghĩ ra lý do nào để không, mặc dù tôi có thể thiếu thứ gì đó quan trọng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.