1

特定の svn サブディレクトリが更新されたかどうかを確認しようとしています。更新されている場合は、作業ディレクトリ全体を更新します。

これが私がすることです:

SvnClient svnClient = new SvnClient();
SvnWorkingCopyClient workingCopyClient = new SvnWorkingCopyClient();

SvnInfoEventArgs svnInfo;
SvnWorkingCopyVersion workingCopyVersion;

Uri svnRepository = new Uri(m_svnAddress + /local/trunk/somefolder");

svnClient.GetInfo(svnRepository, out svnInfo);
workingCopyClient.GetVersion("C:\\Workspace\\somefolder", out workingCopyVersion);


int recentSvnRevision = unchecked((int)svnInfo.Revision);
int currentVersion = unchecked((int)workingCopyVersion.End);

if (recentSvnRevision != currentVersion)
   // Do stuff

問題は、ディレクトリrecentSvnRevisionのリビジョンではなく、svn 上のディレクトリ全体の最新のリビジョン番号に設定されていることです/local/trunk/somefolder

何か案は?

4

1 に答える 1

1

これを使用して、特定のディレクトリの最新のリビジョン番号を取得できます。

SvnInfoEventArgs info;
client.GetInfo(RemotePath, out info);
return info.LastChangeRevision;

RemotePath は、リポジトリのパスではなく、確認するフォルダーのディレクトリ(例: https://svn.exmaple.com/local.../somefolder ) です。

于 2013-04-25T20:12:59.867 に答える