Tôi đang cố gắng thu thập những cách hiệu quả mà những người khác đã giải quyết vấn đề sau. Tại nơi làm việc, chúng tôi đã buộc phải phát hành một bản vá phần mềm (sẽ được cài đặt trên các hệ thống của người dùng cuối) mà chúng tôi chỉ muốn hiển thị cho một khách hàng cụ thể. Mã tùy chỉnh nằm trong nhánh kiểm soát nguồn của chính nó. Vấn đề là chúng tôi có hai dòng mã song song (và xây dựng tập lệnh) để giữ đồng bộ và mỗi khi chúng tôi vá mã gốc, chúng tôi phải vá và kiểm tra mã dành riêng cho khách hàng.
Tôi tò mò, làm thế nào để các tổ chức khác xử lý tình huống này? Chúng tôi sẵn sàng cho các giải pháp kinh doanh và không chỉ các giải pháp kỹ thuật (liên quan đến kiểm soát nguồn). Ví dụ: chúng tôi đã nói về việc nói với khách hàng rằng họ không thể nhận được cập nhật trên chi nhánh đó.
Chiến lược phân nhánh của chúng tôi là như thế này (dựa trên Hướng dẫn phân nhánh của Visual Studio TFS , mặc dù chúng tôi đang sử dụng Subversion cho nó)
svn
có nghĩa là chúng không làm xáo trộn quy trình làm việc bình thường của bạn. Nếu Hàng đợi Patch trông có vẻ hữu ích, bạn có thể dùng thử bằng cách sử dụng git-svn hoặc chuyển đổi hksubversion . Sử dụng giao diện DVCS để giải quyết một quy trình công việc khó khăn svn
thậm chí có thể khuyến khích mọi người cân nhắc chuyển sang bán buôn DVCS, để đạt được tất cả các lợi ích khác.
hg
hoặcgit
tôi có thể đề nghị bạn xem xét bằng cách sử dụng Patch Queues ( Mercurial Queue Extension hoặc Stacked Git ) nhưng tôi không biết liệu TFS có gì tương tự không.