2009-07-16 33 views
5

Đây có lẽ là SVN 101, nhưng tôi phải hỏi:dự án Sắp xếp lại sau khi thanh toán SVN

tôi đang làm việc trên một dự án mà có loại một cấu trúc thư mục què. Để có được nó xây dựng và chạy trong IDE yêu thích của tôi, sau khi tôi kiểm tra dự án, tôi sao chép toàn bộ dự án vào một thư mục khác và di chuyển mọi thứ xung quanh theo ý thích của tôi (và IDE của tôi). Vì vậy, câu hỏi cơ bản của tôi là: Tôi có thể chỉnh sửa/cập nhật/hợp nhất một tệp có cấu trúc thư mục khác với cấu trúc thư mục của kho lưu trữ không? Không.

Ví dụ: nếu tôi xem /home/me/dev/proj/index.jsp và sau đó sao chép nó (và siêu dữ liệu .svn) thành /home/me/dev/better-proj/web/index.jsp, thực tế là index.jsp nằm trong một thư mục khác sẽ không quan trọng về trạng thái SVN, phải không? Sai rồi? Hay tôi chỉ hỏi rắc rối?

Trả lời

6

Bạn đang gặp sự cố. Rất nhiều rắc rối. Nếu bạn cố gắng cập nhật thư mục gốc, bạn sẽ nhận được kết quả điên rồ hoàn toàn (rất nhiều vật cản, các tệp "đã khôi phục", v.v.). Ngoài ra, làm cách nào bạn sao chép siêu dữ liệu của một tệp riêng lẻ? Siêu dữ liệu SVN tồn tại trong thư mục .svn là mỗi thư mục. Bạn có thể có thể cập nhật và cam kết các thư mục riêng lẻ chưa được thay đổi (tức là thư mục đã được di chuyển hoặc đổi tên, nhưng tất cả các thư mục của nó chính xác như trong repo). Sau đó, một lần nữa, bạn có thể không. Nguy hiểm.

Bạn nên tùy chỉnh IDE của mình để phù hợp với cách dự án được dự định sẽ được sử dụng/xây dựng hoặc sắp xếp lại dự án để khớp với cách cần sử dụng/xây dựng dự án. Trong trường hợp sau, bạn sẽ muốn điều tra tiểu mục svn move (ví dụ: svn help move). Một GUI cho SVN có lẽ cũng sẽ hữu ích, chẳng hạn như TortoiseSVN (cho các cửa sổ) nếu bạn định làm nhiều sắp xếp lại.

0

Tôi hiểu lầm câu hỏi của bạn. Tôi nghĩ rằng bạn đang tìm kiếm một cái gì đó giống như lệnh di chuyển SVN. (see these questions)

Nhưng đó rõ ràng không phải là những gì bạn đang tìm kiếm.

Tôi nghĩ bạn đang gặp rắc rối với quy trình làm việc được đề xuất của mình. Đó thực sự không phải là một ý tưởng hay. Tại sao bạn không di chuyển các mục công việc trong svn?

1

Vì vậy, bạn làm việc với dự án ở một cấu trúc khác với các cấu trúc khác trong nhóm của bạn? Tôi không chắc nó hoạt động như thế nào một cách trung thực. Tôi sẽ nói chuyện với tất cả mọi người tham gia, và sử dụng svn: di chuyển để có được tất cả các tập tin với lịch sử ở những nơi mà tất cả các bạn có thể đồng ý.

1

Bạn sẽ gặp phải vấn đề với cách tiếp cận này nếu bạn cố gắng đặt một thư mục được phiên bản bên trong thư mục được phiên bản không phải là thư mục gốc của nó. Khác hơn thế, bạn không nên chạy vào bất cứ điều gì khác hơn là nhức đầu giấy tờ liên quan đến một bản sao làm việc rời rạc.

Có lý do nào bạn không thể sử dụng svn move để tổ chức lại dự án trong kho lưu trữ không? bạn sẽ không mất bất kỳ lịch sử nào theo cách đó, và bạn sẽ làm cho cuộc sống của bạn dễ dàng hơn nhiều.

2

Nếu điểm đến vẫn còn trong bản sao làm việc của bạn, hãy sử dụng svn move (documentation). Dù bằng cách nào, bạn không bao giờ muốn tự mình điều chỉnh chính siêu dữ liệu .svn vì điều này sẽ dẫn đến xung đột và đau đầu chung.

Nếu đích là làm thao tác copy kho khác, bạn sẽ muốn làm một svn export (documentation) trên repo nguồn tiếp theo svn add (documentation) trên repo đích.

Đồng thời đáng đọc: Subversion Basic Work Cycle

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