통합 패치 파일에 어떻게 추가하나요?

통합 패치 파일에 어떻게 추가하나요?

통합 패치 형식의 패치 파일이 있는 경우(아래 예 참조), (적용된) 패치가 해당 줄을 추가하도록 파일에 줄을 추가하려면 어떻게 해야 합니까?

--- lao 2002-02-21 23:30:39.942229878 -0800
+++ tzu 2002-02-21 23:30:50.442260588 -0800
@@ -1,7 +1,6 @@
-The Way that can be told of is not the eternal Way;
-The name that can be named is not the eternal name.
The Nameless is the origin of Heaven and Earth;
-The Named is the mother of all things.
+The named is the mother of all things.
+
Therefore let there always be non-being,
so we may see their subtlety,
And let there always be being,
@@ -9,3 +8,6 @@
The two are the same,
But after they are produced,
they have different names.
+They both may be called deep and profound.
+Deeper and more profound,
+The door of all subtleties!

답변1

간단히 말해서, 당신은 그렇지 않습니다.

팀장: 그게 이유야

  • 균일한 차이는스크립트, 사용줄 번호그리고세다diff의 내용과 관련이 있습니다.
  • 이 스크립트를 수동으로 간단하게 변경할 수는 있지만(저는 이렇게 합니다...)
  • Unified-diff는 주로 프로그램에 유용합니다 patch.
  • patchdiff 부분 간의 일관성을 확인하고
  • patch일치하지 않는 것으로 확인된 섹션은 거부됩니다.

다음 줄에는 줄 번호와 개수가 포함됩니다.

@@ -1,7 +1,6 @@
@@ -9,3 +8,6 @@

그리고 그 개수는 차이의 나머지 줄에 있는 선행 또는 토큰의 +수와 일치 해야 합니다.-

따라서 이 작업을 수동으로 수행하지 않습니다. 누구할 수 있다이를 수행하는 프로그램을 작성하십시오. 그러나 그것은 없습니다patchutils(패치 파일을 조작하는 데 유용한 응용 프로그램에 대한 누군가의 아이디어) 패치 파일을 수동으로 편집하는 데 유용한 응용 프로그램 rediffcombinediff스크립트를 찾을 수 있습니다.

어쨌든 패치 파일을 처리하는 응용 프로그램은 거의 없습니다(아마도누구나는 이미 하나를 썼습니다).

여기서 일반적인 접근 방식은 다음을 통해 diff를 재생성하는 것입니다.

  1. 원본 소스 받기(패치 전)
  2. 소스 코드의 패치 버전 만들기(패치 적용)
  3. 추가 변경
  4. 새 패치(두 가지 변경 사항 모두 포함) 또는 증분 패치(변경 사항에만 해당)를 빌드합니다.

이를 달성하는 것은 및 를 사용하여 diff간단합니다 patch. 너무 간단하기 때문에 이를 수행하는 도구를 작성하는 사람은 많지 않습니다.

추가 자료:

관련 정보