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

[PATCH v3 00/25] object_id part 10

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 15, 2017, 22:06 UTC
Message-ID
<20171015220712.97308-1-sandals@crustytoothpaste.net>

This is the tenth in a series of patches to convert from unsigned char [20] to struct object_id. This series mostly involves changes to the refs code. After these changes, there are almost no references to unsigned char in the main refs code.

In this iteration, I chose to skip the ALLOC_ARRAY conversion to limit the scope of changes and because I think to be fixed properly the code requires converting the targets parameter to size_t, which involves touching more code unrelated to the series than I'd like to do right now.

All the other issues that were brought up should be fixed.

This series is available from the following URL: https://github.com/bk2204/git.git object-id-part10

Changes from v2:
* Rebase on master.  This drops significant parts of one patch, as Junio
  pointed out.
* Restore sane line wrappings.
* Fix several docstrings and error messages to reflect object ID instead
  of SHA-1.
* Fix potential NULL dereference in refs_delete_ref.
* Fix potential NULL dereference in expand_ref.
* Add a patch to fix potential NULL dereference in write_pseudoref.
* Restore the missing line in the refs code.
* Fix two commit message typos.
Changes from v1:
* Fix line wrapping in several places.
* Remove empty line.
* Update die messages to refer to "object ID" instead of "sha1".
brian m. carlson (25):
  walker: convert to struct object_id
  refs/files-backend: convert struct ref_to_prune to object_id
  refs: convert delete_ref and refs_delete_ref to struct object_id
  refs: convert update_ref and refs_update_ref to use struct object_id
  refs: prevent accidental NULL dereference in write_pseudoref
  refs: update ref transactions to use struct object_id
  Convert check_connected to use struct object_id
  refs: convert resolve_refdup and refs_resolve_refdup to struct
    object_id
  refs: convert read_ref and read_ref_full to object_id
  refs: convert dwim_ref and expand_ref to struct object_id
  builtin/reflog: convert remaining unsigned char uses to object_id
  refs: convert dwim_log to struct object_id
  pack-bitmap: convert traverse_bitmap_commit_list to object_id
  builtin/pack-objects: convert to struct object_id
  refs: convert peel_ref to struct object_id
  refs: convert read_ref_at to struct object_id
  refs: convert reflog_expire parameter to struct object_id
  sha1_file: convert index_path and index_fd to struct object_id
  Convert remaining callers of resolve_gitlink_ref to object_id
  refs: convert resolve_gitlink_ref to struct object_id
  worktree: convert struct worktree to object_id
  refs: convert resolve_ref_unsafe to struct object_id
  refs: convert peel_object to struct object_id
  refs: convert read_raw_ref backends to struct object_id
  refs/files-backend: convert static functions to object_id
 archive.c                   |   2 +-
 bisect.c                    |   5 +-
 blame.c                     |   4 +-
 branch.c                    |   4 +-
 builtin/am.c                |  16 +--
 builtin/branch.c            |   8 +-
 builtin/checkout.c          |  10 +-
 builtin/clone.c             |  22 ++--
 builtin/commit.c            |   4 +-
 builtin/describe.c          |   2 +-
 builtin/fast-export.c       |   2 +-
 builtin/fetch.c             |   8 +-
 builtin/fmt-merge-msg.c     |   2 +-
 builtin/fsck.c              |   2 +-
 builtin/log.c               |   2 +-
 builtin/merge-base.c        |   2 +-
 builtin/merge.c             |  17 ++--
 builtin/notes.c             |  12 +--
 builtin/pack-objects.c      | 139 ++++++++++++-------------
 builtin/pull.c              |   2 +-
 builtin/receive-pack.c      |  14 +--
 builtin/reflog.c            |  18 ++--
 builtin/remote.c            |   2 +-
 builtin/replace.c           |   8 +-
 builtin/reset.c             |   6 +-
 builtin/rev-list.c          |   4 +-
 builtin/rev-parse.c         |   2 +-
 builtin/show-branch.c       |  12 +--
 builtin/show-ref.c          |   4 +-
 builtin/submodule--helper.c |   2 +-
 builtin/tag.c               |   8 +-
 builtin/update-index.c      |  10 +-
 builtin/update-ref.c        |  12 +--
 builtin/worktree.c          |   6 +-
 bundle.c                    |   4 +-
 combine-diff.c              |   2 +-
 connected.c                 |  18 ++--
 connected.h                 |   4 +-
 diff-lib.c                  |   4 +-
 dir.c                       |   8 +-
 fast-import.c               |   6 +-
 notes-cache.c               |   4 +-
 notes-merge.c               |   2 +-
 notes-utils.c               |   4 +-
 notes.c                     |   2 +-
 pack-bitmap.c               |   8 +-
 pack-bitmap.h               |   2 +-
 read-cache.c                |   6 +-
 reflog-walk.c               |   2 +-
 refs.c                      | 243 ++++++++++++++++++++++----------------------
 refs.h                      | 103 +++++++++----------
 refs/files-backend.c        | 112 ++++++++++----------
 refs/packed-backend.c       |  12 +--
 refs/ref-cache.c            |   2 +-
 refs/refs-internal.h        |  20 ++--
 remote-testsvn.c            |   2 +-
 remote.c                    |   8 +-
 sequencer.c                 |  14 +--
 sha1_file.c                 |  32 +++---
 sha1_name.c                 |  10 +-
 submodule.c                 |   2 +-
 t/helper/test-ref-store.c   |  28 ++---
 transport-helper.c          |  15 ++-
 transport.c                 |   4 +-
 unpack-trees.c              |   8 +-
 upload-pack.c               |   4 +-
 walker.c                    |  24 ++---
 worktree.c                  |   2 +-
 worktree.h                  |   2 +-
 wt-status.c                 |   2 +-
 70 files changed, 544 insertions(+), 554 deletions(-)
-- 
2.15.0.rc0.271.g36b669edcc
Next: brian m. carlson
Message 1 of 30 in “object_id part 10”
  1. 00/25 object_id part 10brian m. carlson, Oct 15, 2017
  2. 02/25 refs/files-backend: convert struct ref_to_prune to object_idbrian m. carlson, Oct 15, 2017
  3. 05/25 refs: prevent accidental NULL dereference in write_pseudorefbrian m. carlson, Oct 15, 2017
  4. 06/25 refs: update ref transactions to use struct object_idbrian m. carlson, Oct 15, 2017
  5. 07/25 Convert check_connected to use struct object_idbrian m. carlson, Oct 15, 2017
  6. 08/25 refs: convert resolve_refdup and refs_resolve_refdup to struct object_idbrian m. carlson, Oct 15, 2017
  7. 10/25 refs: convert dwim_ref and expand_ref to struct object_idbrian m. carlson, Oct 15, 2017
  8. 11/25 builtin/reflog: convert remaining unsigned char uses to object_idbrian m. carlson, Oct 15, 2017
  9. 15/25 refs: convert peel_ref to struct object_idbrian m. carlson, Oct 15, 2017
  10. 14/25 builtin/pack-objects: convert to struct object_idbrian m. carlson, Oct 15, 2017
  11. 18/25 sha1_file: convert index_path and index_fd to struct object_idbrian m. carlson, Oct 15, 2017
  12. 23/25 refs: convert peel_object to struct object_idbrian m. carlson, Oct 15, 2017
  13. 24/25 refs: convert read_raw_ref backends to struct object_idbrian m. carlson, Oct 15, 2017
  14. 19/25 Convert remaining callers of resolve_gitlink_ref to object_idbrian m. carlson, Oct 15, 2017
  15. 25/25 refs/files-backend: convert static functions to object_idbrian m. carlson, Oct 15, 2017
  16. 20/25 refs: convert resolve_gitlink_ref to struct object_idbrian m. carlson, Oct 15, 2017
  17. 21/25 worktree: convert struct worktree to object_idbrian m. carlson, Oct 15, 2017
  18. 17/25 refs: convert reflog_expire parameter to struct object_idbrian m. carlson, Oct 15, 2017
  19. 22/25 refs: convert resolve_ref_unsafe to struct object_idbrian m. carlson, Oct 15, 2017
  20. 16/25 refs: convert read_ref_at to struct object_idbrian m. carlson, Oct 15, 2017
  21. 13/25 pack-bitmap: convert traverse_bitmap_commit_list to object_idbrian m. carlson, Oct 15, 2017
  22. 09/25 refs: convert read_ref and read_ref_full to object_idbrian m. carlson, Oct 15, 2017
  23. 12/25 refs: convert dwim_log to struct object_idbrian m. carlson, Oct 15, 2017
  24. 01/25 walker: convert to struct object_idbrian m. carlson, Oct 15, 2017
  25. 03/25 refs: convert delete_ref and refs_delete_ref to struct object_idbrian m. carlson, Oct 15, 2017
  26. 04/25 refs: convert update_ref and refs_update_ref to use struct object_idbrian m. carlson, Oct 15, 2017
  27. Junio C HamanoOct 16, 2017
  28. brian m. carlsonOct 16, 2017
  29. Kevin DaudtOct 16, 2017
  30. Junio C HamanoOct 17, 2017

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.