hook script를 사용하는 방법도 고려해 보았는데 그럴 경우 revision이 변경되는 파일이 늘 커밋되어야 할 거 같아서 모양새가 안 좋을 거 같고..
그리고 hook script는 커밋이나 락킹하는 경우에 대해 지원할 뿐 update나 checkout에 대해서는 안 되는 거 같더군요. 그렇게라도 되면 checkout이나 update시에 revision 번호를 업데이트 해주도록 만들겠습니다만...
혹 제가 모르는 다른 것이 있는지 궁금하네요 -_-;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
방법이라면 다음과 같은 방법들이 있습니다.
1. "svn info" 혹은 "svnversion" 명령어를 사용해서 현재의 Working copy의 revision 정보를 parsing해서
빌드시에 이용하는 방법입니다.
2. TortoiseSVN을 사용하신다면, SubWCRev.exe 라는 파일이 TortoiseSVN의 설치 디렉토리에 있습니다.
TortoiseSVN의 경우에는 빌드할 때, 이 파일을 이용해서 프로젝트의 revision 정보를 추가하고 있습니다.
제 경우에는 리눅스에서 거의 개발을 하기 때문에 SubWCRev.exe는 사용할 일이 없고,
빌드시에 다음 명령으로 저장소의 URL과 revision 정보를 이용하고 있습니다.
* "svnversion" 명령어의 출력결과 : revision 정보.(Working Copy의 수정상태도 표시됩니다.)
* "svn info" 명령어는 출력결과 : 저장소의 URL 정보.
다음은 제가 사용하는 bash script 파일의 일부입니다. 참고하세요...
TREV=`LANG=en_US svnversion -nc .`
if [ "${TREV}" = "exported" ];then
echo "UNKNOWN" > revision
echo "NONE" >> revision
return
fi
REV=`echo "${TREV}" | sed -ne "s/\(.*:\)\?\(.*\)$/\2/p"`
URL=`LANG=en_US svn info . | grep "^URL:" | sed -e "s/URL: //g"`
echo "${URL}" > revision
echo "${REV}" >> revision
다음과 같이 속성을 주시면 하시면 됩니다.[code:1]# cat
다음과 같이 속성을 주시면 하시면 됩니다.
다음과 같은 keywords가 가능합니다.
subversion 매뉴얼에서 keywords로 검색하시면 자세한 내용을 보실 수 있을 것 같네요.
감사합니다. Subversion Book에서 properties 부분의
감사합니다. Subversion Book에서 properties 부분의 svn:keywords 에 설명돼있네요. 매뉴얼에 있는 걸 몰랐다니 부끄러울 따름입니다. :oops:
Heejoon Lee
이것과 관련해 다른
이것과 관련해 다른 질문이 있습니다.
위의 방법을 사용할 경우 해당 파일에 대한 revision만을 변경시키게 되더군요.
저는 소스 전체의 global revision을 계속 유지하고 싶은데 방법이 없을까요?
hook script를 사용하는 방법도 고려해 보았는데 그럴 경우 revision이 변경되는 파일이 늘 커밋되어야 할 거 같아서 모양새가 안 좋을 거 같고..
그리고 hook script는 커밋이나 락킹하는 경우에 대해 지원할 뿐 update나 checkout에 대해서는 안 되는 거 같더군요. 그렇게라도 되면 checkout이나 update시에 revision 번호를 업데이트 해주도록 만들겠습니다만...
혹 제가 모르는 다른 것이 있는지 궁금하네요 -_-;
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
저도 그래서
저도 그래서 svn:keywords 기능을 사용하지 않습니다.
방법이라면 다음과 같은 방법들이 있습니다.
1. "svn info" 혹은 "svnversion" 명령어를 사용해서 현재의 Working copy의 revision 정보를 parsing해서
빌드시에 이용하는 방법입니다.
2. TortoiseSVN을 사용하신다면, SubWCRev.exe 라는 파일이 TortoiseSVN의 설치 디렉토리에 있습니다.
TortoiseSVN의 경우에는 빌드할 때, 이 파일을 이용해서 프로젝트의 revision 정보를 추가하고 있습니다.
제 경우에는 리눅스에서 거의 개발을 하기 때문에 SubWCRev.exe는 사용할 일이 없고,
빌드시에 다음 명령으로 저장소의 URL과 revision 정보를 이용하고 있습니다.
* "svnversion" 명령어의 출력결과 : revision 정보.(Working Copy의 수정상태도 표시됩니다.)
* "svn info" 명령어는 출력결과 : 저장소의 URL 정보.
다음은 제가 사용하는 bash script 파일의 일부입니다. 참고하세요...
음 저도 svn 파이썬
음 저도 svn 파이썬 바인딩 같은 걸 쓸까 고민중이었는데 파싱하는게 더 쉬울 거 같네요.
감사합니다.
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
댓글 달기