Làm thế nào để bắt đầu với svn: externals?


81

Tôi đang tìm kiếm một hướng dẫn ngắn gọn và được viết tốt về cách sử dụng svn: externals.

Bản thân tôi đã biết cách sử dụng chúng một cách cơ bản, nhưng tôi muốn có một bài viết hay mà tôi có thể liên kết đến khi trả lời các câu hỏi như thế này mới xuất hiện gần đây:

Làm gì với nhiều dự án phụ thuộc vào cùng một nguồn?

Tôi sẽ tự làm điều đó, nhưng tôi không sử dụng chúng thường xuyên nên muốn thò cổ ra và viết một bài hướng dẫn về nó. Google thực sự không hữu ích với chủ đề này.

Câu trả lời:


47

Dưới đây là một số phần về nó trong sổ tay svnbook / TortoiseSVN:

Đây là trang svnbook trên svn: externals. Đây là nguồn hữu ích nhất về chủ đề này.

Phần này giải thích bốn cách để đưa các dự án con vào quy trình làm việc (và trong quá trình này, bạn sẽ bỏ lỡ một cách thứ năm: liên kết tượng trưng).

trang cuối cùng này là trang dành riêng cho TortoiseSVN về cách nhập nội dung trong kho lưu trữ (không liên quan trực tiếp đến svn: externals).


20

Trong trường hợp không rõ ràng từ các liên kết được cung cấp ở trên, thì cách bạn đặt thuộc svn:externalstính được liên kết với một bản sửa đổi cụ thể (ghim), đây là:

svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras

Điều đó sẽ tạo một pluginsthư mục con trong thư mục extrasvà liên kết nó với bản sửa đổi 12345của URL SVN bên ngoài https://svn.example.com/common/plugins.

Có một bài báo Red Bean đề xuất sử dụng propeditsvn:externalsgiá trị có thể là một giá trị nhiều dòng. Ví dụ trên sẽ được thay đổi như sau để sử dụng propedit.

svn propedit svn:externals extras

Sau đó, bạn sẽ thêm một dòng cho mỗi liên kết bên ngoài theo cùng một định dạng được hiển thị ở trên cho giá trị.


0
root/repo1/proj/base/common/log.c
root/repo1/proj/base/common/log.h
root/repo1/proj/base/client

root/repo2/proj/test/base

Như hiển thị ở trên, chúng tôi muốn sao chép 2 tệp và 1 thư mục vào repo2

Bước 1

thư mục: / home / jack / repo2 / proj /

cd /home/jack

Bước 2

svn propset svn:externals "../repo1/proj/base/client proj/base/client" repo2

cái gì đó như: ln repo1/proj/base/client repo2/proj/base/client

Bước 3

export SVN_EDITOR=vim

Bước 4

svn propedit svn:externals repo2

vim cho thấy:

../repo1/proj/base/client proj / base / client

Bước 5: Thêm hai tệp khác

../repo1/proj/base/client proj/base/client
../repo1/proj/base/common/log.c proj/base/common/log.c
../repo1/proj/base/common/log.h proj/base/common/log.h
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.