Mercurial cung cấp tùy chọn -A, --after
cho các di chuyển và bản sao, ghi lại các hoạt động đó sau khi chúng đã xảy ra.Ghi lại một bản sao hoặc di chuyển đã xảy ra bằng cách sử dụng Subversion
Làm cách nào để tôi có thể sử dụng Subversion này?
Mercurial cung cấp tùy chọn -A, --after
cho các di chuyển và bản sao, ghi lại các hoạt động đó sau khi chúng đã xảy ra.Ghi lại một bản sao hoặc di chuyển đã xảy ra bằng cách sử dụng Subversion
Làm cách nào để tôi có thể sử dụng Subversion này?
Vì vậy mà không có một câu trả lời tốt hơn, đây là cơ chế tốt nhất mà tôi đã đi lên với:
# file was added
touch a
svn add a
svn ci
# file was moved without versioning
mv a b
# file versioning is added
mv b a
svn mv a b
Giữ trong tâm trí bạn không thể svn cp a b
, như svn
sẽ hoàn toàn từ chối sao chép vào một mục tiêu mà tồn tại trừ khi nó là một thư mục.
Bạn không thể chỉ ghi lại.
Việc bạn có thể làm là sao chép lại và ghi đè mục tiêu sao chép cũ.
ý của bạn là gì với "mục tiêu sao chép cũ"? –
Bạn đã nói, hoạt động đã xảy ra. Với "mục tiêu sao chép cũ" tôi đề cập đến đích của thao tác sao chép đó. – tangens
Bạn có nghĩ rằng bạn có thể thêm một số công cụ dòng lệnh để làm rõ những gì bạn có ý nghĩa? Afaict đây là câu trả lời hay nhất, nhưng rất mơ hồ. –
Phiên bản phụ chỉ hỗ trợ ghi hợp nhất sau khi thực tế, không phải bản sao và/hoặc di chuyển ...
Thẳng thắn, không, không có cách nào để thực hiện việc này trong Subversion. Giả sử bạn không thực hiện thay đổi nào khác, những gì bạn có thể muốn làm là svn revert
và sau đó thực hiện svn copy
để Subversion biết bạn đã sao chép tệp. Hoặc nếu bạn không thực sự quan tâm đến lịch sử cho tệp được sao chép, chỉ cần svn add
vị trí mới.
Không bao giờ ngừng làm tôi ngạc nhiên như thế nào SVN không thể đối phó với các trường hợp sử dụng cơ bản như vậy. –