2012-03-04 3 views
2

상황에 대한 SVN의 역사를 복원하고 역사의 :.. 로그삭제 디렉토리

R2와 함께,

은 R1이)/프로젝트/경로가 파일과 디렉토리를 많이 포함)/프로젝트/경로이었다 1 년 전에 삭제되었습니다.

R3.) add를 통해/project/path의 로컬 복사본으로 대체되었습니다./프로젝트/경로 로그


이제 우리는 복원 할

R1 + R4 역사를 기록으로, 많은 변화가 있습니다

R4.) 년 후 (파일의 40 %는 다른, 삭제, 변경되지 않습니다)/project/path에있는 파일들에 대해서.

가능한 모든 방법이 있습니까? 불행히도 나는 이것을 할 길을 찾지 못했습니다.


UPDATE :

결과적이어야 R4 파일 집합이지만 R1 + R4 로그와. 현재 R1, R4 모두에서 로그를 검토해야합니다.

+0

존재 새로운 위치 오래된 버전 (R2-1), 체크 아웃 할 수 있습니까? SVN에 역사가 있지만 변경 사항을 취소하려는 것 같습니다. – khmarbaise

+0

아니요 내가 실행 취소하지 않으려는 경우 파일의 변경 사항을 추적하는 데 기록이 필요합니다. – MgDuke

답변

0

먼저 간단하게하기 위해 -r (개정)을 사용하여 R2 경로의 사본을/project/old_path라는 새로운 위치에 만들 수 있습니다. 이제 다른 경로와 마찬가지로 해당 경로를 처리 할 수 ​​있습니다.

그런 다음 svn merge 또는 수동으로 두 버전의 각 파일을보고/diff/merge를 추가하여 R4와 병합하십시오.

svn의 관점에서 볼 때, R4의 old_path 디렉토리와 path은 다른 두 경로보다 훨씬 관련이 없습니다. svn은 두 개정의 어떤 부분을 사용해야하는지 알 수 없습니다. 당신이 종류의 당신이 더 나은 답변을 얻을 수 있습니다 원하는 효과를 병합 무엇 자세한 내용에 대해 설명하는 경우 (http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.merge)

:

또한 SVN 병합에 -r directy를 사용할 수 있습니다.

+0

왜 그런 오래된 문서 링크를 사용하고 있습니까? http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn.c.merge (최신 버전입니다.). – khmarbaise

+0

누가 병합에 대해 말한거야?! –

+0

@khmarbaise, ok가 고정되었습니다. 요점은 -r을 사용하는 것입니다. 어떤 단계의 OP에 문제가 있는지 분명하지 않습니다. –

0
svn help co 
checkout (co): Check out a working copy from a repository. 
usage: checkout URL[@REV]... [PATH] 

참고 @REV in URL - SVN은 VCS (버전 제어 시스템)이기 때문에 모든 이전 버전에 대한 데이터가 있습니다.

R4가 현재의 상태 인 경우, 오래된 내용이 여전히

내가 가진 문제는 당신이 역사를 복원 할 이유를 이해하는 것입니다