2014-04-02 6 views
1

SharpSVN API를 사용하여 VisualSVN 서버 소프트웨어로 만든 Subversion 저장소와 상호 작용합니다.SVN 저장소에 사용자 지정 속성을 설정할 수 있습니까?

리비전에 맞춤 속성을 설정할 수 있다는 것을 알고 있지만 리포지토리에 대해 동일한 작업을 수행 할 수 있는지 궁금합니다.

예를 들어 내 저장소에는 SharpSvn.SvnUriTarget 클래스를 사용하여 검색 할 수있는 이름이 있지만 일부 코드를 사용하여 설명을 설정하고 싶습니다.

리포지토리 URL에서 SharpSvn.SvnClient.SetProperty 메서드를 호출하려고했지만 "이 인수는 유효한 경로가 아닙니다."라는 오류가 발생합니다.

리포지토리에 대한 사용자 지정 속성을 만들 수 없다면 첫 번째 리비전의 속성을 만든 다음 항상 리비전 번호 1을 찾고 거기에 속성을 가져 오는 것이 좋습니다.

아이디어가 더 좋습니까?

답변

2

Subversion은 노드 속성 (파일 또는 디렉토리에 첨부 됨)과 수정 속성의 두 가지 속성을 정의합니다.

리비전 속성은 커밋없이 변경할 수 있지만 리비전 속성은 커밋을 통해서만 변경됩니다.

정말 어떤 일을하는지, 가장 잘 작동하는지에 따라 다릅니다. 예 : svnsync는 r0에 몇 가지 개정 속성을 저장하여 상태를 추적하며 TortoiseSVN은 해당 상태에 대한 디렉토리 속성을 광범위하게 사용합니다. 이 마지막 변형을 사용하면 동일한 저장소의 여러 프로젝트에서 다른 값을 사용할 수 있습니다.

Subversion 1.8에서는 'ancestor directory'에 대한 속성을 검색하는 것이 최적화 된 (네트워크) API를 구현할 때 훨씬 저렴 해졌습니다. (SharpSvn에서 SvnClient.InheritedPropertyList()로 사용 가능)

+0

감사합니다. Bert, 모든 작업 복사본과 속성을 공유해야하므로 r0에서 수정 속성을 사용할 것입니다. – JulienVan