Program Tip

역사와 함께 디렉토리 이동

programtip 2020. 11. 27. 21:09
반응형

역사와 함께 디렉토리 이동


다음과 같은 SVN 구조가 있습니다.

/Projects
    /Project1
    /Project2
/someFolder
    /Project3
    /Project4

모든 프로젝트를 / Projects 폴더로 옮기고 싶습니다. 즉, 프로젝트 3과 4를 / someFolder에서 / projects 폴더로 옮기고 싶습니다.

주의 사항 : 전체 역사를 유지하고 싶습니다. 모든 클라이언트가 새 위치에서 항목을 다시 확인해야한다고 가정합니다. 괜찮습니다.하지만 기록을 완전히 파괴하지 않고 디렉토리를 이동하는 가장 간단한 방법이 무엇인지 궁금합니다.

중요한 경우 Subversion 1.5.


svn help rename

Subversion에서 이동 / 이름을 변경하면 기록이 그대로 유지됩니다.


svn 이동 SRC DST
$ svn move -m "파일 이동"http://svn.red-bean.com/repos/foo.c http://svn.red-bean.com/repos/bar.c

svn move는 기록을 유지합니다.


Tortoise SVN은 '오른쪽 클릭'이동을 지원합니다. '마우스 오른쪽 클릭'을 사용하여 소스 파일 / 디렉토리를 대상으로 드래그하면 컨텍스트 메뉴가 나타납니다. 복사 / 이동 / 이동-이름 변경 등에 대한 적절한 메뉴 옵션을 선택할 수 있습니다.이 옵션은 기록도 보존합니다.

참고 : Tortoise SVN에는 'Repair Move'라는 멋진 운명이 있습니다.이 기능을 사용하면 파일 / 디렉토리를 이동할 때 이름을 바꿀 수 있습니다. (자세한 내용은 문서 를 참조하십시오)


svn move 명령을 사용하여 프로젝트 3을 프로젝트 폴더로 이동하면 프로젝트 3 폴더에 대한 기록이 유지되지만 흥미롭게도 프로젝트 폴더에는 프로젝트 3이 프로젝트로 이동되기 전에 생성 된 프로젝트 3의 기록이 표시되지 않습니다.

나는 이것이 혼란스러워서 폴더가 계층 구조에서 그 아래의 모든 기록을 보여줄 것이라고 생각했지만 이것이 사실이 아닌 것처럼 보입니다 (이것을 직접 테스트했습니다)


svn copy 명령을 사용할 수 있습니다. 그것은 당신의 역사를 유지합니다. 로그를 표시하는 동안 "복사 / 이름 변경시 중지"옵션을 선택 해제하기 만하면됩니다 (거북이의 예).

Subversion-Book svn 사본을 자세히 살펴보십시오.


리포 브라우저를 사용하여 끌어다 놓고 로컬 폴더를 SVN 서버에 다시 바인딩합니다.


Subversion에서 디렉토리를 이동해도 기록이 파괴되지 않습니다. AFAIK.


그렇게하려면 svn의 특정 이동 / 이름 바꾸기 기능을 사용해야합니다 (예를 들어 이것을 사용하는 경우 TortoiseSVN 도움말 확인). 직접 파일을 이동 한 다음 변경 사항을 커밋하면 기록이 유지 될지 확실하지 않습니다.


내가 아는 한, Bazaar만이 디렉토리 이동에 대해 말할 때 특히 디렉토리에 대한 기록을 유지할 수 있습니다. SVN을 사용하면 디렉토리가 아닌 파일을 이동할 때 기록을 유지할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/108567/moving-directories-with-history

반응형