ソース管理機能に SharpSVN 1.5 dll を使用しています。チェックアウトとチェックインは次のように機能します
フォルダー名 TEST をチェックアウトし、そこに file1.txt、file2.txt、file3.txt という 3 つのファイルが含まれているとします。
ステップ 1:- SVN リポジトリから file1.txt をチェックアウトします
ステップ 2:- SVN リポジトリから file2.txt をチェックアウトします
ステップ 3:- SVN リポジトリから file3.txt をチェックアウトします
file1.txt のチェックアウト操作中に、作業フォルダーに .svn フォルダーが作成されます。この .svn フォルダーには、エントリという名前のファイルが含まれています。このファイルには、svn リポジトリとチェックアウト ファイルの情報が含まれています (メモ帳で開くことができます)。file2.txt のチェックアウト操作 (同じ作業フォルダーへのチェックアウト) が発生した場合、新しい .svn フォルダーの作成は発生しません。Sharpsvn は、既存の .svn ファイル (以前のファイル チェックアウト .svn フォルダー) を使用し、file2.txt 情報をエントリ ファイルに追加します。file3.txt を同じ作業フォルダーにチェックアウトすると、同じことが起こりました。
チェックイン操作では、最初に file1.txt、次に file2、次に file3 をチェックインします。Svn は、これらすべてのファイルをチェックインするために (作業フォルダー内の) 単一の .svn フォルダーを使用します。 txt および file3.txt
現在、SharpSVN 1.6 dll を使用しようとしていますが、チェックアウトおよびチェックイン操作でいくつかの問題に直面しています。
file1.txt のチェックアウト中に .svn フォルダが作成され、エントリ ファイルには file1.txt 情報が含まれます。file2.txt のチェックアウト中に、既存の .svn foder が削除され、新しい .svn フォルダが作成されます。 txt 情報。チェックインしようとすると、最後に svn からチェックアウトしたファイルが svn にのみチェックインされます。
Sharpsvn 1.6 dll を使用して、すべてのファイル情報をエントリ ファイルに取得する必要があります。
次のような私のコードスニペット
public string[] CheckOut(string pSCPath, string pComment, string pLocalPath, int pRevisionNum)// Checks out a file from svn
{
string[] strCheckoutDetails = new string[2];
Uri uriSCPath = new Uri(pSCPath);
SvnCheckOutArgs objChkoutargs = new SvnCheckOutArgs();
objChkoutargs.Revision = pRevisionNum;
SvnInfoEventArgs info;
try
{
objChkoutargs.Depth = SvnDepth.Empty;
string strSingleFiletoCheckout = uriSCPath.ToString();
string strFolderNameofSingleFileSelected = strSingleFiletoCheckout.Remove(strSingleFiletoCheckout.LastIndexOf('/'));
Uri UriSingleFileCheckout = new Uri(strFolderNameofSingleFileSelected);
_objSVNClient.CheckOut(uriSingleFileCheckout, pLocalPath,objChkoutargs); //empty working folder
SvnTarget target = new Uri(strSingleFiletoCheckout);
string strFileNameonlyfromUri = strSingleFiletoCheckout.Substring(strSingleFiletoCheckout.LastIndexOf("/") + 1);
if (!copyFiletoWorkingCopy(pLocalPath, strFileNameonlyfromUri, _objSVNClient)) //make versioned file available to the current working copy - Biju
{
pLocalPath = "";
throw new SharpSvn.SvnException("Checkout Exception");
}
_objSVNClient.GetInfo(uriSCPath, out info);
strCheckoutDetails[0] = info.LastChangeRevision.ToString();
}
catch (Exception ex)
{
pLocalPath = "";
throw ex;
}
strCheckoutDetails[1] = pLocalPath;
return strCheckoutDetails;
}
ありがとう
レジ