C# プロジェクトで SharpSvn を使用しています。いくつかのテキスト ファイルを含むフォルダーと、サブフォルダーを含む別のフォルダーがあります。バージョン管理下にフォルダーを追加してコミットしています。ここまでは順調ですね。これは私のコードです:
using (SvnClient client = new SvnClient())
{
SvnCommitArgs ca = new SvnCommitArgs();
SvnStatusArgs sa = new SvnStatusArgs();
sa.Depth = SvnDepth.Empty;
Collection<SvnStatusEventArgs> statuses;
client.GetStatus(pathsConfigurator.FranchisePath, sa, out statuses);
if (statuses.Count == 1)
{
if (!statuses[0].Versioned)
{
client.Add(pathsConfigurator.FranchisePath);
ca.LogMessage = "Added";
client.Commit(pathsConfigurator.FranchisePath, ca);
}
else if (statuses[0].Modified)
{
ca.LogMessage = "Modified";
client.Commit(pathsConfigurator.FranchisePath, ca);
}
}
}
テキスト ファイルの 1 つに変更を加えてから、コードを再度実行します。変更はコミットされません。この条件は false です。
if (statuses.Count == 1)
if ブロック内のすべてのロジックは実行されません。
私はこのロジックを書いていないので、このコード行を完全に取得できません:
client.GetStatus(pathsConfigurator.FranchisePath, sa, out statuses);
if (statuses.Count == 1) {}
API の公式サイトにアクセスしましたが、これに関するドキュメントが見つかりませんでした。
この API に詳しい人は、これらの 2 つの行が何をするのか教えてもらえますか?
このコードにどのような変更を加える必要があるので、
pathsConfigurator.FranchisePath
フォルダーの内容の一部が変更された場合、変更を含むフォルダー全体がコミットされます。実際の例での提案は大歓迎です。