2011-02-11 35 views
6

Tôi có kho lưu trữ git svn.Git Svn tai ương, tại sao oh tại sao tôi không bao giờ có thể dcommit?

git svn clone http://myrepo/ myrepo 

Tôi không muốn làm việc trong tổng thể:

git checkout -b development 

hack cho một thời gian.

git checkout master 
git svn rebase 
git rebase development 
git svn dcommit 

cho đến nay tất cả đều tốt, có vẻ như không có ai cam kết kể từ lần cuối cùng tôi thực hiện bất kỳ thay đổi nào và việc rebase của tôi không phát triển được.

Merge conflict during commit: File or directory 'inc/data.inc' is out of date; try updating: resource out of date; try updating at /usr/local/git/libexec/git-core/git-svn line 576 

Vâng, không có SVN, không. Tôi hỏi bạn về cái mới nhất và bạn đã nói tôi đã có nó rồi. Khác biệt của nó bởi vì tôi đã thay đổi nó.

Điều gì đang xảy ra ở đây, tại sao tôi không thể cam kết?

+1

Bạn không cần phải chuyển về tổng thể để dcommit. Nếu bạn gõ 'git svn info' trong khi trên nhánh phát triển bạn sẽ thấy rằng nó cũng được kết nối với svn trunk. Vì vậy, chỉ cần dcommit trực tiếp từ nhánh đó thay vì chuyển trở lại master. –

+0

Tôi tìm thấy đôi khi rằng git svn rebase có thể được finnicky, vì vậy tôi muốn giữ dòng svn riêng biệt và làm bất kỳ sáp nhập/vá trong git. đó là lý do tại sao 2 chi nhánh. – jhogendorn

Trả lời

5

Tôi nghĩ bạn đang lạm dụng git rebase. Hãy thử điều này thay vì:

Tôi không muốn làm việc trong tổng thể:

git checkout -b development 

hack cho một thời gian.

git checkout master 
git svn rebase 
git checkout development 
git rebase master 
git svn dcommit 

Hoặc, viết tắt cho

git checkout development 
git rebase master 

git rebase master development 
+1

ồ, bạn biết bạn sắp hết ngủ khi bạn nhồi nhét cú pháp cơ bản như thế. Cám ơn rất nhiều. – jhogendorn

+0

Hoặc chỉ: 'git svn rebase; git svn dcommit; 'từ nhánh phát triển, nó đã theo dõi svn trunk. –

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