Bump phiên bản trước khi khởi động phát triển mới hoặc khi gắn thẻ một bản phát hành, cái nào tốt hơn?


9

Một số dự án gập phiên bản trước khi khởi động một phát triển mới, trong khi các dự án khác gập phiên bản khi gắn thẻ phát hành.

Cách tiếp cận nào tốt hơn?

Nếu số phiên bản không thay đổi khi bắt đầu giai đoạn mới, các nhà phát triển có thể quên thay đổi nó và chỉ đơn giản là phát hành chương trình.

Nếu số phiên bản thay đổi trước khi phát hành gắn thẻ, thì 2 số phiên bản (thẻ và Makefile / AssociationInfo.cs) không khớp.

git describe có thể cung cấp cho bạn v1.2.3.4-15-g1234567 nếu phiên bản hiện tại là sau v1.2.3.4, nhưng bạn đã thay đổi các tệp để có v1.2.3.5

Câu trả lời:


2

Lý do chính cho số phiên bản là ở đó để khi phát hiện ra lỗi, bạn có thể gỡ lỗi bằng cách sử dụng phiên bản thực tế của mã nguồn mà lỗi thực sự xảy ra (do đó phát hiện ra lý do thực sự của lỗi).

Việc bạn sử dụng lược đồ phiên bản nào không quan trọng miễn là người dùng sản phẩm của bạn có thể giao tiếp với nhà phát triển đủ thông tin để nhà phát triển có thể đạt được mục tiêu này.

Các lý do khác để tạo phiên bản là cho các nhóm tiếp thị và trợ giúp (đôi khi hợp pháp).
Các đội này có ưu tiên riêng cho phiên bản.

  • Giúp
    Muốn một cách dễ dàng để xác định tính tương thích và tính năng và khả năng ổn định (xem sơ đồ số lẻ / chẵn của Linux).
  • Tiếp thị
    Muốn có số lượng lớn hơn mỗi lần (tốt nhất là trên 2)

  • Muốn có pháp lý để đảm bảo bạn có tất cả các tính năng được cam kết trước khi tăng số lượng.

Trong mọi trường hợp, sơ đồ được sử dụng là không quan trọng. Miễn là bạn nhất quán (hoặc có sẵn tài liệu chi tiết cao về các thay đổi về ý nghĩa).


1

Khi sử dụng số phiên bản bốn phân đoạn như hội đồng .NET, tôi thích sử dụng thẻ kiểm soát phiên bản để đặt ba phân đoạn đầu tiên, sau đó phân khúc thứ tư là số lần xác nhận kể từ thẻ đó.

Ví dụ: một phiên bản được gắn thẻ "v1.2.3". Nếu git-describetrả về "v1.2.3-4-g1a2b3c4", thì khi được xây dựng, tổ hợp đó được phiên bản là 1.2.3.4.

Nếu một thẻ sau đó được áp dụng cho phiên bản đó, thì git-describesẽ trả về "v1.2.4", đại diện cho phiên bản 1.2.4.0. Cam kết tiếp theo sau đó sẽ là 1.2.4.1.

Những lợi ích tôi tìm thấy từ hệ thống này là:

  • Mỗi cam kết sẽ tự động tăng số phiên bản.
  • Một phiên bản có thể được tạo ra một bản phát hành ".0" bằng cách gắn thẻ nó.
  • Mặc dù không hoàn hảo, hệ thống này hoạt động với DVCS vì nó đếm số lần xác nhận kể từ thẻ gần đây nhất.
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.