2010-05-16 11 views
7

제가 일하는 회사에서 주요 서버 오류가 발생했습니다. 이 실패 동안 SVN 저장소가 손실되었습니다. 그러나 여전히 희망이 있습니다! VisualSVN을 사용하여 성공적으로 복원 한 저장소의 이전 백업이 있습니다.VisualSVN 개정 번호를 롤백하는 방법은 무엇입니까?

내가 직면 한 문제는 사전 실패 체크 아웃 폴더를 업데이트/커밋 할 수 없다는 점입니다. 이 문제의 원인은 로컬 폴더의 수정 번호가 2330 인 인 반면 리포지토리는 리비전 번호가 2290이며 이전 버전 인 것입니다.

이 문제를 해결할 방법이 있습니까? 로컬 복사본이나 서버 복사본에서 개정 번호를 변경하는 방법이 있습니까?

몇 가지 포인트 : 내가 TortoiseSVN을 1.6.6을 사용하고

  • .
  • repo에서 폴더를 체크 아웃 할 수 있으며 연결이 활성화되어 있습니다.
  • 내 폴더 중 하나를 골라서 위치 변경 옵션을 사용했습니다. 이로 인해 수정 번호에 문제가 있다는 것을 알 수있었습니다.
  • 병합 옵션을 약간 실험했지만 지금은 특별하게 여기 있습니다.

    남,

당신의 시간 주셔서 감사합니다 (I는 제안을 열려있어)

답변

4
그런 다음, 새로운 작업 복사본으로 프로젝트를 체크 아웃 당신은 그 어떤 도구를 사용해야합니다

변경 사항을 새 작업 복사본으로 이동합니다.

단순히 개정 번호를 되돌릴 수 없습니다. 현재 작업중인 사본에는 잠재적으로 저장소의 이전 백업에없는 변경 사항이 포함되어 있으며 작업 사본은 '저장소와 다름'으로 처리하지 않습니다.

저장소가 손실되면 현재 작업 복사본을 조정할 수있는 기회도있었습니다.

+0

나는이 해결책을 피할 수 있기를 희망했지만 그것이 그렇게 나쁘지는 않은 것으로 보인다. 나는이 줄을 사용했다 : FOR/F "토큰 = *"%% G IN ('DIR/B/AD/S * .svn *') DO RMDIR/S/Q "%% G" 배치 파일에서 이동해야하는 폴더에있는 오래된 .svn 폴더를 없애는 데 도움이됩니다. 도움을 주셔서 감사합니다. – Ita

+0

오, 나는 당신이 '움직여야'한다는 것을 암시하지는 않았지만, 그것은 확실히 접근법입니다. 나는 Beyond Compare 또는 비슷한 것을 사용하여 정확히 내가하고있는 일에 대한 시각을 얻었을 것이다. 그러나 모든 것이 잘 풀리면 나중에 더 큰 힘이 생깁니다! –

1

복원 된 백업의 최신 개정을 작업 복사본으로 체크 아웃하십시오. svn 내보내기 및 이전 작업 복사본을 수행하고 모든 파일/폴더를 이전 체크 아웃 작업 복사본으로 복사하십시오. 필요한 경우 svn add를 수행하고 커밋하십시오. 이것은 모든 변경 사항을 요약해야합니다.

+0

현재 작업 복사본에 아직 커밋되지 않은 변경 내용이 포함되어있을 수 있습니다. –

+0

네, 그게 내 제안에 대한 아이디어입니다. 체크되지 않은 모든 것을 취할 것입니다. (export 명령의 --force 옵션을 확인해야 할 수도 있습니다). – khmarbaise

관련 문제