2013-04-23 33 views
6

Tôi chưa được khắc phục một nhóm có chứa tệp 'thêm' được gọi là foo.txt. Khi tôi hoàn nguyên thay đổi đó, foo.txt biến mất khỏi vùng làm việc của tôi nhưng vẫn nằm trên hdd của tôi.Hoàn nguyên các tệp chưa được khắc phục trong mỗi lực lượng

p4 unshelve -f -s $A -c default :: unshelving add foo.txt 
p4 revert -c default //MY_WORKSPACE/... :: foo.txt is reverted 
p4 opened -C MY_WORKSPACE :: shows none 

Khi tôi mở không gian làm việc, tôi vẫn có thể xem foo.txt.

có cách nào để xóa tệp được thêm không? (Ngoại trừ việc xóa bằng tay thủ công)

+2

Điều này thực sự không liên quan gì đến việc hủy ghép nối. Câu hỏi của bạn thực sự là về việc hoàn nguyên các tệp * đã thêm *. – jamesdlin

+0

có thể trùng lặp của [Perforce: 'remove from workspace' từ dòng lệnh?] (Http://stackoverflow.com/questions/2314848/perforce-remove-from-workspace-from-command-line) – raven

+0

@raven Điều này không có gì để làm với 'xóa khỏi không gian làm việc'. Đây là về những gì xảy ra với tệp cục bộ, sau khi 'p4 add' được theo sau bởi' p4 revert'. (Với 'shelve',' unshelve' ném vào những vấn đề phức tạp). –

Trả lời

0

Khi bạn đã hoàn nguyên tệp thêm trong Perforce, tôi nghĩ bạn có thể xóa chúng khỏi đĩa - Perforce đã quên chúng hoàn toàn.

+0

Không nên làm chức năng hoàn nguyên? – Twisted

+0

@Twisted: Suy nghĩ có lẽ là sẽ rất nguy hiểm cho lệnh 'hoàn nguyên' để làm điều đó vì nếu bạn vô tình làm điều đó, bạn có thể mất một số lượng đáng kể công việc. (Có thể cho rằng họ có thể thêm tùy chọn dòng lệnh để 'hoàn nguyên' để làm điều đó.) – jamesdlin

+0

Vâng, đã đến lúc sửa lại kiến ​​thức kịch bản lệnh shell của tôi. – Twisted

2

Hành vi như vậy là do thiết kế.

http://www.perforce.com/perforce/doc.current/manuals/p4guide/04_files.html

thay đổi Việc huỷ (quay trở lại)

Để xóa một tập tin mở từ một danh sách thay đổi và loại bỏ bất kỳ thay đổi bạn đã thực hiện, vấn đề p4 trở lệnh. Khi bạn hoàn nguyên tệp, Perforce khôi phục phiên bản cuối cùng bạn đã đồng bộ hóa với không gian làm việc của mình. Nếu bạn hoàn nguyên tệp đang mở để thêm, tệp sẽ bị xóa khỏi danh sách thay đổi nhưng không bị xóa khỏi không gian làm việc của bạn.

2

Chạy lệnh trở lại với -w cờ sẽ xóa bất kỳ tập tin được đánh dấu cho tiện ích trong việc hoàn nguyên (xem p4_revert docs)

p4 revert -w [file specification]

ví dụ: p4 revert -w -c default //MY_WORKSPACE/... (foo.txt bị xóa từ đĩa , sau đó hoàn nguyên)

+1

Đây là một giải pháp tuyệt vời!Lưu ý rằng 'revert -w' yêu cầu máy chủ của bạn phải ở phiên bản 2013.2 trở lên. –

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