2011-04-19 21 views
1

我創建了一個git克隆http://code.google.com/p/jpcsp/。後來我試圖通過提取,合併,重置和其他一些我不記得全部或其順序的其他事物來更新到最新版本。目前,git本地存儲庫與最初版本的最初版本中的HEAD一起,我不能重新綁定(列出需要更新的東西,然後說'update index --refresh:command returned error:1'),並且不能檢查svn修訂版1005後的東西我想。git windows svn倉庫的克隆試圖用冒號創建一個文件夾名稱

主要的問題似乎是,在修訂版1006中,名爲'G:[...]'的文件被委託給svn,然後刪除了以下版本。現在所有重要的命令都失敗了,例如'致命的:無法在G:創建目錄:[']'是來自'git checkout -f HEAD'的錯誤消息。 HEAD現在處於svn的1994年的初始克隆。所以它試圖用G:創建一個不可接受的名稱的文件夾。此外,命令'git ls-tree HEAD'在其中輸出以下樹形結構:'[...] tree [sha1]「G:\ [...]」'這似乎是本地文件夾路徑對svn庫提交1006修訂版的計算機 - mabe這使得1994版的git的簽出相當於失敗。另一件可能導致問題的事情是,我的電腦看到假想的可移動驅動器,包括G:不在首位 - 這是因爲我在一年前購買它,這可能會或可能不會令人困惑。

我在msysgit郵件列表中以及在http://groups.google.com/group/msysgit/browse_thread/thread/dfdeae9a85f3f534上創建了一條消息,詳細介紹了我在命令行上輸出的一些命令及其輸出,但由於我認爲問題不同,所以我也更加困惑。

我嘗試過的一件事,並沒有工作是做一個git rebase -i然後像squash,但git仍然抱怨不能用G創建一個文件夾:[...]

今天我已經recloned在另一個文件夾中的svn存儲庫,它也給出了錯誤。然後第一次收到最新的svn修訂版返回的同樣無法創建文件夾錯誤。

如果有人知道如何解決這個問題,我可以使用一些幫助。我不會接受使用svn開始的建議,因爲遠程存儲庫是svn。

- <>編輯<> - : 用 '混帳SVN獲取-R 0:' 解決方案和 '混帳SVN獲取-r:HEAD' 似乎工作。我現在已經結算了最新的svn commit和一個除了2次提交之外的整個項目歷史記錄。我收到了一個消息,說存儲庫處於分離的HEAD狀態,但我必須調查這是什麼意思。 我有一些關於新情況的問題。我想我應該從svn獲取版本號,只要我保留這個本地git倉庫?這會影響我在稍後的時間提交的能力嗎?

+0

Cygwin並支持Windows冒號等這樣的保留字符的文件名(通過映射爲Unicode私人使用面積),所以你可能要嘗試Cygwin git。 – ak2 2011-04-19 01:23:22

回答

0

也許有更好的方式,但你可以嘗試:

$ git svn fetch -r<last revision fetched>:<faulty revision -1> 
$ git svn fetch -r<fault revision +2>:<latest revision> 
+0

這不是幫助我從本地存儲庫簽出,它抱怨無法使用G創建文件夾:在這個文件夾中。 – branco 2011-04-19 01:42:58

+0

如果你克隆或獲取沒有修訂和恢復版本,結帳不會嘗試創建它。 – manojlds 2011-04-19 02:15:11

+0

因此,它似乎工作,因爲我可以檢出最新的提交版本,並且我有一個記錄項目的整個歷史記錄,儘管它表明它是在分離的HEAD,我必須調查。 – branco 2011-04-19 16:02:24