src/tree-cache.c


Log

Author Commit Date CI Message
Russell Belfer 1fa17b5c 2014-03-14T22:01:30 Minor tree cache speedups While I was looking at the conflict cleanup code, I looked over at the tree cache code, since we clear the tree cache for each entry that gets removed and there is some redundancy there. I made some small tweaks to avoid extra calls to strchr and strlen in a few circumstances.
nulltoken a5d73188 2013-11-19T13:16:09 tree-cache: Fix error message typo
nulltoken 3d523345 2013-11-19T13:15:47 tree-cache: Don't segfault upon corruption
nulltoken 82e6a42c 2013-11-19T13:13:51 tree-cache: Zero out the allocated tree children array
nulltoken 7b69289f 2013-11-19T12:54:57 tree-cache: Free the tree upon the detection of a corrupted child
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
Nguyễn Thái Ngọc Duy 08f3d6ca 2012-12-12T19:23:05 tree cache: loosen negative entry count check While C Git has been writing entry count -1 (ie. never other negative numbers) as invalid since day 1, it accepts all negative entry counts as invalid. JGit follows the same rule. libgit2 should also follow, or the index that works with C Git or JGit may someday be rejected by libgit2. Other reimplementations like dulwich and grit have not bothered with parsing or writing tree cache.
Vicent Martí 3f035860 2012-06-07T22:43:03 misc: Fix warnings from PVS Studio trial
Vicent Martí 3fbcac89 2012-05-02T19:56:38 Remove old and unused error codes
Carlos Martín Nieto 2218fd57 2012-04-20T02:23:14 tree-cache: don't error out on a childless invalidated entry The code used to assume that there had to be data after the newline in a tree cache extension entry. This isn't true for a childless invalidated entry if it's the last one, as there won't be any children nor a hash to take up space. Adapt the off-by-one comparison to also work in this case. Fixes #633.
Carlos Martín Nieto 05862156 2012-04-20T02:23:14 tree-cache: don't error out on a childless invalidated entry The code used to assume that there had to be data after the newline in a tree cache extension entry. This isn't true for a childless invalidated entry if it's the last one, as there won't be any children nor a hash to take up space. Adapt the off-by-one comparison to also work in this case. Fixes #633.
schu 5e0de328 2012-02-13T17:10:24 Update Copyright header Signed-off-by: schu <schu-github@schulog.org>
Vicent Marti 3286c408 2011-10-28T14:51:13 global: Properly use `git__` memory wrappers Ensure that all memory related functions (malloc, calloc, strdup, free, etc) are using their respective `git__` wrappers.
Carlos Martín Nieto 3ba69ba8 2011-08-02T15:27:42 Add git_tree_cache_get Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto acd31b4a 2011-07-26T12:44:06 tree cache: correctly handle invalidated trees The fix introduced in a02fc2cd1 (2011-05-24; index: correctly parse invalidated TREE extensions) threw out the rest of the data in the extension if it found an invalidated entry. This was the result of incorrect reading of the documentation. Insted, keep reading the extension, as there may be cached data we can use. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto b4171320 2011-07-26T11:34:54 Move the tree cache functions to their own file Rename git_index_tree to git_tree_cache. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto b183ffe7 2011-07-26T12:26:12 Make tree cache name a flex-array Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 69bffab9 2011-07-26T14:58:32 Add git_tree_cache_invalidate_path Whenever a file is updated in the index, each tree leading towards it needs to be invalidated. Provide the supporting function. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>