{"thread":{"id":"16705","subject":"[PATCH 0/41] JGIT patch api series","startedAt":"2008-12-12T22:09:43Z","lastAt":"2008-12-12T22:09:43Z","messageCount":1,"participants":["Shawn O. Pearce"],"isPatch":true,"patchVersion":1,"patchTotal":41},"messages":[{"id":"97756","messageId":"20081212220943.GS32487@spearce.org","threadId":"16705","inReplyTo":null,"subject":"[PATCH 0/41] JGIT patch api series","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-12-12T22:09:43Z","receivedAt":"2008-12-12T22:09:43Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"I think I've finished my work on the basic patch API for JGit.\nA full summary of all of the commits appears below, along with the\nfinal diffstat relative to the current master branch. 41 commits\nand 6,151 lines of code in 3 days.  Yikes.\n\n  git://repo.or.cz/egit/spearce.git patchapi\n\nShawn O. Pearce (41):\n      Define an abstraction for handling abbreviated SHA-1 strings\n      Add ObjectId.startsWith(AbbreviatedObjectId)\n      Change AnyObjectId.abbreviate() to return AbbreviatedObjectId\n      Simplify RawParseUtils.nextLF invocations\n      Simplify RawParseUtils next and nextLF loops\n      Correct Javadoc of RawParseUtils next and nextLF methods\n      Add QuotedString class to handle Git path style quoting rules\n      Add Bourne style quoting for TransportGitSsh\n      Add ~user friendly Bourne style quoting for TransportGitSsh\n      Add toByteArray() to TemporaryBuffer\n      Add copy(InputStream) to TemporaryBuffer\n      Define FileHeader to parse the header block of a git diff\n      Define Patch to parse a sequence of patch FileHeaders\n      Add HunkHeader to represent a single hunk of a file within a patch\n      Correct use of TemporaryBuffer in Patch\n      Add tests for TemporaryBuffer\n      Add IntList as a more efficient representation of List<Integer>\n      Add lineMap computer to RawParseUtils to index locations of line starts\n      Define FileHeader.PatchType to report the style of patch used\n      Test for non-git binary files and mark them as PatchType.BINARY\n      Set empty patches with no Git metadata to PatchType.BINARY\n      Always use the FileHeader buffer during Patch.parseHunks\n      Parse \"GIT binary patch\" style patch metadata\n      Record patch parsing errors for later inspection by applications\n      Fix Patch.parse to honor the end point passed in\n      Correctly handle hunk headers such as \"@@ -0,0 +1 @@\"\n      Patch parse test comparing \"git log -p\" output to \"git log --numstat\"\n      Abstract the hunk header testing into a method\n      Treat \"diff --combined\" the same as \"diff --cc\"\n      Assert the HunkHeader.getFileHeader returns the right file\n      Add tests to cover more methods of BinaryHunk\n      Add a simple toString to FormatError to facilitate debugging\n      Allow FileHeader to create its HunkHeader children\n      Refactor the old/pre-image data in HunkHeader to support >1 ancestor\n      Assert the ChunkHeader.OldImage.getId uses FileHeader.getOldImage\n      Allow a stray LF at the end of a hunk\n      Fix HunkHeader start line when parsing \"@@ -1 +1 @@\" style headers\n      Add test cases for parsing \"\\ No newline at end of file\" style patches\n      Use FileMode.MISSING when a file is added or deleted rather than null\n      Add a test for delta binary patch parsing and fix a bug in it\n      Add support for parsing \"diff --cc\" style patches\n\n .../ui/internal/components/RefContentProposal.java |    2 +-\n .../egit/ui/internal/fetch/FetchResultTable.java   |   12 +-\n .../egit/ui/internal/push/PushResultTable.java     |   21 +-\n .../src/org/spearce/jgit/pgm/Branch.java           |    2 +-\n .../src/org/spearce/jgit/pgm/Fetch.java            |    8 +-\n .../src/org/spearce/jgit/pgm/Push.java             |    5 +-\n .../spearce/jgit/patch/EGitPatchHistoryTest.java   |  221 ++++++++\n .../spearce/jgit/lib/AbbreviatedObjectIdTest.java  |  285 ++++++++++\n .../tst/org/spearce/jgit/patch/FileHeaderTest.java |  427 +++++++++++++++\n .../org/spearce/jgit/patch/PatchCcErrorTest.java   |   97 ++++\n .../tst/org/spearce/jgit/patch/PatchCcTest.java    |  200 +++++++\n .../tst/org/spearce/jgit/patch/PatchErrorTest.java |  174 ++++++\n .../tst/org/spearce/jgit/patch/PatchTest.java      |  352 ++++++++++++\n .../spearce/jgit/patch/testError_BodyTooLong.patch |   17 +\n .../jgit/patch/testError_CcTruncatedOld.patch      |   24 +\n .../jgit/patch/testError_DisconnectedHunk.patch    |   30 +\n .../jgit/patch/testError_GarbageBetweenFiles.patch |   33 ++\n .../patch/testError_GitBinaryNoForwardHunk.patch   |   10 +\n .../jgit/patch/testError_TruncatedNew.patch        |   15 +\n .../jgit/patch/testError_TruncatedOld.patch        |   15 +\n .../jgit/patch/testParse_AddNoNewline.patch        |   20 +\n .../jgit/patch/testParse_CcDeleteFile.patch        |   12 +\n .../spearce/jgit/patch/testParse_CcNewFile.patch   |   14 +\n .../patch/testParse_ConfigCaseInsensitive.patch    |   67 +++\n .../jgit/patch/testParse_FixNoNewline.patch        |   20 +\n .../jgit/patch/testParse_GitBinaryDelta.patch      |   21 +\n .../jgit/patch/testParse_GitBinaryLiteral.patch    |  135 +++++\n .../spearce/jgit/patch/testParse_NoBinary.patch    |   83 +++\n .../spearce/jgit/patch/testParse_OneFileCc.patch   |   27 +\n .../tst/org/spearce/jgit/util/IntListTest.java     |  156 ++++++\n .../jgit/util/QuotedStringBourneStyleTest.java     |  111 ++++\n .../util/QuotedStringBourneUserPathStyleTest.java  |  130 +++++\n .../jgit/util/QuotedStringGitPathStyleTest.java    |  172 ++++++\n .../jgit/util/RawParseUtils_LineMapTest.java       |   88 +++\n .../org/spearce/jgit/util/TemporaryBufferTest.java |  374 +++++++++++++\n .../tst/org/spearce/jgit/util/TestRng.java         |   61 +++\n .../org/spearce/jgit/lib/AbbreviatedObjectId.java  |  262 +++++++++\n .../src/org/spearce/jgit/lib/AnyObjectId.java      |   39 ++-\n .../src/org/spearce/jgit/lib/ObjectChecker.java    |    4 +-\n .../src/org/spearce/jgit/patch/BinaryHunk.java     |  127 +++++\n .../org/spearce/jgit/patch/CombinedFileHeader.java |  213 ++++++++\n .../org/spearce/jgit/patch/CombinedHunkHeader.java |  191 +++++++\n .../src/org/spearce/jgit/patch/FileHeader.java     |  568 ++++++++++++++++++++\n .../src/org/spearce/jgit/patch/FormatError.java    |  109 ++++\n .../src/org/spearce/jgit/patch/HunkHeader.java     |  228 ++++++++\n .../src/org/spearce/jgit/patch/Patch.java          |  376 +++++++++++++\n .../src/org/spearce/jgit/revwalk/RevTag.java       |    2 +-\n .../spearce/jgit/transport/TransportGitSsh.java    |   38 +--\n .../src/org/spearce/jgit/util/IntList.java         |  128 +++++\n .../src/org/spearce/jgit/util/QuotedString.java    |  362 +++++++++++++\n .../src/org/spearce/jgit/util/RawParseUtils.java   |   76 ++-\n .../src/org/spearce/jgit/util/TemporaryBuffer.java |   72 +++-\n 52 files changed, 6151 insertions(+), 85 deletions(-)\n create mode 100644 org.spearce.jgit.test/exttst/org/spearce/jgit/patch/EGitPatchHistoryTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/lib/AbbreviatedObjectIdTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/FileHeaderTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/PatchCcErrorTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/PatchCcTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/PatchErrorTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/PatchTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_BodyTooLong.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_CcTruncatedOld.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_DisconnectedHunk.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_GarbageBetweenFiles.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_GitBinaryNoForwardHunk.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_TruncatedNew.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testError_TruncatedOld.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_AddNoNewline.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_CcDeleteFile.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_CcNewFile.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_ConfigCaseInsensitive.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_FixNoNewline.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_GitBinaryDelta.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_GitBinaryLiteral.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_NoBinary.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/patch/testParse_OneFileCc.patch\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/IntListTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/QuotedStringBourneStyleTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/QuotedStringBourneUserPathStyleTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/QuotedStringGitPathStyleTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/RawParseUtils_LineMapTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/TemporaryBufferTest.java\n create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/util/TestRng.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/AbbreviatedObjectId.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/BinaryHunk.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/CombinedFileHeader.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/CombinedHunkHeader.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/FileHeader.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/FormatError.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/HunkHeader.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/patch/Patch.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/util/IntList.java\n create mode 100644 org.spearce.jgit/src/org/spearce/jgit/util/QuotedString.java\n\n-- \nShawn.\n"}]}