2010-01-26 2 views

답변

1

나는 git 태그가 자동으로 버전 번호를 생성 할 수 있다는 것을 알지 못했다.
당신은하지를 생성하기 위해, store, and then display the version에 방법이 될 수 git describe

RCS를 암시 할 수있다.

버전 번호 체계 are many (p4 uses its own) 및 더하기 레이블은 cleaned up once in a while이어야합니다.
있습니다 (followinf는 P4 메일 링리스트에서 오는)를 생성하는 스크립트의 어떤 종류가 필요합니다

"모든 마지막 변화는 새로운 버전 스탬프를 요구한다"고 주장 dweeb를 들어

내가 제안하려는 다음 : [경고 :이 억지로 중심입니다.]

  1. 귀하의 메이크 이 같은 수행하는 스크립트를 실행하여 version.h가 생성 할 수있는 :
CHANGENUM=`p4 changes -m1 -s submitted //depot/main/...#have | cut -f2 -d' '` 
echo "#define VERSION \"main codeline to change #$CHANGENUM\" " > $SRC/include/version.h 

2. 그런 다음 빌드를 수행하고 버전 문자열 ( 참조 VERSION)이 자동으로 정확합니다.
당연히, 나는 "official builds"와 "야간 빌드"에 대한 속임수를 version.h로하고, 개발자가 사용하는 기본 version.h을 "메인 코드 라인에서 빌드하지만 공식이 아닌 빌드 - 하지 마십시오 배포 ".

+0

감사합니다. 내가 다루는 것은 C/C++ 프로젝트가 아니며 단지 문서의 묶음이다. (나는 정기적으로 버전 번호를 붙인다.) 그러나 기본 생각은 같다고 생각합니다. 버전 파일을 만들고 스크립트를 사용하여 업데이트 할 것입니다. 또 다른 두 가지 질문이 있습니다. 1.이 VERSION 파일을 어디에 넣어야합니까? VERSION 파일을 업데이트하면 CHANGENUM이 다시 변경됩니다. 2.이 방법으로이 스크립트를 실행하여 자동으로 VERSION 파일을 업데이트 할 수 있다고 보장하지 않습니까? (이 폴더의 내용에 도달하고 변경할 수있는 사람이 몇 명 있습니다.) – aXqd

+0

@aXqd : 모든 언어에 대한 아이디어는 실제로 동일합니다. 그러한 파일의 일반적인 위치는 루트 디렉토리이지만, 프로젝트에서 관례에 정의 된 다른 모든 위치는 할 수 있습니다. 방아쇠는 항상 * 이런 식으로 실행되는 것이 보장되지 않으므로, 어떤 종류의 변경 내용 방아쇠가 여기에서 더 좋을 수 있습니다. – VonC

+0

죄송합니다, 영어는 제 모국어가 아닙니다. 첫 번째 질문에서 묻기를 원하는 것은 '제출을 한 후에는 버전 파일을 업데이트하는 스크립트를 실행하지만 새 버전 파일을 다시 제출해야하므로 CHANGENUM도 다시 변경됩니다.'입니다. 여기는 루프 인 것 같습니다. – aXqd

관련 문제