2010-07-27 4 views
2

C#의 코드에서 파일 수정 키워드를 사용하는 구문을 알고 있습니까? SQL Server에서 사용하는 방법을 알고 있지만 구문을 올바르게 처리 할 수없는 것 같습니다. 이미 버전을 표시하고자하는 파일에 속성을 추가했습니다.

답변

5

SVN 개정판을 추가하려면 C# 파일에 $LastChangedRevision: $이 있어야합니다. 그러나 값을 확장 할 파일에 대해 svn:keywords 속성을 올바르게 설정해야합니다.

예를 들어, 다음은 개정판이 들어있는 문자열이됩니다.

string revision = "$LastChangedRevision: $"; 

svn:keywords 속성 값의 스페이스로 구분 된 목록 LastChangedRevision 포함한다.

TortoiseSVN 구성을 편집하여 cs 확장에 대해 자동으로 만들 수 있습니다. 이렇게하려면 TortoiseSVN 탐색기 메뉴로 이동하여 Settings...을 선택하십시오. 그런 다음 General 탭에서 Subversion configuration file: 옆의 Edit 버튼을 클릭합니다.

아래로 스크롤 [auto-props] 절에 이와 같은 줄을 추가 (단지 예를 들어, 당신은 더 많거나 적은 키워드를 가질 수 있으며, 또한 다른 속성을 설정할 수 있습니다) :

*.cs = svn:keywords=LastChangedDate LastChangedBy LastChangedRevision Id URL; 
+0

감사합니다. Jeff! 그러나 실제로 문제가있는 것은 내 코드에서 해당 속성에 액세스하는 것입니다. $ Revision : $을 문자열로 출력하는 구문은 무엇입니까? – badpanda

+3

@badpanda : string revision = "$ LastChangedRevision : $"; 파일을 체크인하고 다시 체크 아웃하면 수정본이 채워집니다. –

+0

저기 있습니다! 감사!! – badpanda

4

당신은 SubWCRev를 호출 할 수 있습니다. exe와 pre-build에서 Resources.resx에 버전 번호를 쓰게 한 다음 나중에 정리하여 다른 스크립트와 함게 처리 할 필요가 없도록하고 svn이 Resources.resx가 변경되었습니다.

빌드 = $ WCNOW $

CurrentSVNRevision = $ WCREV $

: 예를 들어, SubWCRev.exe 인식하는 위치 표시기를 사용하여 Resources.resx 파일에

  1. 추가 문자열 리소스,

    HasLocalModifications = $ WCMODS (로컬 수정 감지) : $

  2. (백업 업에 Resou을 다음 사전 빌드 추가 rces.resx 및 SubWCRev.exe가 자리 표시자를 필요한 값으로 바꿉니다.

    복사/Y "$ (ProjectDir) \ Properties \ Resources.resx" "$ (ProjectDir) \ Properties \ Resources.resx. 저장 "

    "C : \ Program Files \ TortoiseSVN \ bin \ SubWCRev.exe ""$ (SolutionDir) \ ""$ (ProjectDir) Properties \ Resources.resx ""(ProjectDir) Properties \ Resources.resx "

  3. 이 Resources.resx을 복원하려면 다음 빌드 후 추가 :

    이동/Y"$ (PROJECTDIR) \ 등록 \ Resources.resx.save ""$ (PROJECTDIR) \ 등록 \ 자원. resx "

  4. 세트 (빌드가 실패하더라도) 항상 실행하는 빌드 후 이벤트

  5. 사용 Resources.CurrentSVNRevision 등 코드에서 당신이 그것을 필요로 할 때마다.

많은 솔루션을 살펴본 결과이 항목이 훨씬 더 간단하고 견고한 것으로 확인되었습니다. 다른 사람들을 돕기를 바랍니다.