Commit Graph

11 Commits

Author SHA1 Message Date
nulltoken
5e4cb4f4da checkout : reduce memory usage when not filtering 2012-09-17 10:48:36 +02:00
nulltoken
3aa443a951 checkout: introduce git_checkout_tree() 2012-09-17 10:48:26 +02:00
Ben Straub
9587895f57 Migrate code to git_filter_blob_contents.
Also removes the unnecessary check for filter 
length, since git_filters_apply does the right 
thing when there are none, and it's more efficient
than this.
2012-07-16 12:06:23 -07:00
Ben Straub
f2d42eea34 Checkout: add structure for CRLF. 2012-07-09 20:21:22 -07:00
Vicent Martí
e172cf082e errors: Rename the generic return codes 2012-05-18 01:26:26 +02:00
Vicent Martí
f2c25d1893 config: Implement a proper cvar cache 2012-03-02 20:08:00 +01:00
Vicent Martí
47a899ffed filter: Beautiful refactoring
Comments soothe my soul.
2012-03-01 21:19:51 +01:00
Vicent Martí
c5266ebac5 filter: Precache the filter config options on load 2012-03-01 01:16:50 +01:00
Vicent Martí
27950fa3f4 filter: Add write-to CRLF filter 2012-02-29 01:35:47 +01:00
Vicent Martí
450b40cab3 filter: Load attributes for file 2012-02-28 01:13:32 +01:00
Vicent Martí
44b1ff4c12 filter: Apply filters before writing a file to the ODB
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.
2012-02-27 05:30:07 +01:00