2010-03-03 4 views
34

Mercurial에 적용된 대형 MQ 패치가 있습니다. 무슨 일이 있었는지 qrefresh를했고 패치에 포함시키지 않은 파일을 포함 시켰습니다. 수동으로 편집하지 않고이 파일의 변경 사항을 패치에서 제거 할 수 있습니까? 이 경우 MQ없이 그냥 작업했다면, 내가해야 할 일은 되돌리기입니다.Mercurial MQ 패치에서 파일 제거

답변

46

적용 :

hg qrefresh -X [file1] -X [file2] ... -X [fileN] 

패치의 fileN에 파일 1을 취할 것입니다. 완료 한 후 hg status을 입력하여 파일이 수정 된 것으로 표시되어 더 이상 패치의 일부가 아닌지 확인하십시오.

+3

'-X' 스위치가 각 파일 이름 앞에 와야합니다. 따라서 foo와 bar를 제거하려면'hg qrefresh -X foo -X bar'를 사용하십시오. – nmichaels

+0

패치에서 모든 파일을 제거하려면 각 파일을 제거하지 말고'hg qrefresh -X '*''를 실행하십시오. '*'문자를'''로 묶어 쉘이 수은 이전에 해석하지 못하게해야합니다. –

2

패치를 적용하고 (스택 맨 위에 적용), hg forgethg qrefresh을 사용할 수 있다고 생각합니다.

그리고 물론 hg forget은 파일 삭제를 피하기 위해 추가 옵션을 요구하지 않고 단지 hg remove입니다.

0

가장 쉬운 방법은 제거하려는 파일을 제외한 모든 파일을 hg qrefresh으로 바꾸는 것입니다.이 파일은 패치를 버리지 않고 변경 사항을 적용합니다. 패치와