sapling/cfastmanifest
Adam Simpkins 5977867b68 sha1: provide wrapper functions around the SHA-1 implementation
Summary:
Add a clib/sha1.h file with SHA-1 utility functions that hide the details of
the underlying SHA-1 implementation being used.  This will make it easier in
the future if we want to use the faster SHA-1 implementation from OpenSSL if it
is available, but fall back to the sha1collisiondetection library if it is not
available.

Test Plan: Confirmed the code builds and passes unit tests.

Reviewers: #fbhgext, ryanmce

Reviewed By: #fbhgext, ryanmce

Differential Revision: https://phab.mercurial-scm.org/D282
2017-08-22 19:09:07 -07:00
..
.hgignore [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
bsearch_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
bsearch.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
bsearch.h [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
checksum_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
checksum.c sha1: provide wrapper functions around the SHA-1 implementation 2017-08-22 19:09:07 -07:00
checksum.h [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
internal_result.h [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
node_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
node.c portability: use COMPOUND_LITERAL macro in place of actual compound literals 2017-04-06 09:34:40 -07:00
node.h portibility: move to clib 2017-05-23 11:47:40 -07:00
path_buffer.h port upgrades of buffer.h into clib 2016-08-26 17:14:52 -07:00
README [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
result.h [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tests.c portability: use COMPOUND_LITERAL macro in place of actual compound literals 2017-04-06 09:34:40 -07:00
tests.h portibility: move to clib 2017-05-23 11:47:40 -07:00
tree_arena.c portability: use COMPOUND_LITERAL macro in place of actual compound literals 2017-04-06 09:34:40 -07:00
tree_arena.h [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_convert_rt.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_convert_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_convert.c portibility: move to clib 2017-05-23 11:47:40 -07:00
tree_copy_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_copy.c port upgrades of buffer.h into clib 2016-08-26 17:14:52 -07:00
tree_diff_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_diff.c port upgrades of buffer.h into clib 2016-08-26 17:14:52 -07:00
tree_disk_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_disk.c portability: use COMPOUND_LITERAL macro in place of actual compound literals 2017-04-06 09:34:40 -07:00
tree_dump.c [fastmanifest] utility to dump some specs about a tree to disk 2016-07-26 23:35:53 -07:00
tree_iterate_rt.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_iterator_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_iterator.c port upgrades of buffer.h into clib 2016-08-26 17:14:52 -07:00
tree_iterator.h [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree_path.c portability: use COMPOUND_LITERAL macro in place of actual compound literals 2017-04-06 09:34:40 -07:00
tree_path.h portibility: move to clib 2017-05-23 11:47:40 -07:00
tree_test.c [fastmanifest] rename fastmanifest c library directory to cfastmanifest 2016-05-26 11:33:07 -07:00
tree.c portability: use COMPOUND_LITERAL macro in place of actual compound literals 2017-04-06 09:34:40 -07:00
tree.h portibility: move to clib 2017-05-23 11:47:40 -07:00

fastmanifest is a tree-based implementation to speed up manifest
operations in Mercurial.  Its design is optimized for quick
deserialization from a persistent store.  In compact form, the entire tree
is relocatable without any traversals.