2011-12-20 30 views
5

Có cách nào để cập nhật bản sao làm việc để loại trừ các phần tử bên ngoài với TortoiseSVN không?SVN: Cập nhật bản sao làm việc để loại trừ externals với TortoiseSVN?

Tôi có một bản sao làm việc mà tôi đã kiểm tra với bên ngoài. Tôi đang thực hiện một số cập nhật cho các đường dẫn bao gồm của mình và bây giờ có các tệp bên ngoài này trong một dự án khác. Tôi muốn cập nhật bản sao làm việc hiện tại của mình lên để loại trừ các phần bên ngoài - về cơ bản xóa các phần tử bên ngoài khỏi bản sao cục bộ của tôi.

Do một sự thay đổi trong bản sao làm việc của tôi, đơn giản là xóa và kiểm tra lại, bỏ qua các bên ngoài, không phải là một tùy chọn hiệu quả.

Tôi đang sử dụng Tortoise SVN 1.7.2, sử dụng định dạng 1.7.x.

EDIT: OK, có vẻ như những gì tôi đang tìm kiếm là không thể. Có vẻ 'SVN Update' sẽ luôn cập nhật với các phần tử bên ngoài, ngay cả khi kho lưu trữ được kiểm tra với 'Bỏ qua các bên ngoài' (--ignore-externals).

CHỈNH SỬA 2: Được rồi, đã tìm thấy giải pháp. Dường như không phải là cách để gắn thẻ nó theo từng kho lưu trữ. Nhưng trên toàn cầu: 'TortoiseSVN' => 'Cài đặt' => 'Nâng cao' đặt 'Bao gồmExternals' thành sai. Điều đó sẽ ngừng 'Cập nhật SVN' từ việc cập nhật các phần tử bên ngoài. Có vẻ như để buộc cập nhật bên ngoài, tôi sẽ cần phải đi đến 'Cập nhật để sửa đổi ...' Điều này là doable, vì đó là tình hình ít có khả năng. (Tôi có 5 lần thanh toán và chỉ 1 yêu cầu bên ngoài và chỉ khi lệnh cập nhật được cập nhật. 2 chỉ cần một lần khi séc được kiểm tra)

Trả lời

6

svn up --ignore-externals nên thực hiện công việc, bạn có thể xóa các thư mục bên ngoài theo cách thủ công

+0

... nm. Nó sẽ xuất hiện điều này là không thể. Chỉ cần làm một bài kiểm tra. Tôi đang cố gắng gắn thẻ kho lưu trữ của tôi để bỏ qua các phần bên ngoài vì vậy khi tôi cập nhật nó sẽ không cập nhật các phần bên ngoài. Hóa ra: svn co --ignore-externals sẽ bỏ qua các phần tử bên ngoài cho cá thể * one * đó. Ngay sau khi tôi làm một bản cập nhật ... nó cập nhật bên ngoài .. Tôi nghĩ rằng nó sẽ bỏ qua externals cho tất cả các bản cập nhật tiếp theo, quá. – guice

+2

Không, bạn sẽ phải thêm điều đó mọi lúc. Không có tùy chọn nào được đặt trong cấu hình hoặc ở nơi khác. Trên các hệ thống giống như Unix, tôi sẽ đề xuất tạo một bí danh bao gồm tùy chọn đó hoặc ghi đè lệnh svn bằng một thủ tục bash đặt tùy chọn theo mặc định. Trên cửa sổ, bạn sẽ phải tạo một tập lệnh bash để chuyển các tham số tới lệnh svn bao gồm --ignore-externals. theo cách đó bạn chỉ có thể cập nhật nó bằng cách nhấp đúp vào bashfile đó. – zuloo

+0

Tắt TortiseSVN có tùy chọn trong các tùy chọn nâng cao để đặt cờ này mọi lúc. Xem chỉnh sửa của tôi ở trên. – guice

2

Trong TortoiseSVN, bạn có thể cập nhật mà không sử dụng bên ngoài bằng cách chọn "Cập nhật để sửa đổi ..." và chọn hộp kiểm "bỏ qua bên ngoài".

+0

Không, không hoạt động.'Đã cập nhật bản sửa đổi' Đã chọn 'HEAD', được chọn 'Bỏ qua các bên ngoài'. Cập nhật thành công, không có bên ngoài. Sau đó, tôi đã làm 'SVN Cập nhật' và nó cập nhật với bên ngoài .... – guice

0

Tôi nhận thấy đây là phản hồi cực kỳ muộn và có lẽ OBE, tuy nhiên, giải pháp cho vấn đề của bạn nếu tôi hiểu chính xác là chỉ cập nhật danh sách bên ngoài của bạn.

Về cơ bản, bạn có một loạt các phần tử bên ngoài đã được chuyển sang một dự án khác và bạn muốn cập nhật bản sao làm việc của mình thành không phải bao gồm những chính xác này?

Tất cả những gì bạn phải làm là nhấp chuột phải vào thư mục đã kiểm tra của bạn (hoặc bất kỳ nơi nào trong khoảng trắng trong Windows Explorer nếu bạn ở trong thư mục), đi tới Tortoise SVN> Thuộc tính. Chỉnh sửa thuộc tính bao gồm các phần tử bên ngoài của bạn và xóa/thêm bất kỳ thư mục nào bạn cần. Sau đó, thực hiện cập nhật trên thư mục của bạn. Nó sẽ không còn bao gồm các thư mục được bao gồm.

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