AnkhSVN や TortoiseSVN - ディレクトリ構造を変更する推奨方法は何ですか?
-
19-09-2019 - |
質問
私はアンクとトータスのかなり新しいユーザーです。現在、複数の .exe ファイルを含む VS2008 アプリケーション スイートの開発を進めていますが、多くの共通コードが含まれています。
現在、ソース ファイルを「共有」フォルダー ツリーに配置し、それらのファイルをコンパイルする必要があるすべての VS2008 プロジェクトで「リンクとして追加」を使用することで、.exe プロジェクト間でコードを共有しています。(当初は VisualSVN を使用していましたが、リンクされたファイルの処理がはるかに優れていたため、Ankh に切り替えました。)
私たちが直面している問題は、プロジェクトの進行に合わせて新しいフォルダーを追加したり、既存のファイルをそこに移動したりして、共有フォルダー ツリーの構造を依然として積極的に変更していることです。
ディレクトリ構造を変更するために主に Tortoise を使用していますが、リポジトリと同期していないようです。問題が発生し続けています。ファイルが見つからない、またはツリーの競合に関するエラー メッセージが表示されます。
おそらく問題は、時々間違った順序で処理を行っていることにあるのではないかと考えています。たとえば、ディレクトリを移動する前に更新を忘れてからコミットするなどですが、確信はありません。
それで、私の質問は次のとおりです。
ディレクトリ構造を変更するには、Ankh と Tortoise のどちらが優れたツールですか?
推奨ツールの場合、どのような手順をどのような順序で実行する必要がありますか?
解決
TortoiseSVN を使用すると、ファイル システム レベルの再編成がはるかに簡単になることがわかります。ただし、落とし穴があります。
TortoiseSVN を使用してファイルシステム上のファイルを移動する場合:
- ファイルを右クリックします
- 新しい目的地にドラッグします
- マウスの右ボタンを放します
- 表示されたメニューで「SVN Move」を選択します
上記の操作を行わずに単にファイルを移動すると、TortoiseSVN は非常に混乱し、説明どおりに反応します。
他のヒント
それはDLLにすべての共有コードをコンパイルして、他のプロジェクトからのことを参照することが容易ではないでしょうか?
それが変わる場合は特に、あなたのトラブルを引き起こすことがバインドされている。 -問題は、あなたが強く、すべてのプロジェクトに共有フォルダのディレクトリ構造を結合していることです。
のsvnクライアントを使用するためとして - 私は、単一のVSソリューション内で、純粋ではない任意の変更のために亀を使用して助言すると、あなたのコードをorginisingされている方法は、あなたが話しているの変更が複数に関連することを私に示唆ソリューション。そのため、亀を使用します。
簡単に亀に周りのものを移動するための鍵は、SVN対応の移動を行いますのを右クリックしてドラッグ機能を使用することです。
実際、ディレクトリ構造を再編成するのは非常に難しく、これは Tortoise の問題でも Ankh の問題でもなく、単なる Subversion の問題です。
問題は、SVN は追加/削除は理解できますが、「移動」や「名前変更」は理解できないことです。つまり、同じ非表示の .svn メタデータを含むフォルダーがその中にありますが、現在は別の場所に移動されており、これにより SVN が混乱します。
アップデート: antik のソリューションを参照してください。手動でメタデータをいじるよりも優れています。
トータス!!私はAnkhSVNは+ VS2008に問題がありました。私は前に、私は通常、「更新」か「コミット」