2009-07-20 61 views
26

Tôi có một kho lưu trữ lớn nơi tôi muốn thêm/xóa một thư mục. Tôi chưa kiểm tra gì cả. Có cách nào để làm nhanh không?Cách thêm/xóa thư mục mà không cần tải xuống từ kho lưu trữ trong Subversion?

+0

Bạn có quyền truy cập ssh vào kho svn không? – txwikinger

+0

@txwikinger yes –

+0

sử dụng thẻ ['svn'] thay vì thẻ [' subversion'] http://meta.stackexchange.com/questions/2601/batch-retag-request-merge-svn-and-subversion –

Trả lời

-4

Có. Bạn có thể sử dụng ví dụ: TortoiseSVN khách hàng cho điều đó.

+9

Đối với bất cứ ai đến từ Google như tôi đã làm, trong Windows với TortoiseSVN, làm một nhấp chuột phải và chọn "Repo-Browser". Bạn có thể tạo thư mục từ đó. – Tarka

+11

Và nếu bạn đang ở trên máy unix? Câu trả lời này là "đúng" chỉ theo nghĩa là OP đã xảy ra là sử dụng các cửa sổ, và sẵn sàng google cách để làm điều đó với tortoiseSVN. –

+0

Lạ. Khi tôi nhấp vào "xóa" tôi nhận được "Bạn không thể xóa câu trả lời được chấp nhận" lỗi này. @ Jader-dias, bạn vui lòng chấp nhận lại câu trả lời được bỏ phiếu nhiều nhất? –

6

Nếu bạn đang sử dụng Tortoise SVN, trên Windows, điều này thật dễ dàng. Bạn chỉ có thể làm "Xem Kho lưu trữ" và thêm thư mục trên máy chủ, tất cả thông qua GUI.

+2

nếu bạn có thể làm điều đó thông qua con rùa, cũng phải có một tùy chọn dòng lệnh để làm điều đó. – txwikinger

+0

Vâng, nhưng tôi không quá quen thuộc với tùy chọn để làm điều đó. svn xóa hoạt động trên một URL, nhưng svn thêm (theo kiến ​​thức của tôi, và trong tài liệu), chỉ hoạt động trên repo cục bộ. –

+0

bạn có nghĩa là bản sao làm việc tại địa phương, Reed =) và có, đó là chính xác. bạn có thể thêm vào các lần kiểm tra thưa thớt, nhưng bạn phải có một cái gì đó được kiểm tra. –

16

svn delete có thể hoạt động trên bản sao làm việc hoặc trên URL. Khi bạn chỉ định một URL, thao tác này sẽ gây ra cam kết ngay lập tức - vì vậy hãy cẩn thận.

Nếu bạn muốn xóa nhiều thư mục rời nhau trong một cam kết, bạn có thể sử dụng the --depth argument để svn checkout để thực hiện thanh toán cạn (và do đó nhanh chóng), trên đó bạn có thể hoạt động tại địa phương và sau đó cam kết. Tất nhiên, câu trả lời này giả định rằng bạn chỉ muốn xóa tệp khỏi HEAD của URL được đề cập - nếu bạn muốn xóa hoàn toàn tệp/thư mục khỏi kho lưu trữ, bạn có more work to do.

(chỉnh sửa để thêm thông tin về việc thêm sau)

Để thêm thư mục, bạn cần phải có một bản sao làm việc. Nhưng nó không phải là hoàn thành bản sao làm việc: bạn có thể sử dụng --depth, như đã đề cập ở trên, để chỉ kiểm tra thư mục mà bạn muốn thêm thư mục mới của mình, sau đó svn add thư mục mới rồi cam kết.

Nếu thư mục bạn đang thêm tồn tại ở nơi khác trong kho lưu trữ, bạn có thể sao chép thư mục đó bằng lịch sử sử dụng svn copy từ URL này sang URL khác.

+2

svn mkdir sẽ hoạt động trên url mà không cần phải kiểm tra bản sao làm việc. –

+0

... đó là tốt nếu bạn muốn thêm thư mục trống. –

+0

@DDaviesBrackett - rất đúng. –

42

Nếu bạn có trình khách dòng lệnh svn thì hãy kiểm tra các lệnh svn mkdir và svn delete.

tài liệu hướng dẫn đầy đủ có sẵn bằng cách gõ

svn giúp đỡ mkdir

svn giúp xóa

+1

ví dụ: svn mkdir http: // myserver/svn/newFolder -m "Thêm thư mục mới newFolder" –

+0

lưu ý: ngày nay cả 'svn mkdir' và' svn delete' làm việc từ xa (nghĩa là không có bản sao làm việc cục bộ), vì vậy bạn có thể làm chính xác những gì OP yêu cầu (và theo bất kỳ hệ điều hành nào). – rsenna

Các vấn đề liên quan