Có thể thao tác một thuộc tính lật đổ như svn:externals
chỉ qua một URL không? (Tức mà không cần phải làm thao tác copy).Làm thế nào để sử dụng propset của subversion chống lại một URL?
Tôi muốn một kịch bản mà ghim svn:externals
đến một phiên bản đặc biệt được đưa ra một URL lật đổ, nhưng điều này dường như là không thể:
$ svn propset foo bar https://example.com/svn/myproject/trunk
svn: Setting property on non-local target 'https://example.com/svn/myproject/trunk' needs a base revision
$ svn propset foo bar -r HEAD https://example.com/svn/myproject/trunk
svn: Try 'svn help' for more info
svn: Cannot specify revision for setting versioned property 'foo'
$ svn propset foo bar --revprop -r HEAD https://example.com/svn/myproject/trunk
svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'foo':
could not remove a property
(tôi nhận được cùng một kết quả nếu tôi sử dụng số sửa đổi thực tế thay vì HEAD
.)
Cách giải quyết có vẻ là 'svn checkout --depth = empty' vào một thư mục tạm thời với' mktemp' hoặc tương tự (điều này khá nhanh), sử dụng 'svn propset' để thực hiện thay đổi, cam kết và sau đó xóa thư mục tạm thời. – mjs
Có một tùy chọn khác: svnmucc, được bao gồm trong các nguồn SVN nhưng không được xây dựng hoặc cài đặt theo mặc định. Bạn có thể đọc về nó tại http://svnbook.red-bean.com/en/1.8/svn.ref.svnmucc.re.html. – trent
Thêm vào để lưu ý bởi @trent, TortoiseSVN hiện đang đóng gói svnmucc với trình cài đặt kể từ phiên bản 1.8.1 và mới hơn https://sourceforge.net/p/tortoisesvn/tickets/496/ –