많은 Subversion 작업에서 파일 또는 URL 인수 끝에 ‘@’기호를 추가하면 해당 파일의 특정 개정을 대상으로 할 수 있습니다. 예를 들어, “svn info test.txt@1234″는 개정 1234에 존재했던 test.txt에 대한 정보를 제공합니다.
그러나 파일 이름에 @이 포함되어 있으면 Subversion에서 개정 지정자로 잘못 해석됩니다.
svn info ‘test @ .txt’svn : 구문 오류 구문 분석 개정 ‘.txt’
‘/’, ‘\’및 ‘@’으로 이스케이프 처리하는 것 외에도 큰 따옴표와 작은 따옴표를 시도했습니다. @ 기호를 파일 이름의 일부로 취급하도록 Subversion에 지시하려면 어떻게해야합니까?
답변
로부터 SVN 책 (강조는 추가) :
지각 독자는이 시점에서 페그 개정 구문이 실제 복사 경로 또는 실제로 부호가있는 URL에 문제를 일으키는 지 궁금합니다. 결국 svn
news@11
은 내 트리의 디렉토리 이름 인지 또는“ 뉴스 개정 11”의 구문 인지 어떻게 알 수 있습니까? 고맙게도 svn 은 항상 후자를 가정하지만 사소한 해결 방법이 있습니다. 당신은 경로의 끝에 기호에서를 추가 할 필요가 같은,news@11@
. svn 은 인수의 마지막 기호에만 관심이 있으며 그 뒤에 기호 페그 개정 지정자를 생략하는 것은 불법으로 간주되지 않습니다. 이 해결 방법은 at 기호로 끝나는 경로에도 적용됩니다.filename@@
filename @ 이라는 파일 에 대해 이야기합니다 .
답변
원래 답변은 정확하지만 충분히 명시 적이 지 않을 수 있습니다. 특정 유닉스 명령 행 옵션은 다음과 같습니다.
svn info 'image@2x.png@'
또는
svn info "image@2x.png@"
또는
svn info image\@2x.png\@
방금 세 가지를 모두 테스트했습니다.
답변
다른 하위 폴더에 여러 파일을 추가하기위한 솔루션 :
for file in $(find ./ -type f -name "*@*.png"); do svn add $file@; done
” @ .png” 의 “png” 를 추가하려는 파일 종류로 바꾸십시오 .
답변
다음 파일을 추가하려면 : image@2x.png 다음을 수행하십시오. svn add image \ @ 2x.png @
답변
간단히 추가
@
SVN 명령이 무엇이든 관계없이 파일에서 다음과 같이 사용해야합니다.
file@2x.jpg
에
file@2x.jpg@
답변
필자의 경우 @ 기호가 포함 된 SVN 저장소에서 파일을 제거해야했습니다.
이것은 작동하지 않습니다 :
svn remove 'src/assets/images/hi_res/locales-usa@2x.png'
그러나 이것은했다 :
svn remove 'src/assets/images/hi_res/locales-usa@2x.png@'
답변
여러 파일을 추가하려면 대체 솔루션이 있습니다.
svn status | grep \.png | awk '{print $2"@"}'| xargs svn add