을 설정하는 방법의 저자 SVN commit 를 사용하여 SharpSVN 라이브러리에서는 c#

StackOverflow https://stackoverflow.com/questions/824386

  •  05-07-2019
  •  | 
  •  

문제

내가 사용하는 SharpSvn 라이브러리에서 과정을.나는 설정을 저자 커밋하는 동안,하지만 나는 항상 함께 commit 내 Windows 사용자 이름입니다.

이 작동하지 않는 저:

System.Net.NetworkCredential oCred = new
    System.Net.NetworkCredential("user"​, "pass");
client.Authentication.DefaultCredentials = oCred;

나도했습니다:

client.SetProperty("", "svn:author", "user");

그러나 나는 오류를 얻을 대상(첫 번째 인수)은 나쁜 것입니다.

그래서 수 있는 방법을 말해주십시오를 사용자 설정(author)의에 투입하 subversion 저장소에서는 c#?

도움이 되었습니까?

해결책

이에 따라 모든 방법을 연결해 귀하의 저장소로 저장소에 대한 책임이 추가하면 사용자 이름을 수 있습니다.(일반적으로 복사하는 자격에 대한 연결을 하지만 그것을 할 수 없는).

을 사용할 때 file:///소(는 일반적으로 권장하지 않음조 Subversion 예약 습니다)당신은 이에 직접 투입하십시오.

using (SvnClient client = new SvnClient())
{
    client.Authentication.Clear(); // Clear predefined handlers

    // Install a custom username handler
    client.Authentication.UserNameHandlers +=
        delegate(object sender, SvnUserNameEventArgs e)
        {
            e.UserName = "MyName";
        };

    SvnCommitArgs ca = new SvnCommitArgs { LogMessage = "Hello" }
    client.Commit(dir, ca);
}

에 연결하는 경우에는 원격 저장소를 변경할 수 있습니다의 저자는 수정할 때 pre-revprop-변경 후크가 설치된 저장소에서(참조하십시오 Subversion 예약)

using (SvnClient client = new SvnClient())
{
    client.SetRevisionProperty(new Uri("http://my/repository"), 12345,
                              SvnPropertyNames.SvnAuthor,
                              "MyName");

    // Older SharpSvn releases allowed only the now obsolete syntax
    client.SetRevisionProperty(
        new SvnUriTarget(new Uri("http://my/repository"), 12345),
        SvnPropertyNames.SvnAuthor,
        "MyName");

}

[2009-08-14] 최근 SharpSvn 릴리스도 이것을 허용:

using (SvnRepositoryClient rc = new SvnRepositoryClient())
{
   SvnSetRevisionPropertyRepositoryArgs ra;
   ra.CallPreRevPropChangeHook = false;
   ra.CallPostRevPropChangeHook = false;
   rc.SetRevisionProperty(@"C:\Path\To\Repository", 12345,
                         SvnPropertyNames.SvnAuthor, "MyName", ra);
}

이 예제에서 직접 파일 액세스를 저장소,하지만 그것을 무시 저장을 위한 걸이를 수 있으므로 성능이 최적화됩니다.

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