문제

고 싶을 구현하는 방법을 녹음 버전 내에서 프로젝트 코드,그래서 그것을 테스트할 때 사용할 수 있고 추적하는 것을 돕습니다.그것은 최고의 버전 번호를 사용하는 것은 바로 현재 버전에서 번호를 파괴.는 쉬운 방법이 있을 걸 이 번호로(C++내 경우)헤더에 파일 또는 무언가가있는 나 다음에 코드에서?이 게시물 commit 후크 또는 뭔가?

람의 경험을 구현하는 이(코드를 공유하십시오?), 또는 제안할 수 있습니다 더 나은 대안은?감사합니다.

도움이 되었습니까?

해결책

면서 멋진,개정 키워드릭만 업데이트 파일을 때 그의 변화는 개정 변경하지 않으면 파일을 다음이 계속 반영하는 오래 된 수 있습니다.

하려면 소프트웨어를 항상 전반적인 수정 번호신으로 탐구하기 위해 관련 SVN 항목 파일 추출 그는 너무 어렵지 않는(그것의 XML 파일)입니다.

위키백과 이에 자신의 버전은 페이지 을 나타내는 개정된 소프트웨어 라이브; 코드가 여기에 -보 getSvnRevision() 방법입니다.

다른 팁

는 두 가지 방법:

$Id$$개정$ 내 코드입니다.다음 설정 svn:키워드="Id 를 개정" 숙박 시설에 파일입니다.이것은 당신에게 마지막으로 수정의 개정이 있는 원본 파일입니다.좋은 작은 프로젝트와 스크립트가 있습니다.

또는,사용 Makefile 기반 프로세스와 명령행 도구 svnversion.(언어별 작동을 위해 C/C++)

echo -n "#define VERSION 1.0.1-" > version.h
svnversion -n . >> version.h

또는 더 복잡한 빌드 스크립트와 함께 나오고 버전입니다.h.습니다.음 #include 버전입니다.h

제공 할 것입니다 저장소 버전 번호를 변경됩니다 모든 commit/업데이트하고,아마도 더 적합한 버전 번호는 대부분의 프로젝트입니다.

참고:또한 사용은 인간을 읽을 수 있는 버전 문자열에는 수동으로 업데이트합니다.예를 줄: 버1.0.1-r13445

~J

사용할 수도 있습니다 SubWCRev 의 일부입 TortoiseSVN.

SubWCRev Windows 콘솔 프로그램을 사용할 수 있는 상태를 읽의 파괴 작동을 복사하고 필요에 따라 수행 키워드로 대체 템플릿 파일에.이것은 종종의 일부로 사용되는 빌드 프로세스 수단으로서의 사본 작업을 통합하는 정보 객체를 구축하고 있습니다.일반적으로 사용될 수 있습을 포함한 수정 번호에 관하여"에서"상자입니다.

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html

에서 당신의 Makefile,추가하기:

SVNDEV := -D'SVN_REV="$(shell svnversion -n .)"'
CFLAGS := $(SVNDEV) ...

할 수 있습니다 다음 사용 매크로 SVN_REV 어디에서나 귀하의 코드,예를 들어:

printf ("Version: SVN %s\n", SVN_REV);

사용할 수 있습니다 svn:keywords 제공하는 사용 Rev 키워드입니다.

할 수 있습니다 다음 사용 $Rev$ 코드에서 SVN 것을 확장할 때 자동으로 업데이트 $Rev: 256 $ 할 수 있는 다음을 분석...

더 많은 정보에 파괴 설명서

좋은 그대로--날짜 솔루션:

Makefile 다음을 포함하는 라인(과 같은 폴더에 YourFile.dox):

sed "s~RevNumber~$(shell svnversion ../)~g" YourFile.dox > YourFileDummy.dox; doxygen YourFileDummy.dox

YourFile.dox 을 포함해야 한다:

...
PROJECT_NUMBER         = "Revision RevNumber"
...

지금:

  1. sed 대체 RevNumber 니다.dox 출력 svnversion (실행에서 기본 폴더에 저장소)에 저장된 파일을 YourFileDummy.dox
  2. doxygen 실행 YourFileDummy.dox 를 생성한 문서
  3. 귀하의 문서는 지금이 포함될 수정 번호!
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top