svn을 사용하여 파일 이름을 바꾸는 방법은 무엇입니까?
내가 시도 svn mv old_file_name new_file_name
하면
svn: Path 'new_file_name' is not a directory
올바른 방법은 무엇입니까? (죄송합니다. 이것은 너무 사소한 것 같지만 막혔습니다).
추신. svn 버전 1.6.11 사용
편집new_file_name
현재 버전 관리중인 파일의 이름을 참조하는 경우에만이 오류가 발생하는 것 같습니다 . 이 경우에는 물론 간단하게
mv old_file_name new_file_name
svn delete old_file_name
동작은 대상 파일 이름이 이미 존재하는지 여부에 따라 다릅니다. 일반적으로 안전 메커니즘이며 최소 3 가지 다른 경우가 있습니다.
대상 파일이 없습니다 .
이 경우 svn mv
다음과 같이 작동합니다.
$ svn mv old_file_name new_file_name
A new_file_name
D old_file_name
$ svn stat
A + new_file_name
> moved from old_file_name
D old_file_name
> moved to new_file_name
$ svn commit
Adding new_file_name
Deleting old_file_name
Committing transaction...
대상 파일이 이미 저장소에 있습니다.
이 경우 소스 파일의 이름을 바꾸기 전에 대상 파일을 명시 적으로 제거해야합니다. 다음과 같이 동일한 트랜잭션에서 수행 할 수 있습니다.
$ svn mv old_file_name new_file_name
svn: E155010: Path 'new_file_name' is not a directory
$ svn rm new_file_name
D new_file_name
$ svn mv old_file_name new_file_name
A new_file_name
D old_file_name
$ svn stat
R + new_file_name
> moved from old_file_name
D old_file_name
> moved to new_file_name
$ svn commit
Replacing new_file_name
Deleting old_file_name
Committing transaction...
의 출력 svn stat
은이 R
파일이 교환 된 것을 나타내고, 파일 역사를 가지고있다.
대상 파일이 이미 로컬에 있습니다 (버전 없음) :
이 경우 로컬 파일의 내용이 손실됩니다. 괜찮다면 기존 파일의 이름을 바꾸기 전에 파일을 로컬에서 제거 할 수 있습니다.
$ svn mv old_file_name new_file_name
svn: E155010: Path 'new_file_name' is not a directory
$ rm new_file_name
$ svn mv old_file_name new_file_name
A new_file_name
D old_file_name
$ svn stat
A + new_file_name
> moved from old_file_name
D old_file_name
> moved to new_file_name
$ svn commit
Adding new_file_name
Deleting old_file_name
Committing transaction...
TortoiseSVN을 사용하면 Windows에서 쉽게 작동했습니다.
파일을 마우스 오른쪽 버튼으로 클릭-> TortoiseSVN 메뉴-> Repo-browser-> 저장소의 파일을 마우스 오른쪽 버튼으로 클릭-> 이름 바꾸기-> Enter 키를 누르고-> 확인을 클릭합니다.
SVN 1.8.8 TortoiseSVN 버전 1.8.5 사용
이 메시지는 대소 문자를 구분하지 않는 파일 시스템 (예 : Mac)을 사용하고 이름을 대문자로 바꾸려는 경우 (또는 다른 대소 문자 변경) 나타납니다. 이 경우 세 번째, 더미 이름으로 이름을 바꿔야합니다.
svn mv file-name file-name_
svn mv file-name_ FILE_Name
svn commit
It can be if you created new directory at the disk BEFORE create/commit it in the SVN. All that you need is just create it in SVN and do move after:
$ svn mv etc/nagios/hosts/us0101/cs/us0101ccs001.cfg etc/nagios/hosts/us0101/ccs/
svn: E155010: Path '/home/dyr/svn/nagioscore/etc/nagios/hosts/us0101/ccs' is not a directory
$ svn status
? etc/nagios/hosts/us0101/ccs
$ rm -rvf etc/nagios/hosts/us0101/ccs
removed directory 'etc/nagios/hosts/us0101/ccs'
$ svn mkdir etc/nagios/hosts/us0101/ccs
A etc/nagios/hosts/us0101/ccs
$ svn move etc/nagios/hosts/us0101/cs/us0101ccs001.cfg etc/nagios/hosts/us0101/ccs/us0101accs001.cfg
A etc/nagios/hosts/us0101/ccs/us0101accs001.cfg
D etc/nagios/hosts/us0101/cs/us0101ccs001.cfg
$ svn status
A etc/nagios/hosts/us0101/ccs
A + etc/nagios/hosts/us0101/ccs/us0101accs001.cfg
> moved from etc/nagios/hosts/us0101/cs/us0101ccs001.cfg
D etc/nagios/hosts/us0101/cs/us0101ccs001.cfg
> moved to etc/nagios/hosts/us0101/ccs/us0101accs001.cfg
You can do it by following 3 steps:
- svn rm old_file_name
- svn add new_file_name
- svn commit
참고URL : https://stackoverflow.com/questions/17279947/how-to-rename-a-file-using-svn
'Development Tip' 카테고리의 다른 글
NSString stringWithFormat에서 인수 위치 / 인덱스를 지정하는 방법이 있습니까? (0) | 2020.10.14 |
---|---|
입력 태그 내 HTML 이름 속성에 어떤 문자가 허용됩니까? (0) | 2020.10.14 |
Python for 루프에서 반복자와 시퀀스에 동일한 이름을 사용할 수있는 이유는 무엇입니까? (0) | 2020.10.14 |
PHP에서 NULL과 null의 차이점 (0) | 2020.10.14 |
ERB에서 ERB 태그를 어떻게 이스케이프합니까? (0) | 2020.10.14 |