Bạn sẽ muốn viết trình kích hoạt nội dung thay đổi. Những trình kích hoạt này được chạy sau khi các tệp được chuyển đến máy chủ, nhưng trước khi chúng được cam kết với DB. Theo các tài liệu cực chẳng đả, bạn có thể sử dụng một lệnh tương tự như sau
p4 diff //depot/path/[email protected]=<change>
Trong cò đổi nội dung @ = (trong đó sự thay đổi là số sách thay đổi gửi đến cò) sẽ giúp bạn có được các nội dung của các tệp đã được gửi.Nếu bạn đang tìm kiếm một cách để kiểm tra đối với các phiên bản máy chủ, bạn có thể có thể làm điều gì đó như
p4 diff -sr //[email protected]=<change>
Lệnh -sr sẽ báo cáo trên các tập tin mở và cũng giống như các nội dung kho hiện hành. Kể từ khi các tập tin chưa được cam kết, tôi sẽ giả định rằng bạn sẽ thực sự nhận được một danh sách các tập tin có nội dung đã được chuyển giao cho máy chủ là giống như bản sửa đổi đầu hiện tại trong kho. Nếu p4 diff -sr trả về bất kỳ tệp nào giống nhau, trả lại mã thoát khác 0 và việc gửi sẽ bị tạm dừng và người dùng sẽ phải hoàn nguyên các tệp không thay đổi của mình theo cách thủ công.
Tôi không nghĩ rằng bạn muốn thực sự sửa đổi nội dung của danh sách thay đổi bằng cách hoàn nguyên cho anh ấy. Nghe có vẻ quá nguy hiểm.
Lưu ý rằng bạn có thể viết trình kích hoạt của mình bằng bất kỳ ngôn ngữ nào có ý nghĩa (như một áp phích trước được đề xuất). Tôi nghĩ rằng loại kích hoạt này sẽ khá nặng. Về cơ bản, bạn sẽ thực thi một sự khác biệt trên tất cả các nội dung được gửi cho tất cả người dùng để làm cho một bước của nhà phát triển phù hợp. Có lẽ đó là một mức giá hợp lý để trả tiền, nhưng tùy thuộc vào số lượng người dùng và kích thước của danh sách thay đổi (và tệp) của họ, loại trình kích hoạt này có thể mất nhiều thời gian để chạy.
Xin chào, tôi đã vấp phải câu hỏi của bạn từ năm ngoái. Chỉ cần một bình luận: Có vẻ như với tôi rằng việc tạo một "đồng bằng trống" của một tệp (nghĩa là một phiên bản không thay đổi của một tệp) để làm cho p4 tin rằng việc hợp nhất trên một nhánh đã xảy ra thông qua lệnh integ (ngay cả khi bạn không hợp nhất bất cứ thứ gì và giữ phiên bản nhánh của bạn theo cách nó), để sử dụng lệnh integ tiếp theo để tiếp tục hợp nhất từ nhánh này sang nhánh khác sẽ không phát hiện xung đột trên tệp - vì P4 sẽ tin rằng đã hợp nhất trong quá khứ. Đúng nếu tôi sai nhưng đó là những gì tôi hiểu được từ khóa đào tạo cơ bản. –