2012-03-02 25 views
7

Đôi khi chúng tôi muốn tích hợp một sự thay đổi từ một chi nhánh khác, nhưng có những thay đổi nguồn có hiệu quả được bỏ qua. Thông thường chúng tôi làm điều này với resolve -at, có nghĩa là "chỉ cần bỏ qua các thay đổi nguồn" và để nguyên mục tiêu không thay đổi. Tuy nhiên, hoạt động này vẫn ảnh hưởng đến siêu dữ liệu Perforce, vì bây giờ nó hiểu rằng các bản sửa đổi nguồn được đề cập đã được tích hợp vào mục tiêu, vì vậy chúng sẽ không xuất hiện trong các tích hợp trong tương lai.Perforce tích hợp với các mục tiêu đã xóa

Nếu bất kỳ tập tin mục tiêu này sẽ bị xóa, tuy nhiên, quyết tâm sẽ thất bại với các lỗi sau:

<dest> - can't branch from <source> without -d or -Dt flag

OK, vì vậy sử dụng -Dt cờ, và các tập tin được lại gia tăng. Tuy nhiên, nó không đủ điều kiện để giải quyết, vì vậy tôi không thể sử dụng -at và mọi lần gửi sẽ tạo lại tệp, đó không phải là nội dung tôi muốn (để không thay đổi đích).

Có cách nào để làm những gì tôi muốn không? Tôi không muốn sửa đổi branchspec cho mọi xóa ở đích, và trên thực tế những sửa đổi đó có thể không thích hợp với các nhánh mà tôi không muốn hành vi "không có op" này.

Trả lời

13

Phiên bản mới hơn của máy chủ Perforce (2011.1) có giải pháp cho việc này. Từ số the release ghi chú:

When files have been edited in one branch and deleted in another, a special resolve will be scheduled to accept or ignore the branch or delete action. (This replaces the old "can't branch/delete without -d flag" warning.) The -Rb and -Rd flags to "p4 integrate" will force all branch and delete actions to be resolved, permitting them to be ignored even when they are not in conflict.

+0

Hoàn hảo, chính xác những gì tôi cần. Có vẻ như chúng tôi vẫn bị mắc kẹt trên một số phiên bản thời tiền sử năm 2010, nhưng tôi sẽ thúc đẩy nâng cấp! – BeeOnRope

+0

Cuối cùng chúng tôi đã nhận được phiên bản này và cờ '-R *' hoạt động như mong đợi. – BeeOnRope

Các vấn đề liên quan