more completely solve catKey memory leak
Done using a mode witness, which ensures it's fixed everywhere. Fixing catFileKey was a bear, because git cat-file does not provide a nice way to query for the mode of a file and there is no other efficient way to do it. Oh, for libgit2.. Note that I am looking at tree objects from HEAD, rather than the index. Because I cat-file cannot show a tree object for the index. So this fix is technically incomplete. The only cases where it matters are: 1. A new large file has been directly staged in git, but not committed. 2. A file that was committed to HEAD as a symlink has been staged directly in the index. This could be fixed a lot better using libgit2.
This commit is contained in:
parent
f26c996dc6
commit
006cf7976f
10 changed files with 71 additions and 27 deletions
|
@ -61,3 +61,9 @@ commit git-annex: out of memory (requested 985661440 bytes)
|
|||
|
||||
# End of transcript or log.
|
||||
"""]]
|
||||
|
||||
> [[fixed|done]]. However, if you saw this behavior,
|
||||
> you have large files checked directly into git. You may
|
||||
> want to examine your repository and use git filter-branch to clean
|
||||
> it up.
|
||||
> --[[Joey]]
|
||||
|
|
|
@ -77,4 +77,8 @@ Any thoughts on how I can get git-annex (esp. fsck) to complete would be appreci
|
|||
Thanks
|
||||
Giovanni
|
||||
|
||||
[[!tag moreinfo]]
|
||||
> [[fixed|done]]. However, if you saw this behavior,
|
||||
> you have large files checked directly into git. You may
|
||||
> want to examine your repository and use git filter-branch to clean
|
||||
> it up.
|
||||
> --[[Joey]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue