svn : executable을 추가하는 올바른 방법


107

svn이 추가하기 전에 실행 가능한 파일이 몇 개 있습니다. svn : executable 속성이 설정되어 있습니다. 이제 실행 가능한 비트가없는 몇 가지 다른 파일이 체크인되었으며 svn : executable 속성을 설정하고 싶습니다.

$ svn propset svn:executable on *.cgi

그런 다음 상태를 확인하고 svn : executable이있는 파일도 수정되었습니다.

$ svn diff
Property changes on: a.cgi
___________________________________________________________________
Modified: svn:executable
   - 
   + *


Property changes on: b.cgi
___________________________________________________________________
Added: svn:executable
   + *

a.cgi는 수정해서는 안됩니다. svn : executable 비트를 추가하여 다른 파일과 동일한 방식으로 설정하고 싶지만 명령을 수행 할 수 없습니다.


2
입력하고 싶지 않을 때마다이 페이지를 엽니 다 svn propset svn:executable on (...). 그리고 질문에 대한 답은이어야하며 for f in *.cgi; do if [ ! -x $f ]; then svn ps (...); fi; done수정 된 파일을 커밋하면됩니다. 그럼 계속해.
Tomasz Gandor 2013

@TomaszGandor svn:executable두 번째 스 니펫에서 어딘가에 빠졌다고 생각하십시오 . 어쩌면 svn ps svn:executable on $f;?
Keith M

1
en.wikipedia.org/wiki/Ellipsis_(linguistics)- 예, 독자에게 연습 문제로 남겨졌습니다.
Tomasz Gandor 2017-06-23

답변:


166

svn 속성 편집 명령을 사용하는 것이 옳습니다. 속성은 svn : executable입니다.

svn에 "실행 가능 비트"를 추가하려면

svn propset svn:executable on <list of files>

svn에서 "실행 가능 비트"를 제거하려면

svn propdel svn:executable <list of files>

이에 대한 SVN 문서는 여기에 있습니다.

실행 파일을 수정하지 않는 한 실행 파일을 수정하는 것이 아니라 (체크섬이이를 확인 함) SVN 저장소를 수정하는 것입니다. SVN은 파일뿐만 아니라 파일 시스템을 수정합니다. 따라서 권한 비트를 수정하면 파일 속성의 수정일뿐 (파일 자체의 수정이 아님) 일지라도 SVN 수정 번호가 증가합니다.


위의 방법으로 svn propset를 실행하면 "*"로 설정되지만 자연스러운 방법은 svn : executable을 아무것도 설정하지 않지만 여전히 설정되어 있습니다. 이 속성은 Subversion에 추가하기 전에 실행 가능한 비트가 설정된 속성과 동일하기를 원합니다.
Jake

2
모든 편집에 대해 죄송하지만 올바르게 기억하면 아무것도 설정하면 실행 가능 비트가 켜지고 삭제 (그리고 가능하면 null 또는 공백으로 설정)하면 꺼집니다. SVN 클라이언트가 사용한 값을 얻으려면 svn propget을 사용할 수 있습니다.
Edwin Buck

-2

다음은 실행 비트가 설정된 내 프로젝트의 모든 * .py 파일에 실행 속성을 설정하는 방법입니다. 나는 이것을 최상위 디렉토리에서 실행합니다.

for f in `find ./ -name '*.py'`; do echo $f; if [ -x $f ]; then echo $f 'is executable setting svn:executable'; svn propset svn:executable on $f; else echo $f 'is not executable'; fi; done;

propset을 사용하지 않고 실행 속성을 어떻게 설정합니까? 나는 그것을 사용하지 않았고, 내가 아는 한 다른 누구도 사용하지 않았습니다. 같은 디렉터리에있는 세 개의 파일에 나타나고 다른 곳에 나타나지 않으며 해당 파일에 특별한 것은없는 것 같습니다. (그들은있는 거 자바 파일은 쉬 여부를 EXE 또는 박쥐 또는 항아리 또는 무엇 이건.)
제리 밀러에게

처음 가져올 때 파일에 실행 가능 비트가 설정되어 있으면 svn 실행 속성이 설정됩니다.
Isaac Jessop

if / then보다 약간 더 우아 할 수있는 -perm 스위치가 있다는 것이 확실하지만 기억해야 할 사항은 더 많을 것입니다
Never Sleep Again
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.