Có một điều ngược lại với thuật ngữ này


20

Theo tôi hiểu, thuật ngữ "Backporting" được sử dụng để mô tả một bản sửa lỗi được áp dụng trong phiên bản tương lai cũng được chuyển sang phiên bản trước. Định nghĩa Wikipedia như sau:

Backporting là hành động thực hiện một sửa đổi phần mềm (bản vá) nhất định và áp dụng nó cho phiên bản phần mềm cũ hơn so với ban đầu được tạo ra. Nó là một phần của bước bảo trì trong quy trình phát triển phần mềm ...

Ví dụ:

  • Một vấn đề được phát hiện và khắc phục trong V2.0. Bản sửa lỗi tương tự được chuyển và áp dụng cho V1.5.

Thuật ngữ khi điều này được thực hiện theo hướng ngược lại là gì?

  • Vấn đề được phát hiện và khắc phục trong V1.5. Bản sửa lỗi tương tự được chuyển và áp dụng cho V2.0.

Thuật ngữ "Backporting" vẫn được áp dụng? Hoặc có một thuật ngữ như "Chuyển tiếp" (nghe có vẻ giống như "Chuyển tiếp cổng")?


1
Còn "tuyên truyền" thì sao?
Gill Bates

Câu trả lời:


28

Nó giống như ngược lại với dấu gạch chéo ngược. Mọi người đều muốn gọi nó là một dấu gạch chéo về phía trước, nhưng thực sự đó chỉ là một "dấu gạch chéo". Ngược lại với backporting chỉ đơn giản là "porting".


"Chuyển" là một thuật ngữ chung hơn và có thể áp dụng cho bất kỳ chuyển mã nào, ngay cả giữa các ngôn ngữ. Trong công ty của tôi, chúng tôi sử dụng "chuyển tiếp" cho trường hợp cụ thể được mô tả trong câu hỏi này.
Marko Topolnik

14

Điều này thường không xảy ra vì bạn sẽ khắc phục sự cố đã nói trong cơ sở mã V2.0 và tùy chọn nhập lại nó. :) Về mặt kiểm soát phiên bản, điều này được gọi đơn giản merging.


3
Điều này xảy ra vì V1.x và V2.x cùng tồn tại và được duy trì song song, mỗi nhánh nằm trên nhánh bảo trì riêng. Một lỗi phiên bản chéo có thể được phát hiện và sửa chữa ở bất kỳ bên nào.
Marko Topolnik

3
Nếu V1.5 đã được phát hành, nhưng V2.0 sẽ được phát hành trong tương lai, thì trước tiên bạn hãy khắc phục sự cố trong V1.5, vì phiên bản này đã được khách hàng sử dụng và cần sửa chữa nhiều hơn. Sau đó, bạn chuyển bản sửa lỗi sang V2.0.
dùng1364368

@ user1364368 quản lý phát hành là một mối quan tâm trực giao. sẽ có ý nghĩa hơn để sửa lỗi trong phiên bản mới nhất của cơ sở mã vì nó chứa nhiều thông tin hơn (lịch sử thay đổi của nó là một thay thế của lịch sử thay đổi của phiên bản cũ hơn). nghĩ về nó theo một cách khác: coi nhẹ sự thay đổi có liên quan đến một lỗi. bạn vẫn muốn giới thiệu những thay đổi trong phiên bản cũ hơn chứ? bạn có thể nói rằng, bắt đầu phát triển tính năng trong một phiên bản cũ hơn của cơ sở mã không? điều này rất nhanh chóng giảm xuống một chiến lược phát triển đệ quy vô nghĩa, lạc hậu
awdz9nld

@ MartinKällman Người đứng đầu cơ sở mã (cho V2.0) có thể (do công việc phát triển hiện tại) ở trạng thái không cho phép nó phát triển bản sửa lỗi. Có thể mất vài ngày hoặc vài tuần cho đến khi phần đầu của codebase sạch trở lại, nhưng bạn không thể đợi quá lâu để sửa chữa khẩn cấp.
dùng1364368

1

Tôi đoán tôi sẽ sử dụng các thuật ngữ: chứng minh tương lai hoặc, thay vào đó, khả năng tương thích về phía trước :

Từ Wikipedia bằng chứng trong tương lai :

Bằng chứng trong tương lai: Cụm từ chứng minh tương lai mô tả quá trình độc quyền cố gắng dự đoán những phát triển trong tương lai, để có thể thực hiện hành động để giảm thiểu hậu quả tiêu cực có thể xảy ra và nắm bắt cơ hội.

tương thích về phía trước :

Khả năng tương thích về phía trước hoặc khả năng tương thích hướng lên (đôi khi bị nhầm lẫn với khả năng mở rộng) là một khái niệm tương thích cho thiết kế hệ thống, ví dụ như khả năng tương thích ngược. Khả năng tương thích chuyển tiếp nhằm vào khả năng của một thiết kế chấp nhận một cách duyên dáng đầu vào dành cho các phiên bản sau của chính nó.

Hoặc cả "chứng minh tương lai thông qua tương thích về phía trước".

Ôi cái từ thông dụng :)


0

Backporting theo hướng ngược lại chỉ là porting , nhưng không có lý do để làm điều đó trong bối cảnh bạn mô tả.


0

Tôi nghĩ thuật ngữ "backport" chỉ hành động mang một tính năng của một bản phát hành mới của chương trình cho một chương trình cũ hơn của cùng một chương trình, vì lợi ích của việc vẫn sử dụng nó.

Vì bạn không phát triển tính năng mới trên các phiên bản cũ, đã đóng, không có cổng "ngược" tồn tại (nếu theo định nghĩa, phiên bản không cũ).

Những gì bạn đang gọi là "chuyển tiếp", khắc phục sự cố cả trong một bản cũ và một bản mới, chỉ là một lỗi hoặc bản vá.


-1

Không có một thuật ngữ thường được sử dụng để hợp nhất một tập hợp các thay đổi từ một nhánh phần mềm cũ sang một phần mềm mới hơn. Trừ khi nhánh mới nhất của phần mềm rất không ổn định, hầu hết các nhà phát triển sẽ phát triển các sửa lỗi trên nhánh mới nhất của phần mềm bất kể phiên bản lỗi nào được tìm thấy. Điều này được thực hiện để giảm xung đột hợp nhất kể từ khi nhánh mới nhất của phần mềm thay đổi thường xuyên hơn các chi nhánh cũ. Bất kỳ lỗi phần mềm nào được báo cáo bởi khách hàng là theo định nghĩa được báo cáo trong phiên bản cũ hơn so với lỗi được khắc phục do khách hàng không có quyền truy cập vào nhánh mới nhất của phần mềm của bạn.


đúng trừ khi khách hàng của bạn muốn sửa chữa NGAY BÂY GIỜ.
Alex R

-1

Tôi đến đây để tìm câu trả lời vì tôi đang viết bình luận cam kết cho chính kịch bản này. Do thiếu biệt ngữ thực tế cho tình huống phổ biến này, tôi sẽ đánh vần nó là "hợp nhất các hotfix sản xuất vào nhánh dev".

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.