2011-12-11 39 views
14

Giả sử một kho SVN từ xa có cấu trúc này:Bỏ qua thư mục trong SVN checkout? (Thanh toán một phần)

/project 
     /src 
     /bulk 

Bây giờ đối với một số lý do tôi đã có một bản sao của bulk (giả định không thay đổi hoặc hiếm khi thay đổi) ở đâu đó trên máy tính của tôi. Tôi có thể bằng cách nào đó kiểm tra một bản sao mới của kho lưu trữ, nhưng trước khi cung cấp thư mục bulk để nó không được tải xuống lại? Để làm rõ, quá trình giả định này chắc chắn nên kiểm tra tổng kiểm tra trên các tập tin trong thư mục bulk và cập nhật những tệp không đúng, do đó cuối cùng tôi sẽ có một thanh toán đầy đủ, nhất quán. Tôi chỉ muốn tắt quá khứ tải xuống những tệp mà tôi đã có nguyên văn.

+0

Tôi không nghĩ vậy nhưng quan trọng hơn dẫn đến sự cố rằng repo svn của bạn không còn độc quyền nữa. Ngoài những gì về những người khác (bao gồm cả tự tương lai của bạn - trên một máy khác), những người không có số lượng lớn ma thuật bây giờ. Chính xác là số lượng lớn? Dữ liệu, thư viện của bên thứ ba có thể giúp chúng tôi hướng dẫn bạn thực hành tốt nhất. –

+0

@SteveRobillard: Số lượng lớn ma thuật là một phần của repo (nói đó là tập hợp các tệp sountrack). Tôi chỉ tình cờ tải xuống những thứ đó, và tôi muốn tận dụng điều đó. Tôi rất vui khi được kiểm tra và tất cả điều này! –

+0

Tương tự như https://stackoverflow.com/questions/192824/svn-checkout-ignore-folder –

Trả lời

26
  1. Thanh toán/dự án, chỉ định độ sâu là 'trống'.
  2. Cập nhật/dự án/src chỉ định chiều sâu vô hạn.
  3. Sao chép bản sao làm việc hàng loạt hiện tại của bạn vào bản sao làm việc của thư mục dự án.

ví dụ:

svn checkout --depth empty http://svnserver/project/ project 
svn update --set-depth infinity project/src 
// copy your current /bulk into /project 

Lưu ý - điều này tận dụng tính năng sparse directories được giới thiệu trong Subversion 1.5.

+2

Bạn có thể đánh vần điều này thêm một chút cho một newbie SVN hoàn chỉnh không? :-) –

+0

Nếu '/ bulk' không thay đổi, và bạn không có ý định kiểm tra nó từ repo, không cần phải có nó trong repo. Chỉ cần giữ thư mục '/ src' của bạn trong repo. – bdares

+0

@bdares: Nó không phải là repo của tôi, mặc dù! :-) –

0

Lần cuối cùng tôi phải làm điều này, tôi đã có một số lượng lớn các tệp demo trong một thư mục và tôi chỉ chuyển chúng vào một thư mục mới ra khỏi trunk.

Bạn có thể cân nhắc thực hiện điều gì đó tương tự và thêm bulk vào svn:ignore, nếu bạn cần bulk để ở trong cùng một thư mục.

+0

Vì vậy, bạn có nghĩa là tôi nên decouple' bulk' từ kiểm soát sửa đổi và chỉ sử dụng bản sao địa phương của tôi cho máy địa phương của tôi? Tôi đoán đó là một giải pháp, mặc dù tôi đã thực sự hy vọng có thể "hạt giống" thanh toán của tôi với các tập tin địa phương. –

+0

Không, 'số lượng lớn' sẽ giữ nguyên trong điều khiển phiên bản, nhưng không nằm trong' trunk'. Bằng cách này bạn sẽ có thể tránh được việc trả phòng lớn. –

1

Hướng dẫn khi sử dụng TortoiseSVN 1.7 và mới hơn:

  1. "SVN Checkout" đến/dự án, xác định "Thanh toán Depth" như "Chỉ có mặt hàng này"
  2. "SVN Checkout" đến/dự án/thân cây, chỉ định "Độ sâu thanh toán" là "Hoàn toàn đệ quy"
Các vấn đề liên quan