2012-06-05 3 views
2

diff 파일을 사용하여 패치를 추가하는 데 어려움이 있습니다.diff 파일로 패치를 추가하는 중 오류가 발생했습니다.

$patch -p1 < giftrans.diff 
patch: **** Only garbage was found in the patch input. 

누군가가 나를 도와 줘요 수 : 난은 diff 파일을 사용하여 패치를 만들려고 할 때

$diff gitrans.c.origin gifstrans > giftrans.diff 

내가이 오류를 얻을 : 나는이 방법으로 두 개의 C 소스를 사용은 diff 파일을 만들어? 솔루션을 찾을 수 없습니다.

+0

당신은 '사랑하는'파일을 다른 사람과 붙어있는 경우 그렇지 않으면 "-n"옵션을 사용하여'patch'를 사용할 수 있습니다 (즉, "unified"(-u)가 아니라 "context"(-c) diff가 아닌) (정상적인 diff). 패치에 둘 이상의 파일이있는 경우 패치 적용 프로세스 중에 파일 이름을 수동으로 입력해야합니다. – michael

답변

2

올바른 구문을 사용하고 있지 않습니다. 다음과 같이 사용

$diff -aNur gitrans.c.origin gifstrans > giftrans.diff 

-a , treats it as text 
-N , treats absent files as empty, useful if you want 
    just changes of different existing files but not 
    for new files 
-u , output as unified. This is need to fix you problem 
-r , recursively, useful if you want diff directories 

난 항상 옵션을 잊지 경우, 그러므로 난 그냥 단어 aNur을 기억한다. 기억하기 쉽습니다.

+0

도움 주셔서 감사합니다 – neoben

2

당신은 주어진 패치 구문

$diff -u gitrans.c.origin gifstrans > giftrans.diff 
$patch < giftrans.diff 

하거나 다음 패치 구문의 기본은 diff 형식의 통합은 diff 형식을 사용해야합니다

$diff gitrans.c.origin gifstrans > giftrans.diff 
$patch gitrans.c.origin giftrans.diff 
+0

도움 주셔서 감사합니다. – neoben

관련 문제