2011-01-21 4 views
13

내 IDE는 Subversion을 사용한다는 것을 알지 못하며 클래스 이름을 바꿀 때마다 (Java) 버전 제어 시스템에 알리지 않고 파일의 이름을 바꿉니다. 나는 물론 파일의 역사가 유지되는 것을 좋아할 것이다. 나는 TortoiseSVN에서 이동을 수정하는 "수리 이동"이라는 옵션이 있다는 것을 이해합니다.하지만 우분투에있는 이후로 옵션이 아닙니다. 명령 줄에서 이동을 복구 할 수있는 방법이 있습니까?SVN "repair move"명령 줄에서

+2

을 입력 할 수 있습니다 .bashrc에 다음

svn-repair() { mv -n -- "$2" "$1" && svn mv -- "$1" "$2"; } 

이 추가, 그것은 다시 파일을 수동으로 이동 한 후 "svn의 이동"을 다시이야 목적지로. 물론 명령 줄을 사용하여이 작업을 수행 할 수 있습니다. 더 쉬운 방법이 있는지 묻는 것입니다. –

+1

IDE에 대해 언급하고 싶을 수도 있습니다. IDE 관련 도구가 많이 있습니다. – shaunmartin

+0

@shaunmartin, 여기서 그가 사용하는 IDE는 정말로 중요한가요? –

답변

12

당신은 파일의 이전 이름 ​​/ 위치 기억 경우 :

mv new-filename old-filename 
svn mv old-filename new-filename 

당신은 물론, 서브 버전 명령 줄 클라이언트가 설치되어 있어야합니다, 당신은 아마 있습니다. 그렇지 않은 경우 sudo aptitude install subversion subversion-client이 트릭을해야합니다.

의견에 따르면, 아니요, 이것보다 쉬운 방법이 있는지 모르겠습니다. 이전 파일 이름이 무엇인지 확실하지 않으면 svn stat에 힌트가 제공 될 수 있습니다.

+1

+1,이 스크립트도 가능합니다. –

+0

동료를 대상으로이 질문을 연구했지만 [this] (http://www.syntevo.com/smartsvn/documentation.html?page=commands.detect-moves) 당신이 이동 한 파일의 전체 하중을 가지고 있다면 그것은 아주 멋지다. – Benjol

3

명령 줄에서 이동을 복구하는 방법이 있습니까?

아니요, 이것은 SVN issue 1802입니다. 그것은 2003 년부터 열려 있었으므로 숨을 멈추지 마십시오.

5

당신은 내가 TortoiseSVN을 소스 코드에보고

svn-repair old-filename new-filename 
+1

'svn-repair old-filename new-filename'을 사용해서는 안됩니까? – chiccodoro

+0

예! 지금 고쳐 줬어 :) – ndyer