0

私の質問は似ていますが、これとは異なります: TortoiseSvn エラー: 管理ディレクトリと同じ名前

私はクライアントとして使用しており、データ ツリーにgit-svn偽のフォルダーを含むテスト データがありました。.svnこれはdcommitt'edsvnになりました。を使用して新しい作業コピーをチェックアウトしようとすると、次のsvn coエラーが発生しました。

svn: E155000: Failed to add directory '/MyRepo/TestData/Root/.svn': object of the same name as the administrative directory

そのフォルダーを削除しようとしましたが、再度コミットしました。しかし、それは役に立ちませんでした。

アップデート

私は何かを考え出した。

.svn私は、以下を使用してフォルダー (その下にあるファイルは 1 つだけ)を削除したフィーチャー ブランチにいました。

git rm /MyRepo/TestData/Root/.svn/file
git commit

次に、開発ブランチに戻り、機能ブランチをマージして、最後にチェックインしました。

git checkout develop
git merge --squash feature
git commit
git svn dcommit

しかし、これが .svn 削除の変更にマージされなかったことに驚いています。~/.gitignore、、~/.gitignore_globalレポを再確認しました.gitignore。私のチェックインは常にフォルダーに対して機能していた.svnので、実際には関係ないはずです。.svn

誰かがここで何が起こったのか説明できますか???

更新 2

私の開発ブランチから変更を再チェックインしてgit rmも問題は解決しないようです。svn co同じエラーで同じ場所でまだ失敗します。

4

1 に答える 1

4

原因と解決策がわかりました。

git の変更は、ファイルの削除である必要がありました.svn/file。git は、ローカル git リポジトリから .svn フォルダーを自動的に削除します。しかし、フォルダーは svn の第一級市民です。そのため、実行時に .svn フォルダーが削除されませんでしたgit svn dcommit

やることになってしまった

svn del http://mysvnserver/MyRepo/TestData/Root/.svn -m "Remove .svn folder"

そのフォルダーを個別に削除します。その後はsvn co普通にいけます。

問題が解決しました。

于 2013-07-11T19:27:13.200 に答える