From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: git@vger.kernel.org
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Eric Sunshine" <sunshine@sunshineco.com>
Subject: [PATCH 00/41] object_id part 13
Date: Mon, 23 Apr 2018 23:39:10 +0000 [thread overview]
Message-ID: <20180423233951.276447-1-sandals@crustytoothpaste.net> (raw)
This is the thirteenth series of patches to convert to struct object_id
and the_hash_algo.
The series adds an oidread function to read object IDs from a buffer,
removes unused structure members (which therefore don't require
conversion), converts various functions to struct object_id, and
improves usage of the_hash_algo. It also makes empty_blob_oid and
empty_tree_oid static, exposed only through the hash algorithm
abstraction, and updates all the hard-coded instances of the empty blob
and empty tree object IDs in scripts (excepting the testsuite).
Outside of the testsuite, these are the only changes required to use a
different 160-bit hash algorithm. To get the testsuite working will
require two additional sets of patches, one of which I will send out
soon.
I expect part 14 to be the last (or next to it) of the object_id series.
I'm starting work on testing the codebase with a 256-bit hash[0], and I
expect that part 14 (or possibly a 15) will include the final pieces
necessary to make it pass the testsuite with a 256-bit hash (sans
multi-hash support).
[0] I can synthesize blobs, trees, and commits, but things are currently
totally broken, which is, I suppose, to be expected.
brian m. carlson (41):
cache: add a function to read an object ID from a buffer
server-info: remove unused members from struct pack_info
Remove unused member in struct object_context
packfile: remove unused member from struct pack_entry
packfile: convert has_sha1_pack to object_id
sha1_file: convert freshen functions to object_id
packfile: convert find_pack_entry to object_id
packfile: abstract away hash constant values
pack-objects: abstract away hash algorithm
pack-redundant: abstract away hash algorithm
tree-walk: avoid hard-coded 20 constant
tree-walk: convert get_tree_entry_follow_symlinks to object_id
fsck: convert static functions to struct object_id
submodule-config: convert structures to object_id
split-index: convert struct split_index to object_id
Update struct index_state to use struct object_id
pack-redundant: convert linked lists to use struct object_id
index-pack: abstract away hash function constant
commit: convert uses of get_sha1_hex to get_oid_hex
dir: convert struct untracked_cache_dir to object_id
http: eliminate hard-coded constants
revision: replace use of hard-coded constants
upload-pack: replace use of several hard-coded constants
diff: specify abbreviation size in terms of the_hash_algo
builtin/receive-pack: avoid hard-coded constants for push certs
builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo
builtin/merge: switch tree functions to use object_id
merge: convert empty tree constant to the_hash_algo
sequencer: convert one use of EMPTY_TREE_SHA1_HEX
submodule: convert several uses of EMPTY_TREE_SHA1_HEX
wt-status: convert two uses of EMPTY_TREE_SHA1_HEX
builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEX
builtin/reset: convert use of EMPTY_TREE_SHA1_BIN
sha1_file: convert cached object code to struct object_id
cache-tree: use is_empty_tree_oid
sequencer: use the_hash_algo for empty tree object ID
dir: use the_hash_algo for empty blob object ID
sha1_file: only expose empty object constants through git_hash_algo
Update shell scripts to compute empty tree object ID
add--interactive: compute the empty tree value
merge-one-file: compute empty blob object ID
builtin/am.c | 8 +--
builtin/count-objects.c | 2 +-
builtin/fsck.c | 2 +-
builtin/index-pack.c | 3 +-
builtin/merge.c | 14 ++---
builtin/pack-objects.c | 32 +++++------
builtin/pack-redundant.c | 62 ++++++++++++----------
builtin/prune-packed.c | 2 +-
builtin/receive-pack.c | 8 +--
builtin/reset.c | 2 +-
builtin/rev-parse.c | 4 +-
cache-tree.c | 4 +-
cache.h | 25 +++------
commit.c | 4 +-
diff.c | 20 ++++---
dir.c | 25 ++++-----
dir.h | 5 +-
fsck.c | 20 +++----
git-add--interactive.perl | 11 +++-
git-filter-branch.sh | 4 +-
git-merge-one-file.sh | 2 +-
git-rebase--interactive.sh | 4 +-
http.c | 11 ++--
merge.c | 5 +-
packfile.c | 79 +++++++++++++++-------------
packfile.h | 4 +-
read-cache.c | 34 ++++++------
resolve-undo.c | 2 +-
revision.c | 7 +--
sequencer.c | 5 +-
server-info.c | 3 --
sha1_file.c | 69 +++++++++++++-----------
sha1_name.c | 5 +-
split-index.c | 10 ++--
split-index.h | 4 +-
submodule-config.c | 66 +++++++++++------------
submodule-config.h | 7 +--
submodule.c | 6 +--
t/helper/test-dump-split-index.c | 4 +-
t/helper/test-dump-untracked-cache.c | 2 +-
templates/hooks--pre-commit.sample | 2 +-
tree-walk.c | 18 +++----
tree-walk.h | 2 +-
unpack-trees.c | 2 +-
upload-pack.c | 18 +++----
wt-status.c | 6 ++-
46 files changed, 333 insertions(+), 301 deletions(-)
next reply other threads:[~2018-04-23 23:40 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-23 23:39 brian m. carlson [this message]
2018-04-23 23:39 ` [PATCH 01/41] cache: add a function to read an object ID from a buffer brian m. carlson
2018-04-24 9:39 ` Martin Ågren
2018-05-01 9:36 ` Duy Nguyen
2018-05-01 23:58 ` brian m. carlson
2018-04-23 23:39 ` [PATCH 02/41] server-info: remove unused members from struct pack_info brian m. carlson
2018-04-24 9:41 ` Martin Ågren
2018-05-01 9:39 ` Duy Nguyen
2018-04-23 23:39 ` [PATCH 03/41] Remove unused member in struct object_context brian m. carlson
2018-05-01 9:50 ` Duy Nguyen
2018-04-23 23:39 ` [PATCH 04/41] packfile: remove unused member from struct pack_entry brian m. carlson
2018-05-01 10:01 ` Duy Nguyen
2018-04-23 23:39 ` [PATCH 05/41] packfile: convert has_sha1_pack to object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 06/41] sha1_file: convert freshen functions " brian m. carlson
2018-04-23 23:39 ` [PATCH 07/41] packfile: convert find_pack_entry " brian m. carlson
2018-04-23 23:39 ` [PATCH 08/41] packfile: abstract away hash constant values brian m. carlson
2018-05-01 10:22 ` Duy Nguyen
2018-05-02 0:11 ` brian m. carlson
2018-05-02 15:26 ` Duy Nguyen
2018-05-02 23:05 ` brian m. carlson
2018-04-23 23:39 ` [PATCH 09/41] pack-objects: abstract away hash algorithm brian m. carlson
2018-05-01 10:26 ` Duy Nguyen
2018-04-23 23:39 ` [PATCH 10/41] pack-redundant: " brian m. carlson
2018-04-23 23:39 ` [PATCH 11/41] tree-walk: avoid hard-coded 20 constant brian m. carlson
2018-04-23 23:39 ` [PATCH 12/41] tree-walk: convert get_tree_entry_follow_symlinks to object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 13/41] fsck: convert static functions to struct object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 14/41] submodule-config: convert structures to object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 15/41] split-index: convert struct split_index " brian m. carlson
2018-04-23 23:39 ` [PATCH 16/41] Update struct index_state to use struct object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 17/41] pack-redundant: convert linked lists " brian m. carlson
2018-04-23 23:39 ` [PATCH 18/41] index-pack: abstract away hash function constant brian m. carlson
2018-04-24 9:50 ` Martin Ågren
2018-04-24 23:51 ` brian m. carlson
2018-04-25 18:49 ` Martin Ågren
2018-04-26 15:46 ` Duy Nguyen
2018-04-27 21:08 ` brian m. carlson
2018-04-28 5:41 ` Duy Nguyen
2018-04-23 23:39 ` [PATCH 19/41] commit: convert uses of get_sha1_hex to get_oid_hex brian m. carlson
2018-04-23 23:39 ` [PATCH 20/41] dir: convert struct untracked_cache_dir to object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 21/41] http: eliminate hard-coded constants brian m. carlson
2018-04-24 9:53 ` Martin Ågren
2018-04-24 23:44 ` Junio C Hamano
2018-04-25 1:29 ` brian m. carlson
2018-04-23 23:39 ` [PATCH 22/41] revision: replace use of " brian m. carlson
2018-04-23 23:39 ` [PATCH 23/41] upload-pack: replace use of several " brian m. carlson
2018-04-24 7:53 ` Simon Ruderich
2018-04-23 23:39 ` [PATCH 24/41] diff: specify abbreviation size in terms of the_hash_algo brian m. carlson
2018-04-23 23:39 ` [PATCH 25/41] builtin/receive-pack: avoid hard-coded constants for push certs brian m. carlson
2018-04-24 9:58 ` Martin Ågren
2018-04-25 2:00 ` brian m. carlson
2018-04-25 5:06 ` Martin Ågren
2018-04-23 23:39 ` [PATCH 26/41] builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo brian m. carlson
2018-04-23 23:39 ` [PATCH 27/41] builtin/merge: switch tree functions to use object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 28/41] merge: convert empty tree constant to the_hash_algo brian m. carlson
2018-04-23 23:39 ` [PATCH 29/41] sequencer: convert one use of EMPTY_TREE_SHA1_HEX brian m. carlson
2018-04-23 23:39 ` [PATCH 30/41] submodule: convert several uses " brian m. carlson
2018-04-23 23:39 ` [PATCH 31/41] wt-status: convert two " brian m. carlson
2018-04-24 10:03 ` Martin Ågren
2018-05-01 2:29 ` brian m. carlson
2018-04-23 23:39 ` [PATCH 32/41] builtin/receive-pack: convert one use " brian m. carlson
2018-04-23 23:39 ` [PATCH 33/41] builtin/reset: convert use of EMPTY_TREE_SHA1_BIN brian m. carlson
2018-04-23 23:39 ` [PATCH 34/41] sha1_file: convert cached object code to struct object_id brian m. carlson
2018-04-23 23:39 ` [PATCH 35/41] cache-tree: use is_empty_tree_oid brian m. carlson
2018-04-23 23:39 ` [PATCH 36/41] sequencer: use the_hash_algo for empty tree object ID brian m. carlson
2018-04-23 23:39 ` [PATCH 37/41] dir: use the_hash_algo for empty blob " brian m. carlson
2018-04-23 23:39 ` [PATCH 38/41] sha1_file: only expose empty object constants through git_hash_algo brian m. carlson
2018-04-23 23:39 ` [PATCH 39/41] Update shell scripts to compute empty tree object ID brian m. carlson
2018-05-01 10:42 ` Duy Nguyen
2018-05-04 1:29 ` brian m. carlson
2018-04-23 23:39 ` [PATCH 40/41] add--interactive: compute the empty tree value brian m. carlson
2018-04-23 23:39 ` [PATCH 41/41] merge-one-file: compute empty blob object ID brian m. carlson
2018-04-24 1:00 ` SZEDER Gábor
2018-04-24 1:03 ` brian m. carlson
2018-04-30 18:03 ` [PATCH 00/41] object_id part 13 Duy Nguyen
2018-04-30 23:59 ` brian m. carlson
2018-05-01 10:51 ` Duy Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180423233951.276447-1-sandals@crustytoothpaste.net \
--to=sandals@crustytoothpaste.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.