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

[PATCH v3 00/10] teach replace objects to sha1_object_info_extended()

From
Christian Couder <chriscool@tuxfamily.org>
Date
Dec 11, 2013, 07:46 UTC
Message-ID
<20131211074147.11117.1155.chriscool@tuxfamily.org>

Here is version 3 of a patch series to improve the way sha1_object_info_extended() behaves when it is passed a replaced object. The idea is to add a flags argument to it in the same way as what has been done to read_sha1_file().

This patch series was inspired by a sub thread in this discussion:

http://thread.gmane.org/gmane.comp.version-control.git/238118

The only change compared to version 2 is that a few more tests have been added to patch 8/10, as suggested by Eric Sunchine.

As in the previous version, patches 7/10, 8/10, 9/10 and 10/10 add a new --format option to list replace refs. 'short' (which is the default), 'medium' and 'full' formats are supported. This could be considered another patch series, but it is also related, because it uses sha1_object_info() and it fixes its use in builtin/replace.c by unsetting the global variable read_replace_refs in cmd_replace().

Christian Couder (10):
  Rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
  replace_object: don't check read_replace_refs twice
  Introduce lookup_replace_object_extended() to pass flags
  Add an "unsigned flags" parameter to sha1_object_info_extended()
  t6050: show that git cat-file --batch fails with replace objects
  sha1_file: perform object replacement in sha1_object_info_extended()
  builtin/replace: teach listing using short, medium or full formats
  t6050: add tests for listing with --format
  builtin/replace: unset read_replace_refs
  Documentation/git-replace: describe --format option
 Documentation/git-replace.txt | 19 ++++++++++++-
 builtin/cat-file.c            |  2 +-
 builtin/replace.c             | 63 ++++++++++++++++++++++++++++++++++++++-----
 cache.h                       | 12 ++++++---
 replace_object.c              |  3 ---
 sha1_file.c                   | 20 +++++++-------
 streaming.c                   |  2 +-
 t/t6050-replace.sh            | 42 +++++++++++++++++++++++++++++
 8 files changed, 137 insertions(+), 26 deletions(-)
-- 
1.8.5.1.102.g090758b
Next: Christian Couder
Message 1 of 20 in “teach replace objects to sha1_object_info_extended()”
  1. 00/10 teach replace objects to sha1_object_info_extended()Christian Couder, Dec 11, 2013
  2. 01/10 Rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECTChristian Couder, Dec 11, 2013
  3. 02/10 replace_object: don't check read_replace_refs twiceChristian Couder, Dec 11, 2013
  4. 03/10 Introduce lookup_replace_object_extended() to pass flagsChristian Couder, Dec 11, 2013
  5. 04/10 Add an "unsigned flags" parameter to sha1_object_info_extended()Christian Couder, Dec 11, 2013
  6. 05/10 t6050: show that git cat-file --batch fails with replace objectsChristian Couder, Dec 11, 2013
  7. 06/10 sha1_file: perform object replacement in sha1_object_info_extended()Christian Couder, Dec 11, 2013
  8. 07/10 builtin/replace: teach listing using short, medium or full formatsChristian Couder, Dec 11, 2013
  9. Karsten BleesDec 18, 2013
  10. Christian CouderDec 18, 2013
  11. Junio C HamanoDec 18, 2013
  12. Christian CouderDec 19, 2013
  13. Junio C HamanoDec 19, 2013
  14. Christian CouderDec 21, 2013
  15. Junio C HamanoDec 26, 2013
  16. Christian CouderDec 28, 2013
  17. 08/10 t6050: add tests for listing with --formatChristian Couder, Dec 11, 2013
  18. 09/10 builtin/replace: unset read_replace_refsChristian Couder, Dec 11, 2013
  19. 10/10 Documentation/git-replace: describe --format optionChristian Couder, Dec 11, 2013
  20. Junio C HamanoDec 12, 2013

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.