IT story

SVN에서 모든 지점 이름 가져 오기

hot-time 2020. 12. 25. 09:32
반응형

SVN에서 모든 지점 이름 가져 오기


x 년 이상 된 모든 SVN 지점의 목록을 얻으려면 어떻게해야합니까?

CentOS 에서 SVN을 사용 하고 모든 저장소를 볼 수있는 sventon이 있습니다.


  • svn help ls

자세한 출력과 함께 저장소 브랜치 루트의 URL을 사용하면 다음과 같은 결과가 표시됩니다.

svn ls http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/ --verbose
     28 lazybadg              фев 22  2011 ./
     28 lazybadg              фев 22  2011 Leichtbau-Deutsch/
     26 lazybadg              фев 22  2011 branche-francaise/
     25 lazybadg              сен 14  2010 i18n/

gawk 의 3 + 4 + 5 필드 는 분기의 마지막 변경 날짜를 제공합니다.

  • svn help log

약간 더 복잡하고 시끄러운 출력과 단일 장점 : 읽기 쉬운 날짜,

svn log http://mayorat.ursinecorner.ru:8088/svn/Hello/branches/ -v -q
------------------------------------------------------------------------
r28 | lazybadger | 2011-02-22 09:24:04 +0600 (Вт, 22 фев 2011)
Changed paths:
   M /branches/Leichtbau-Deutsch/Hello.de.txt
------------------------------------------------------------------------
r27 | lazybadger | 2011-02-22 09:21:41 +0600 (Вт, 22 фев 2011)
Changed paths:
   A /branches/Leichtbau-Deutsch (from /trunk:26)
------------------------------------------------------------------------
r26 | lazybadger | 2011-02-22 06:49:41 +0600 (Вт, 22 фев 2011)
Changed paths:
   A /branches/branche-francaise (from /trunk:25)
   M /branches/branche-francaise/Hello.fr.txt
------------------------------------------------------------------------

| grep -v "|" <선택한 모든 도구>를 사용하여 구분선을 제외하려면 "변경된 경로"파일 이름에서 영향을받는 분기를 가져옵니다. 개정 로그의 첫 번째 문자열에서 날짜를 가져옵니다.


"--verbose"resp 대신 "--xml"을 항상 사용할 수 있습니다. "-V". "--verbose"에 의해 생성 된 "사람이 읽을 수있는 출력"과 반대로 기계가 읽을 수있는 출력을 생성합니다. 구분선 등을 제거 할 필요가 없습니다. xmlstarlet 또는 적절한 XQuery 스크립트 (Saxon,…)를 사용하여 필요한 것을 추출하십시오.


@Lazy의 대답과 명령 대체를 사용 하여이 대답결합 하면 모든 것을 하나의 명령에 넣을 수 있습니다.

svn ls `svn info | grep '^URL' | awk '{sub(/trunk.*$/, "branches", $NF); print}'` -v

(svn repo 레이아웃에 따라 다르므로 필요한 경우 변경하십시오.)


이 작업을 수행하는 다른 방법을 찾았지만 SVN 저장소의 모든 내용을 나열하는 Sventon 또는 다른 도구가 필요합니다.

1 단계 : Sventon보기에서 분기 목록을 복사합니다. 여기에는 개정, 작성자 및 날짜가 포함됩니다.

2 단계 : Excel을 열고 선택 하여 붙여 넣기를 수행합니다.

3 단계 : 날짜 열을 필터링하여 x 년 미만의 날짜를 표시합니다.

결과 : x 년 미만의 모든 지점. 이 목록은 svn delete --targets listofoldbranchnames.txt.

참조 URL : https://stackoverflow.com/questions/9104662/get-all-branch-names-in-svn

반응형