2011-12-11 50 views
7

Tôi đã sử dụng Bzr để kiểm soát phiên bản dự án của mình trong vài tháng qua. Tôi là nhà phát triển duy nhất và hiện tại tôi chỉ có mọi thứ trong một thư mục dự án cục bộ duy nhất, mà tôi cam kết và tôi đồng bộ hóa với DriveHQ.Bzr: Tạo kho lưu trữ được chia sẻ từ kho lưu trữ độc lập hiện có

Tôi hiện có một số thử nghiệm quy mô lớn trong tâm trí có khả năng sẽ phá vỡ dòng chính này, vì vậy tôi đã xem xét các khái niệm về chi nhánh và kho lưu trữ được chia sẻ. Vì vậy, câu hỏi của tôi là, về cơ bản: làm thế nào tôi nên đi về việc tạo ra một kho lưu trữ được chia sẻ mới từ cơ sở đã được kiểm soát phiên bản này?

Tôi quen thuộc với cấu trúc dự án SVN của thân cây, chi nhánh và thẻ, và tôi sẽ áp dụng cấu trúc này. Kế hoạch của tôi là chỉ cần tiếp tục và làm một init-repo mới, và sao chép tất cả mã của tôi (cộng với .bzr) vào trong thư mục trunk. Vậy điều này có ổn không? Hoặc là có một số cách để chuyển đổi những gì tôi đã vào một kho lưu trữ được chia sẻ?

Rất cám ơn trước vì đã trợ giúp.

Christopher

Trả lời

10

OK, vì vậy bạn có một số work thư mục nơi chi nhánh độc lập của bạn. Bạn muốn tạo trunk và các chi nhánh nổi bật trong kho lưu trữ được chia sẻ mới.

Lúc đầu, bạn cần phải tạo ra một kho lưu trữ chia sẻ bản thân:

bzr init-repo /path/to/repo 

Bây giờ bạn có thể đặt mã của bạn để repo/trunk. Bạn có thể sử dụng push, branch hoặc bạn có thể sao chép work và sử dụng reconfigure.

  1. cd work; bzr push /path/to/repo/trunk
  2. cd path/to/repo; bzr branch /path/to/work trunk
  3. hoặc sao chép/di chuyển work-/path/to/repo/trunk sau đó cd /path/to/repo/trunk; bzr reconfigure --use-shared

Trong mọi trường hợp, bạn sẽ phải chi nhánh trunk như một bản sao của tuổi work của bạn, và điều này sẽ trunk sử dụng kho lưu trữ được chia sẻ để lưu các bản sửa đổi.

Bạn cũng có thể xem bzr-colo plugin.

+0

Rất cám ơn. Cuối cùng tôi đã chọn # 3. – ChrisM

+0

Đối với tôi, tôi đã sử dụng # 1 và nó cũng hoạt động hoàn hảo (tôi nghĩ). Tôi đã có tình huống tương tự và được sử dụng # 1. Để xác nhận, tôi 'cd/path/to/repo', nơi tôi nhập' bzr info' và nhận 'Kho lưu trữ được chia sẻ với cây (định dạng: 2a)' (newline) 'Vị trí:' (newline) 'shared repository:. '. Và sau đó tôi gõ 'bzr info trunk' cho' Repository tree (định dạng: 2a) '(newline)' Location: '(newline)' shared repository:. nhánh kho lưu trữ '(newline)': trunk '. Cảm ơn @bialix! – Kalin

4
  1. Tạo một thư mục bên ngoài kho hiện tại của bạn.
  2. Gọi bzr init-repo để tạo kho lưu trữ được chia sẻ
  3. Từ cây đang hoạt động của bạn đẩy tới kho lưu trữ được chia sẻ mới được tạo.

Bây giờ bạn có thể làm việc trực tiếp trên repo chia sẻ

+1

Tôi muốn đề xuất tha nhưng thay vì đẩy, làm chi nhánh từ đại diện cũ sang đại diện mới. có sự khác biệt nào không? –

+1

@Gil: bạn có thể chi nhánh trong repo được chia sẻ mới từ bản sao làm việc cũ, nó cũng hoạt động. – TridenT

+1

@TridenT: Rất cám ơn, rất hữu ích. Chỉ cần làm rõ, sau đó tôi có thể xóa an toàn kho lưu trữ cũ không? Và tôi nên làm điều đó từ Bzr, hay tôi có thể kéo nó vào thùng rác? – ChrisM

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