현재 svn repo의 URL을 얻는 방법?


83

누군가 나를 위해 설정 한 2 개의 svn 체크 아웃이 있습니다. 이제 다른 컴퓨터에서 동일한 파일을 확인해야하지만 처음에 확인하지 않았으므로 svn checkout 명령을 실행할 때 사용할 URL을 알 수 없습니다.

svn co WHAT_GOES_HERE?

이 2 개의 체크 아웃이 이미 내 서버 중 하나에 존재하므로 처음에 체크 아웃 한 리포지토리의 URL을 가져 오는 방법이 있습니까?

답변:


131

체크 아웃 된 디렉토리에서 다음 명령을 실행하여 현재 디렉토리의 디렉토리와 저장소 루트 및 기타 정보를 얻을 수 있습니다.

svn info

스크립트에서 사용하기 위해 리포지토리의 URL 만 반환하는 명령을 원할 경우 다음 매개 변수를 전달할 수 있습니다.

svn info --show-item repos-root-url 

--show-item Subversion 1.9+에서 사용할 수 있다는 점 주목할 가치 가 있습니다 . 이전 버전에서는 다음과 같은 스 니펫을 사용하여 유사한 결과를 얻을 수 있습니다.

svn info | grep 'Repository Root' | awk '{print $NF}'

5
Windows의 경우와 동일한 것 : svn info | findstr / C : "리포지토리 루트 :"
s3v1

저장소의 상대 경로를 얻으려면 (루트 URL 외에도 유용) : svn info --show-item relative-url
Elijah Lofgren

12

SVN 1.7의 경우 사용해야했습니다.

svn info | grep '^URL' | awk '{print $NF}'

나는 이것이 새로운 SVN으로 여기에 오는 다른 누군가를 돕기를 바랍니다.


허용 된 답변이 아직 작동 중입니다 svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
dash17291

4
@ dash17291 그것은 "작동"하지만 올바른 정보가 아닌 무언가를 인쇄합니다. 그것은 asker가 원하는 것이 아닌 repo root를 리턴합니다. 루트는 리포지토리 URL이 아닙니다 (적어도 보통은 아님). 위의 대답하면 얻을 것이다 repourl.com/root 당신이 얻을 것이다 나의 대 repourl.com/root/branch/branch_name 당신이 체크 아웃 한 어떤 또는.
JoshStrange

svn 1.8.10을 사용하는 "상대 URL"과도 일치합니다. 그렙을 다음으로 변경해야합니다grep "^URL"
Burhan Ali

3

grep 할 필요가 없습니다. AWK를 사용하여 문자열을 구분하십시오.
svn info | awk '/^URL/{print $2}'

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.