2011-07-27 3 views
12

내가 폴더를 추출하기 위해 노력하고 변환하여 의욕 리포의 하위 폴더에서 새 REPO 만들기 기존의 의욕 환매 약정에서 (그 Project1의 전화) 머큐리얼 변환 의욕의 변환 확장을 사용 (MainRepo에서 전화) . 나는 윈도우 XP에서 (다른 곳에서 웹에) 의욕 개발자들에 의해 설명 된 방법을 따랐다 :

C:\MainRepo>echo include Project1 > ~myfilemap 
C:\MainRepo>echo rename Project1 . >> ~myfilemap 
C:\MainRepo>hg convert --filemap ~myfilemap . C:\Project1Repo 
C:\MainRepo>cd \Project1Repo 
C:\Project1Repo>hg update 

이 장소에 의욕 폴더/파일과 새로운 REPO (Project1Repo)를 생성한다. 하지만 그렇지 않습니다.

1) Project1 폴더의 프로젝트 변경 사항과 관련된 기록을두고 이동하십시오. (MainRepo의 첫 번째 기록 항목과 변환 항목 만 있습니다.)

2) MainRepo \ Project1에서 Project1Repo로 모든 소스 코드 파일을 복사하십시오.

나는 유래의 다른 유사한 질문과 답변을 보았다 그러나 이들은 (내가 그들에서 논의 된 방법을 따랐다) 도움이 표시되지 않습니다 : 이 Can I clone part of a Mercurial repository?

그래서 질문은 : 어떻게 서브를 추출 할 MainRepo 폴더에서 하위 폴더 내역 만 변경하지 않고 새 Repo를 완료하고 동시에 소스 파일을 전송할 수 있습니까? (비록 나는 똑 바른 사본이 마지막을 할 것이라고 생각한다). 그것은 중요한 역사를 지키고 있습니다.이 경우 날짜 나 변경 집합 번호 뒤에 이것을 만들 수 있습니다.

나는이

감사

답변

7

당신이 나와있는 워크 플로우가 올바른지 비교적 새로운 해요로 많은 감사 어떤 도움. 이것이 바로 convert 확장 기능의 작동 방식입니다.

hg convert의 repo 출력이 실제로 비어 있다고 나와 있습니다 ("은 MainRepo의 첫 번째 기록 항목이고 Convert 항목은"제외). 이것은 convert이 (는) 귀하의 파일 맵에 지정된 경로를 찾을 수 없음을 나타냅니다.

include 문에 주어진 경로가 맞는지 확실합니까?

include 문에 지정된 디렉토리 이름은 저장소 루트의 전체 경로 여야합니다. 예를 들어, 문이 포함

include Project1 

이 필요 Project1의 경로는 실제로 것이 : 실제로 MainRepo에 다른 곳에 위치한

C:\MainRepo\Project1 

Project1 경우에는 후 빈의 repo로 끝날 것 변환.

+0

안녕하세요, Tim -이 답장을 보내 주셔서 감사합니다. 예, 경로 문제였습니다. 주제에 대한 몇 가지 게시물을 읽고 나에게 필요한 것을 분명히 말하면 잘 작동했습니다. ** hg 업데이트 이후 ** 실제로 소스 파일을 복사하지 않았습니다 (수동으로 수행 한 파일). 강력한 명령이지만 잘 설명되지 않은 것 같습니다. –