[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