3

私は SVN 初心者であり、プロジェクト内の SVN 外部に関するいくつかの問題を調査する仕事を与えられています。

TortoiseSVN を使用して、プロジェクトのルート ディレクトリに移動し、[commit] を選択しました。数時間待った後 (これは非常に大きなプロジェクトです)、外部としてプロジェクトに取り込まれたディレクトリの多くが、[異なるリポジトリからの外部を表示する]ボックスがオンになっているかどうかに関係なく、バージョン管理されていないものとしてリストされていることに気付きました。選択されました。

追加情報

  • ディレクトリで svn:ignore を使用していません。
  • すべてではなく、svn:external ディレクトリの一部のみがこの問題の影響を受けます。
  • 私が話しているフォルダー/ファイルは、svn:externals を使用して「[リポジトリ内の相対パス] [ディレクトリ]」の形式でそこに配置され、svn:update を使用してプロジェクトに取り込まれました。

なぜこうなった?

4

1 に答える 1

2

解決

この問題は、プロジェクトの一部ではない、または作業コピーの外部にないsvn:externalsを格納するための新しいディレクトリを導入することによって発生します。

例:ディレクトリdirBdirCを含むプロジェクトProAがあるとします。また、 ProDという別のプロジェクトがあります。これを外部として「 Externals 」という名前のサブディレクトリ内のProAの* dirC *フォルダに追加します。

ProAをチェックアウトし、そのsvn:externalsプロパティでProDをディレクトリProA / DirB / Externals/ProDに追加ます

フォルダ「Externals」はどちらのプロジェクトにも存在しないため、ProAを更新し、外部を追加すると、ProA / DirB / Externals/ProDはバージョン管理されていないディレクトリになります。

修正 これを修正するには、「Externals」フォルダがProAまたはProDの一部であることを確認するだけです。つまり、「Externals」ディレクトリだけをコミットすると、問題が解決します。

于 2011-11-16T22:34:26.773 に答える