- 25 Apr, 2012 1 commit
-
-
This adds a `git_pool` object that can do simple paged memory allocation with free for the entire pool at once. Using this, you can replace many small allocations with large blocks that can then cheaply be doled out in small pieces. This is best used when you plan to free the small blocks all at once - for example, if they represent the parsed state from a file or data stream that are either all kept or all discarded. There are two real patterns of usage for `git_pools`: either for "string" allocation, where the item size is a single byte and you end up just packing the allocations in together, or for "fixed size" allocation where you are allocating a large object (e.g. a `git_oid`) and you generally just allocation single objects that can be tightly packed. Of course, you can use it for other things, but those two cases are the easiest.
Russell Belfer committed
-
- 02 Mar, 2012 2 commits
-
-
This adds some initial unit tests for file filtering and fixes some simple bugs in filter application.
Russell Belfer committed -
Vicent Martí committed
-
- 01 Mar, 2012 3 commits
-
-
Comments soothe my soul.
Vicent Martí committed -
Vicent Martí committed
-
Vicent Martí committed
-
- 29 Feb, 2012 1 commit
-
-
Vicent Martí committed
-
- 28 Feb, 2012 1 commit
-
-
Vicent Martí committed
-
- 27 Feb, 2012 1 commit
-
-
Initial implementation. The relevant code is in `blob.c`: the blob write function has been split into smaller functions. - Directly write a file to the ODB in streaming mode - Directly write a symlink to the ODB in direct mode - Apply a filter, and write a file to the ODB in direct mode When trying to write a file, we first call `git_filter__load_for_file`, which populates a filters array with the required filters based on the filename. If no filters are resolved to the filename, we can write to the ODB in streaming mode straight from disk. Otherwise, we load the whole file in memory and use double-buffering to apply the filter chain. We finish by writing the file as a whole to the ODB.
Vicent Martí committed
-