2012-01-30 11 views
5

git-svn dcommit गलत एसवीएन शाखा को धक्का देने की कोशिश कर रहा है। यहाँ मैं क्या किया है:गिट-एसवीएन गलत शाखा

git checkout -b branch_a svn/branch_a # git-svn clone prepended all remote SVN branches with svn/ 
git svn branch -m "a message" branch_b 
git checkout -b branch_b svn/branch_b 

<make some commits> 

git svn dcommit 
git checkout branch_a 
git svn rebase 
git checkout branch_b 
git rebase branch_a 

यह "सही" शाखाओं/रणनीति मैं this StackOverflow सवाल से व्याख्या विलय है।

अब मैं एक अचार में हूं। से git svn dcommitsvn/branch_a के लिए एसवीएन यूआरएल को धक्का देने का प्रयास करता है। यह git svn info के आउटपुट द्वारा पुष्टि की जाती है। यह वही नहीं है जो मैं चाहता हूं या उम्मीद करता हूं।

दिलचस्प बात यह है कि git log --grep='^git-svn-id:' --first-parent -1 सही एसवीएन शाखा, svn/branch_b के लिए यूआरएल दिखाता है। मैंने पढ़ा है कि यह आदेश माना जाता है यह बताता है कि git-svn dcommit कहां होगा।

तो:

  1. क्या मैं गलत क्या किया?
  2. मैं इसे कैसे ठीक कर सकते हैं (यानी, branch_bsvn/branch_b
+0

क्या वे सटीक चेकआउट आदेश हैं जिनका आपने उपयोग किया था? एक दूरस्थ शाखा को ट्रैक करने के लिए आपको AFAIK की जरूरत है। –

उत्तर

1

करने के लिए धक्का अपने चेकआउट आदेशों से अधिक खोज रहे हैं, ऐसा लगता है कि आप सही ढंग से दूरस्थ SVN शाखाओं ट्रैक करने के लिए Git SVN निर्देश दिए हैं नहीं हो सकता है की कोशिश करो इन कमांड:।

git checkout -b branch_a -t svn/branch_a 
git checkout -b branch_b -t svn/branch_b 

और फिर शाखा आप के साथ एक के बाद पता लगा रहे हैं सत्यापित करें:

git svn info 

प्रत्येक शाखा चाहिए फिर सही रिमोट शाखा को ट्रैक करना।