2012-11-30 32 views
7

Tôi đang làm việc trên một mã thường trong thân cây nhưng do những thay đổi gần đây tôi phải chuyển vùng làm việc của mình thành chi nhánh.cách cam kết với chi nhánh svn khác nhau mà không cần chuyển đổi

Có thể thực hiện bất kỳ thay đổi trong thân cây khi làm việc trong một ngành mà không thực sự chuyển đổi dự án để thân cây

tôi về cơ bản muốn cam kết thay đổi trong cả hai thân cây và cành mà không cần chuyển đổi qua lại một lần nữa và một lần nữa

Trả lời

6

Câu trả lời ngắn: Không

Đây là lý do tại sao Thiên Chúa đã tạo ra svn switch ngay từ đầu. Nó cho phép bạn thay đổi nhánh bên dưới của thư mục làm việc của bạn mà không làm mất công việc của bạn.

Hãy suy nghĩ về nó theo cách này: Có bao nhiêu lần đã một nhà phát triển đã phá vỡ một cái gì đó bởi vì họ đã nói với nhau: "Này, tôi không cần phải kiểm tra điều này Đó là một sự thay đổi nhỏ "?

Ngay cả khi Subversion cho phép bạn làm những gì bạn muốn, nó vẫn sẽ là một ý tưởng tồi. Về cơ bản bạn sẽ thực hiện các thay đổi trong một codebase mà không có cách nào thực sự đảm bảo chúng hoạt động ngay từ đầu. Đây là lý do tại sao Subversion yêu cầu bạn phải có thư mục hoạt động trước khi bạn có thể thực hiện thay đổi *. Bạn sẽ kiểm tra các thay đổi của mình như thế nào?

Nếu bạn không muốn sử dụng svn switch bởi vì bạn không muốn mất công việc của bạn, bạn có thể làm như sau:

  • Sao chép toàn bộ thư mục làm việc của bạn đến vị trí khác, sau đó sử dụng svn switch trên một để làm cho thân cây đó.
  • Hoàn thành công việc của bạn trên chi nhánh của bạn. Cam kết các thay đổi và lưu ý số sửa đổi. Bây giờ, hãy thực hiện svn co hoặc svn switch để nhận bản sao làm việc thân cây. Sau đó sử dụng svn merge -r để hợp nhất các thay đổi của bạn vào thân cây. Và, tất nhiên, kiểm tra các thay đổi của bạn trước khi cam kết chúng.

* Subversion không cho phép mkdir, cp, mv, và rm làm việc trực tiếp trên một URL, nhưng đó là chủ yếu để cho phép bạn thao tác các chi nhánh mà không cần phải tạo ra một thư mục làm việc.

+1

Câu trả lời ngắn: sử dụng git – Winter

0

Kiểm tra thân cây trong một thư mục khác.
Thực hiện thay đổi của bạn trong thân cây và kiểm tra chúng. Sau đó hợp nhất chúng với nhánh và kiểm tra trong quá trình hợp nhất.

0

Bạn không thể cam kết với các đường dẫn bên ngoài của URL WC (xem svn info WCROOT)

Các quy tắc trên có nghĩa là - nếu WC gốc là ở một mức độ, đó là cha mẹ chung của chi nhánh và thân cây, bạn có thể cam kết vào cả hai địa điểm cùng một lúc (nhánh và thân sẽ là subdirs bên trong WC). Phụ huynh thường là kho-gốc, để không thanh toán toàn bộ repo, bạn có thể chơi với các tùy chọn --depth và --setdepth của cam/cập nhật

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