2010-01-11 4 views
1

그래서 나는 원격 파일 시스템 (내가 ssh를 통해 편집하고있다)에 프로젝트를 가지고있다. 이제 프로젝트를 하드 드라이브에 복사해야합니다. 나는 더 이상 프로젝트에 대한 버전 제어가 필요 없으므로 프로젝트가 svn export이되어야한다고 생각합니다. 그러나 아직 체크인되지 않은 파일이 있으므로 사본을 만들 때 보존해야합니다.Subversion SSH export 질문

이 프로젝트를 로컬 드라이브에 복사하는 가장 좋은 방법은 무엇입니까?

업데이트 : 나는 어떻게해야할지 모르겠다.하지만 모든 파일을 복사하고 싶다.

업데이트 : 이것은 내 로컬 드라이브에 프로젝트를 복사하고 결국 무엇을 : 어쩌면

scp -r [email protected]:/path/to/dir ./localdir 
+0

다음과 유사한 질문에 대한 답을 찾으면 도움이 될 것입니다. http://stackoverflow.com/questions/1810491/possible-to-svn-export-and-include-unversioned-files –

답변

0

하지 가장 쉬운 가능한 방법, 그러나 확실하게 가장 눈에 띄는. 난 그냥 svn export 다른 저장소에 현재 저장소 및 모든 로컬 변경 사항을 수동으로 병합했다.

0

프로젝트에서 버전 제어가 더 이상 필요하지 않으면 커밋되지 않은 변경 사항을 먼저 체크 인하 고 svn export을 수행하십시오.

0

TortoiseSVN을 사용하는 경우 작업 폴더에서 모두 내보내기를 수행하고 커밋되지 않은 파일도 복사 할 수 있습니다.

2

그대로 작업 복사본을 그대로 두십시오. 지금 당신은 반복적으로 당신의 루트 디렉토리에서 시작하는 모든을 .svn DIRS를 제거해야 프로젝트 :

rm -rf `find . -type d -name .svn` 

당신이 창에있는 경우 : 당신이 리눅스에 있다면

, 당신은 다음을 사용할 수 있습니다 이 작업을해야합니다 :

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%%G" 

이러한 명령 중 하나를 시도하기 전에 백업을 만드십시오! 하지만 나는 두 가지를 모두 svn에서 성공적으로 연결 해제하는 데 사용했습니다.

1

svn 프로젝트를 분기로 전환하고 로컬 변경 사항을 체크인 한 다음 분기를 내 보냅니다. 반복적으로 내보내기를 할 수 있기를 원합니다. 따라서 로컬 복사본에서 버전 제어가 필요하지 않더라도 리포지토리 내보내기에서 오는 전체 트리를 확인하십시오.

0

리포지토리에서 내보내고 체크 인되지 않은 파일을 수동으로 이동하는 대신 작업 복사본의 복사본을 만든 다음 Subversion 버전 정보가 들어있는 파일 .svn을 제거하면됩니다.

는 UNIX (맥/리눅스)에이 명령을 사용하여 쉽게이 제거 할 수 있습니다 당신은 SSH 액세스를 가지고 있기 때문에, 내가 rsync을 사용하십시오

find /path/to/copied/project -name .svn -delete 
3

.

rsync -avz --exclude='*/.svn*' [email protected]:/path/to/checkout /path/to/local/dir 

Rsync가 좋습니다. [email protected]:/path/to/checkout[email protected]:/path/to/checkout/도 다릅니다. 전자는 디렉토리를 복사하고 후자는 디렉토리의 내용을 복사합니다.

+0

유망 해 보였지만 현재 실행 중입니다. 이렇게하려고하는 많은 오류가 있습니다. – Andrew

+0

어떤 종류의 오류가 있습니까? '-a'플래그는 권한에 대한 무해한 오류를 줄 때도 있습니다. –

+0

내 컴퓨터에서 그냥 테스트 및 확인 된 명령 및 나를 위해 일했습니다. 추가 정보가 필요하면 추가로 도움을 받으십시오. –