문제

SharpSVN을 사용하여 디렉토리 아래에서 모든 비 변환되지 않은 파일을 디렉토리에 추가하고 싶습니다.

먼저 명령 줄에서 정기적 인 SVN 명령을 시도했습니다.

C:\temp\CheckoutDir> svn status -v

모든 하위 디어, 이미 체크인 된 모든 파일, "L"잠금 표시가없는 몇 가지 새 파일이 표시됩니다.

C:\temp\CheckoutDir> svn add . --force

이로 인해 서브 디르의 모든 새 파일은 이미 버전 제어 자체가 추가되어 추가됩니다.

SharpSVN을 사용하여 똑같이하고 싶습니다. 추가 파일 몇 개를 동일한 디렉토리에 복사 하고이 코드를 실행합니다.

...
using ( SharpSvn.SvnClient svn = new SvnClient() )
{
    SvnAddArgs saa = new SvnAddArgs();
    saa.Force = true;
    saa.Depth = SvnDepth.Infinity;
    try
    {
        svn.Add(@"C:\temp\CheckoutDir\." , saa);
    }
    catch (SvnException exc)
    {
        Log(@"SVN Exception: " + exc.Message + " - " + exc.File);
    }
}

그러나 svnexception이 제기됩니다.

  • svnexception.message : 작업 사본 'c : temp Checkoutdir'잠금
  • svnexception.file : .. .. .. subversion libsvn_wc lock.c "

내 코드에서 다른 svnclient 인스턴스가 실행되지 않아

svn.cleanup()

추가 직전에, 그러나 아무 소용이 없습니다.

이후 선적 서류 비치 다소 모호합니다.), 여기에 누군가가 그 대답을 알고 있는지 궁금합니다.

미리 감사드립니다!

1 월

도움이 되었습니까?

해결책

이것을 내 도구를 사용하십시오 http://svncompletesync.codeplex.com/ 또는 샘플로 취하십시오. 그것은 당신이 필요로하는 것을 정확하게합니다.

다른 팁

Malcolm의 도구를 시도했지만 몇 살이 된 것처럼 보이므로 이제 실행할 수 없었지만 소스 코드를 살펴본 후에는 로컬 체크 아웃 폴더를 SVN에서 하나 :

string _localCheckoutPath = @"C:\temp\CheckoutDir\";
SvnClient client = new SvnClient();

Collection<SvnStatusEventArgs> changedFiles = new Collection<SvnStatusEventArgs>();
client.GetStatus(_localCheckoutPath, out changedFiles);

//delete files from subversion that are not in filesystem
//add files to suversion , that are new in filesystem

foreach (SvnStatusEventArgs changedFile in changedFiles)
{
    if (changedFile.LocalContentStatus == SvnStatus.Missing)
    {
        client.Delete(changedFile.Path);
    }
    if (changedFile.LocalContentStatus == SvnStatus.NotVersioned)
    {
        client.Add(changedFile.Path);
    }
}

SvnCommitArgs ca = new SvnCommitArgs();
ca.LogMessage = "Some message...";

client.Commit(_localCheckoutPath, ca);

나는 당신이 a ','로 경로를 접미사해서는 안된다고 생각합니다. 노력하다:

svn.Add(@"C:\temp\CheckoutDir" , saa);

SharpSVN 토론 보드/메일 링리스트 에서이 문제를 더 자세히 설명하십시오.보고있는 동작은 버그 일 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top