Sự khác biệt cơ bản là quy tắc thành phần .
Trong một sự thật dựa trên thành phần tiếp cận, bạn định nghĩa một configuration, đó là:
Danh sách các nhãn (của SHA1 cam kết cho Git), bạn cần cho dự án của bạn để "làm việc" (tức là "phát triển "," biên dịch "," triển khai ", ...).
Mỗi cam kết được tham chiếu trong cấu hình sẽ giúp bạn có được phiên bản chính xác của tất cả các cây. Không có ngoại lệ. Mỗi tệp của cây đó là phiên bản chính xác được chỉ định bởi cấu hình bạn đã xác định.
Lưu ý cho git1.8.2
"git submodule" bắt đầu học một chế độ mới để tích hợp với các đỉnh của chi nhánh từ xa (như trái ngược với việc tích hợp với các cam kết ghi trong gitlink của superproject) .
Vì vậy, sớm (tháng 3 năm 2013), một mô-đun con có thể tham chiếu đến HEAD ngược dòng và không chỉ là SHA1 cố định.
(Trước 1.8.2) Chỉ có thể có một nhãn/SHA1 cho mỗi mô-đun. Từ một repo cha mẹ phổ biến, bạn không thể định nghĩa một mô-đun trong một mô-đun.
(Tuy nhiên, một mô-đun, chỉ là tham chiếu đến một repo Git bên ngoài, có thể có định nghĩa submodules riêng của nó: repo chính sẽ chỉ tham chiếu submodule cấp đầu tiên, mà lần lượt sẽ tham chiếu bất kỳ submodules nó đã cam kết trong chính nó)
Không như vậy trong SVN external: bạn có thể xác định externals thư mục cũng như tập tin bên ngoài, có hoặc không có sửa đổi rõ ràng trong đó.
Bạn có thể soạn các thuộc tính bên ngoài khác nhau.Ví dụ:
$ svn propget svn:externals calc
third-party/sounds http://svn.example.com/repos/sounds
third-party/skins -r148 http://svn.example.com/skinproj
third-party/skins/toolkit -r21 http://svn.example.com/skin-maker
Kết quả không phải là một cấu hình (một tài liệu tham khảo cho 'calc
'), nhưng là một phần của quy tắc lựa chọn trong đó xác định 'chắp vá' chính xác mà bạn cần trong thư mục' calc
'
Tóm lại, bạn không thể "tính toán" một SHA1 cho một mô-đun con 'calc
' sẽ là số tương đương chính xác của một nhóm thuộc tính svn:external
trên thư mục 'calc
' SVN.
Lưu ý rằng, như được nêu chi tiết trong http://stackoverflow.com/a/9189815/6309 và được đề cập trong câu trả lời được cập nhật của tôi bên dưới, một mô-đun con bây giờ có thể theo dõi chi nhánh mới nhất. – VonC