MCPcopy Create free account
hub / github.com/ByConity/ByConity / diffHash

Function diffHash

programs/git-import/git-import.cpp:752–780  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

750using DiffHashes = std::unordered_set<UInt128>;
751
752UInt128 diffHash(const CommitDiff & file_changes)
753{
754 SipHash hasher;
755
756 for (const auto & elem : file_changes)
757 {
758 hasher.update(elem.second.file_change.change_type);
759 hasher.update(elem.second.file_change.old_path.size());
760 hasher.update(elem.second.file_change.old_path);
761 hasher.update(elem.second.file_change.path.size());
762 hasher.update(elem.second.file_change.path);
763
764 hasher.update(elem.second.line_changes.size());
765 for (const auto & line_change : elem.second.line_changes)
766 {
767 hasher.update(line_change.sign);
768 hasher.update(line_change.line_number_old);
769 hasher.update(line_change.line_number_new);
770 hasher.update(line_change.indent);
771 hasher.update(line_change.line.size());
772 hasher.update(line_change.line);
773 }
774 }
775
776 UInt128 hash_of_diff;
777 hasher.get128(hash_of_diff.items[0], hash_of_diff.items[1]);
778
779 return hash_of_diff;
780}
781
782
783/** File changes in form

Callers 1

processCommitFunction · 0.85

Calls 3

get128Method · 0.80
updateMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected