2

いくつかのプラグインも含まれているsvnプロジェクトがありますvendor/plugins-すべてが経由でプルされsvn:externalsます。

メインプロジェクトとこれらのプラグインのいくつかに同時にまたがるコミットがあります。

実行するsvn stと、すべての正しいサブディレクトリにあるすべての変更されたファイルが一覧表示されますが、実行しようとするとsvn ci、ローカルプロジェクトのファイルのみが表示されます。

ローカルの変更とsvn:externalsディレクトリの両方を含む単一のコミットを行うにはどうすればよいですか?

4

1 に答える 1

3

わかりました。ローカルの変更をsvnの外部と組み合わせるのは完全には不可能のようですが、いくつかの外部のすべてを組み合わせて、後でローカルの作業の変更をチェックインすることはできます。

プロジェクトにコミットするには、チェックインにディレクトリ名svn:externalsを明示的に入力する必要があります。例:svn:externals

svn ci vendor/plugin/<plugin_name>

次のコマンドラインで、任意の数の異なるプラグインをまとめてチェックインできます。

svn ci vendor/plugin/<plugin_one>  vendor/plugin/<plugin_two> ... 

ただし、ローカルの作業コピーの変更は個別に行う必要があります。そうしないと、ローカルの作業コピーを「ロックできません」という厄介な警告と、「すべてのターゲットが同じ作業コピーの一部ですか?」という警告が表示されます。または、次のような奇妙なメッセージが表示されます

svn: Commit failed (details follow):
svn: Illegal repository URL ''

したがって、svn:externalsのコミットとは関係なく、作業コピーの変更をコミットする必要があるようです。それでも-少なくとも、Nではなく、それだけです(ここで、Nはプラグインと作業コピーの数です)。2つのコミットを同じコミットメッセージで結び付けることもできます。

于 2010-02-25T19:04:55.130 に答える