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

[JGIT PATCH 00/10] Support writing pack index version 2

From
Shawn O. Pearce <spearce@spearce.org>
Date
Jun 24, 2008, 02:09 UTC
Message-ID
<1214273408-70793-1-git-send-email-spearce@spearce.org>

This series adds support for writing pack index v2 formatted files out of IndexPack, and thus any pack we fetch over the network. It also abstracts out the index formatting functions so we can reuse them efficiently inside of PackWriter to support creating packs on the local disk, or to upload packs directly over a dumb transport.

I started down this path because we're missing index v2 support and that is likely to become a default in the near future for C Git, and because I want to support push over sftp style URLs now that Marek has a pack writing implementation.

----
The following changes since commit 535041bba0836a3488fbd465adb171a2c70c9415:
  Florian Koeberle (1):
        Added the package fnmatch and two exceptions.
are available in the git repository at:
  repo.or.cz:/srv/git/egit/spearce.git index-v2
Shawn O. Pearce (10):
      Extract inner ObjectEntry from IndexPack class
      Make ObjectEntry's position field private
      Rename ObjectEntry to PackedObjectInfo
      Document PackedObjectInfo and make it public for reuse
      Refactor pack index writing to a common API
      Reuse the magic tOc constant for pack index headers
      Add 64 bit network byte order encoding to NB
      Compute packed object entry CRC32 data during IndexPack
      Add support for writing pack index v2 files
      Default IndexPack to honor pack.indexversion configuration
 .../src/org/spearce/jgit/lib/CoreConfig.java       |   11 +
 .../src/org/spearce/jgit/lib/PackIndex.java        |    3 +-
 .../src/org/spearce/jgit/lib/PackIndexWriter.java  |  267 ++++++++++++++++++++
 .../org/spearce/jgit/lib/PackIndexWriterV1.java    |   78 ++++++
 .../org/spearce/jgit/lib/PackIndexWriterV2.java    |  101 ++++++++
 .../src/org/spearce/jgit/pgm/IndexPack.java        |    4 +
 .../src/org/spearce/jgit/transport/IndexPack.java  |  225 ++++++++++-------
 .../spearce/jgit/transport/PackedObjectInfo.java   |  109 ++++++++
 org.spearce.jgit/src/org/spearce/jgit/util/NB.java |   37 +++
 9 files changed, 743 insertions(+), 92 deletions(-)
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriter.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriterV1.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriterV2.java
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/transport/PackedObjectInfo.java
Next: Shawn O. Pearce
Message 1 of 14 in “Support writing pack index version 2”
  1. 00/10 Support writing pack index version 2Shawn O. Pearce, Jun 24, 2008
  2. 01/10 Extract inner ObjectEntry from IndexPack classShawn O. Pearce, Jun 24, 2008
  3. 02/10 Make ObjectEntry's position field privateShawn O. Pearce, Jun 24, 2008
  4. 03/10 Rename ObjectEntry to PackedObjectInfoShawn O. Pearce, Jun 24, 2008
  5. 04/10 Document PackedObjectInfo and make it public for reuseShawn O. Pearce, Jun 24, 2008
  6. 05/10 Refactor pack index writing to a common APIShawn O. Pearce, Jun 24, 2008
  7. 06/10 Reuse the magic tOc constant for pack index headersShawn O. Pearce, Jun 24, 2008
  8. 07/10 Add 64 bit network byte order encoding to NBShawn O. Pearce, Jun 24, 2008
  9. 08/10 Compute packed object entry CRC32 data during IndexPackShawn O. Pearce, Jun 24, 2008
  10. 09/10 Add support for writing pack index v2 filesShawn O. Pearce, Jun 24, 2008
  11. 10/10 Default IndexPack to honor pack.indexversion configurationShawn O. Pearce, Jun 24, 2008
  12. 06/10 Reuse the magic tOc constant for pack index headersShawn O. Pearce, Jun 25, 2008
  13. Robin RosenbergJun 24, 2008
  14. Shawn O. PearceJun 25, 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.