2010-10-21 8 views
7

máy chủ svn của chúng tôi git-svn có một thân cây gọi Dev và Chi nhánh sống tronglàm thế nào để sử dụng các chi nhánh lồng nhau qua

 
/Branches/Release/1.0/ 
       /2.0/ 
       /2.3.4/ 

i nhân bản nó với một cái gì đó giống như git svn clone -T Dev ... -b Branches ...
khi tôi chạy git branch 2.1 remotes/Release/2.1 tôi nhận được:
fatal: Not a valid object name: 'remotes/Release/2.1'.

  • Làm cách nào để tham chiếu đến nhánh từ xa?
  • Tôi có cần phải sao chép lại với các đối tác khác nhau không?
+0

Tôi nghĩ bạn là SOL nụ:/Bạn đã nhập một chi nhánh: Phát hành với các thư mục trong đó. – Aren

+0

Tôi nên sửa lỗi này như thế nào cho lần sau tôi sao chép? –

+0

Có thể trùng lặp với http://stackoverflow.com/questions/258590/how-do-i-import-svn-branches-rooted-in-different-directories-into-git-using-git – fmuecke

Trả lời

11

Như đã đề cập trong "How do I import svn branches rooted in different directories into git using git-svn?", bạn cần phải lấy tất cả các chi nhánh lồng nhau trong việc nhập khẩu ban đầu:

[svn-remote "svn"] 
    url = svn://svnserver/repo 
    fetch = trunk:refs/remotes/trunk 
    branches = branches/*/*:refs/remotes/* 
    tags = tags/*:refs/remotes/tags/* 

Đó cũng được mô tả trong this thread.
Để bố trí nhánh SVN phức tạp hơn (như branches within trunk!), một sửa đổi của repo SVN có thể theo thứ tự trước, trước khi đưa vào một tích hợp git-svn.

Vì Git1.6, "1.6.x cung cấp bản sao sâu để nhiều ký tự đại diện có thể được sử dụng với tùy chọn --branches", như được đề cập trong "Cloning a Non-Standard Svn Repository with Git-Svn".

git svn clone https://svn.myrepos.com/myproject web-self-serve --trunk=trunk --branches=branches/*/* --prefix=svn/