git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[JGIT PATCH 00/12] Patch API bug fixes and diff --cc suport

From
Shawn O. Pearce <spearce@spearce.org>
Date
Dec 12, 2008, 22:05 UTC
Message-ID
<1229119558-1293-1-git-send-email-spearce@spearce.org>

This series addes new unit tests for the patch API, closing some gaps in our test coverage. Some of those tests identified bugs in the implementation, and those are now fixed.

The final patch in the series adds support for "diff -cc" patches, used to show an "evil merge" commit's conflict resolution.

Shawn O. Pearce (12):
  Assert the HunkHeader.getFileHeader returns the right file
  Add tests to cover more methods of BinaryHunk
  Add a simple toString to FormatError to facilitate debugging
  Allow FileHeader to create its HunkHeader children
  Refactor the old/pre-image data in HunkHeader to support >1 ancestor
  Assert the ChunkHeader.OldImage.getId uses FileHeader.getOldImage
  Allow a stray LF at the end of a hunk
  Fix HunkHeader start line when parsing "@@ -1 +1 @@" style headers
  Add test cases for parsing "\ No newline at end of file" style
    patches
  Use FileMode.MISSING when a file is added or deleted rather than null
  Add a test for delta binary patch parsing and fix a bug in it
  Add support for parsing "diff --cc" style patches
 .../spearce/jgit/patch/EGitPatchHistoryTest.java   |    4 +-
 .../tst/org/spearce/jgit/patch/FileHeaderTest.java |    4 +-
 .../org/spearce/jgit/patch/PatchCcErrorTest.java   |   97 +++++++++
 .../tst/org/spearce/jgit/patch/PatchCcTest.java    |  200 ++++++++++++++++++
 .../tst/org/spearce/jgit/patch/PatchTest.java      |  165 +++++++++++++--
 .../jgit/patch/testError_CcTruncatedOld.patch      |   24 +++
 .../jgit/patch/testParse_AddNoNewline.patch        |   20 ++
 .../jgit/patch/testParse_CcDeleteFile.patch        |   12 +
 .../spearce/jgit/patch/testParse_CcNewFile.patch   |   14 ++
 .../jgit/patch/testParse_FixNoNewline.patch        |   20 ++
 .../jgit/patch/testParse_GitBinaryDelta.patch      |   21 ++
 ...nary.patch => testParse_GitBinaryLiteral.patch} |    0
 .../spearce/jgit/patch/testParse_OneFileCc.patch   |   27 +++
 .../src/org/spearce/jgit/patch/BinaryHunk.java     |    2 +-
 .../org/spearce/jgit/patch/CombinedFileHeader.java |  213 ++++++++++++++++++++
 .../org/spearce/jgit/patch/CombinedHunkHeader.java |  191 ++++++++++++++++++
 .../src/org/spearce/jgit/patch/FileHeader.java     |   64 ++++--
 .../src/org/spearce/jgit/patch/FormatError.java    |   14 ++
 .../src/org/spearce/jgit/patch/HunkHeader.java     |  134 +++++++-----
 .../src/org/spearce/jgit/patch/Patch.java          |   24 ++-
 20 files changed, 1134 insertions(+), 116 deletions(-)
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/PatchCcErrorTest.java
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/PatchCcTest.java
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_CcTruncatedOld.patch
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_AddNoNewline.patch
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_CcDeleteFile.patch
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_CcNewFile.patch
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_FixNoNewline.patch
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_GitBinaryDelta.patch
 rename org.spearce.jgit.test/tst/org/spearce/jgit/patch/{testParse_GitBinary.patch => testParse_GitBinaryLiteral.patch} (100%)
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_OneFileCc.patch
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/CombinedFileHeader.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/CombinedHunkHeader.java
Next: Shawn O. Pearce
Message 1 of 14 in “Patch API bug fixes and diff --cc suport”
  1. 00/12 Patch API bug fixes and diff --cc suportShawn O. Pearce, Dec 12, 2008
  2. 01/12 Assert the HunkHeader.getFileHeader returns the right fileShawn O. Pearce, Dec 12, 2008
  3. 02/12 Add tests to cover more methods of BinaryHunkShawn O. Pearce, Dec 12, 2008
  4. 03/12 Add a simple toString to FormatError to facilitate debuggingShawn O. Pearce, Dec 12, 2008
  5. 04/12 Allow FileHeader to create its HunkHeader childrenShawn O. Pearce, Dec 12, 2008
  6. 05/12 Refactor the old/pre-image data in HunkHeader to support >1 ancestorShawn O. Pearce, Dec 12, 2008
  7. 06/12 Assert the ChunkHeader.OldImage.getId uses FileHeader.getOldImageShawn O. Pearce, Dec 12, 2008
  8. 07/12 Allow a stray LF at the end of a hunkShawn O. Pearce, Dec 12, 2008
  9. 08/12 Fix HunkHeader start line when parsing "@@ -1 +1 @@" style headersShawn O. Pearce, Dec 12, 2008
  10. 09/12 Add test cases for parsing "\ No newline at end of file" style patchesShawn O. Pearce, Dec 12, 2008
  11. 10/12 Use FileMode.MISSING when a file is added or deleted rather than nullShawn O. Pearce, Dec 12, 2008
  12. 11/12 Add a test for delta binary patch parsing and fix a bug in itShawn O. Pearce, Dec 12, 2008
  13. 12/12 Add support for parsing "diff --cc" style patchesShawn O. Pearce, Dec 12, 2008
  14. 12/12 Add support for parsing "diff --cc" style patchesShawn O. Pearce, Dec 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.