|
a275fbc0
|
2015-02-05T11:40:16
|
|
Add API to add a memory buffer to an index
git_index_add_frombuffer enables now to store a memory buffer in the odb
and to store an entry in the index directly if the index is attached to a
repository.
|
|
366e53d3
|
2015-02-20T19:40:45
|
|
Merge pull request #2921 from libgit2/ntk/macosx_build_cherrypicked
Fix MAX 32 bit build problem described in libgit2/libgit2#2917
|
|
c92987d1
|
2015-02-20T10:21:32
|
|
Fix MAX 32 bit build problem described in libgit2/libgit2#2917
|
|
5091aff7
|
2015-02-20T08:40:40
|
|
Merge pull request #2907 from jasonhaslam/git_packfile_unpack_race
Fix race in git_packfile_unpack.
|
|
d15884ce
|
2015-02-19T20:39:20
|
|
Merge pull request #2911 from ethomson/streaming_filters
Streaming filters
|
|
feb0e022
|
2015-02-19T12:14:06
|
|
tests: separate INVASIVE filesystem tests
Introduce GITTEST_INVASIVE_FS_STRUCTURE for things that are invasive
to your filesystem structure (like creating folders at your filesystem
root) and GITTEST_INVASIVE_FS_SIZE for things that write lots of data.
|
|
9c9aa1ba
|
2015-02-19T11:32:55
|
|
filter: take `temp_buf` in `git_filter_options`
|
|
d05218b0
|
2015-02-19T11:25:26
|
|
filter: add `git_filter_list__load_ext`
Refactor `git_filter_list__load_with_attr_reader` into
`git_filter_list__load_ext`, which takes a `git_filter_options`.
|
|
795eaccd
|
2015-02-19T11:09:54
|
|
git_filter_opt_t -> git_filter_flag_t
For consistency with the rest of the library, where an opt is an
options *structure*.
|
|
d4cf1675
|
2015-02-19T10:05:33
|
|
buffer: introduce git_buf_attach_notowned
Provide a convenience function that creates a buffer that can be provided
to callers but will not be freed via `git_buf_free`, so the buffer
creator maintains the allocation lifecycle of the buffer's contents.
|
|
818302c8
|
2015-02-19T11:19:17
|
|
Merge pull request #2820 from leoyanggit/mac_build
Fix Mac build without OpenSSL
|
|
b49edddc
|
2015-02-18T09:40:52
|
|
checkout: let the stream writer close the fd
|
|
f7c0125f
|
2015-02-18T09:28:07
|
|
filter streams: base -> parent
|
|
b75f15aa
|
2015-02-18T09:25:32
|
|
git_writestream: from git_filter_stream
|
|
8c2dfb38
|
2015-02-17T13:27:06
|
|
filter: test a large file through the stream
Test pushing a file on-disk into a streaming filter that compresses
it into the ODB, and inflates it back into the working directory.
|
|
646364e7
|
2015-02-17T20:25:31
|
|
checkout: maintain temporary buffer for filters
Let the filters use the checkout data's temporary buffer, instead
of having to allocate new buffers each time.
|
|
e78f5c9f
|
2015-01-22T16:11:36
|
|
checkout: stream the blob into the filters
Use the new streaming filter API during checkout.
|
|
5555696f
|
2015-01-22T16:11:22
|
|
filters: stream internally
Migrate the `git_filter_list_apply_*` functions over to using the
new filter streams.
|
|
2d2aa1ff
|
2015-02-13T17:28:35
|
|
Fix Mac build without OpenSSL
If OpenSSL is disabled on Mac the SHA1 implementation goes
to the CommonCrypto from the system. In this case we should
not include the generic hash impl. Otherwise there would be
duplicated impls which fail the build.
|
|
fbdc9db3
|
2015-01-22T16:10:06
|
|
filters: introduce streaming filters
Add structures and preliminary functions to take a buffer, file or
blob and write the contents in chunks through an arbitrary number
of chained filters, finally writing into a user-provided function
accept the contents.
|
|
437ba9ad
|
2015-02-16T03:14:32
|
|
Merge pull request #2909 from stewid/remove_extra_semicolon
Remove extra semicolon outside of a function
|
|
c8e02b87
|
2015-02-15T21:07:05
|
|
Remove extra semicolon outside of a function
Without this change, compiling with gcc and pedantic generates warning:
ISO C does not allow extra ‘;’ outside of a function.
|
|
8588cb0c
|
2015-02-14T23:43:26
|
|
Fix race in git_packfile_unpack.
Increment refcount of newly added cache entries just like existing
entries looked up from the cache. Otherwise the new entry can be
evicted from the cache and destroyed while it's still in use.
|
|
a291790a
|
2015-02-15T05:18:01
|
|
Merge pull request #2831 from ethomson/merge_lock
merge: lock index during the merge (not just checkout)
|
|
a7fa970f
|
2015-02-15T05:13:50
|
|
Merge pull request #2895 from ethomson/alloc_overflow
allocations: test for overflow of requested size
|
|
b23c206e
|
2015-02-15T05:03:51
|
|
Merge pull request #2903 from ethomson/rebase
Fixups for rebase
|
|
41fae48d
|
2015-02-03T22:31:10
|
|
indexwriter: an indexwriter for repo operations
Provide git_indexwriter_init_for_operation for the common locking
pattern in merge, rebase, revert and cherry-pick.
|
|
be8404a7
|
2015-02-03T21:51:48
|
|
merge-like operations: lock index while working
|
|
8b0ddd5d
|
2015-01-17T23:28:53
|
|
merge: lock the index at the start of the merge
Always lock the index when we begin the merge, before we write
any of the metdata files. This prevents a race where another
client may run a commit after we have written the MERGE_HEAD but
before we have updated the index, which will produce a merge
commit that is treesame to one parent. The merge will finish and
update the index and the resultant commit would not be a merge at
all.
|
|
8639ea5f
|
2015-01-17T22:47:03
|
|
checkout: introduce GIT_CHECKOUT_DONT_WRITE_INDEX
|
|
55798fd1
|
2015-01-17T20:49:04
|
|
git_indexwriter: lock then write the index
Introduce `git_indexwriter`, to allow us to lock the index while
performing additional operations, then complete the write (or abort,
unlocking the index).
|
|
42f98a26
|
2015-01-17T23:31:24
|
|
merge test: test an actual failure, not conflict
Correct the merge failed cleanup test. Merge data should not be
cleaned up on conflicts, only on actual failure. And ORIG_HEAD
should not be removed at all.
|
|
ffbd51ed
|
2015-02-13T11:38:00
|
|
rebase: `CHECKOUT_SAFE` instead of `FORCE`
Switch to a standard branch-switching pattern of a `SAFE` checkout,
then updating `HEAD`.
|
|
49b8293c
|
2015-02-13T11:20:32
|
|
rebase: allow `NULL` branch to indicate `HEAD`
Don't require the branch to rebase, if given `NULL`, simply look up
`HEAD`.
|
|
92e87dd7
|
2015-02-13T10:44:19
|
|
rebase: provide NULL `exec` on non-EXEC operations
Users may want to try to pay attention to the `exec` field on all
rebase operations.
|
|
57f45e7f
|
2015-02-13T15:58:39
|
|
Merge pull request #2901 from ethomson/win32_mode_bits
win32: limit the mode to `_wopen`/`_waccess`
|
|
0f07d54b
|
2015-02-13T09:35:20
|
|
pack-objects: unlock the cache on integer overflow
|
|
d97d9559
|
2015-02-12T23:56:09
|
|
buf test: cleanup memory leak
|
|
16942c6f
|
2015-02-12T17:36:48
|
|
integer overflow: use compiler intrinsics if supported
gcc and clang support __builtin_add_overflow, use it whenever
possible, falling back to our naive routines.
|
|
8aab36a3
|
2015-02-12T22:14:53
|
|
filebuf: use an int for return check
|
|
f1453c59
|
2015-02-12T12:19:37
|
|
Make our overflow check look more like gcc/clang's
Make our overflow checking look more like gcc and clang's, so that
we can substitute it out with the compiler instrinsics on platforms
that support it. This means dropping the ability to pass `NULL` as
an out parameter.
As a result, the macros also get updated to reflect this as well.
|
|
527ed59a
|
2015-02-13T09:18:49
|
|
win32: limit the mode to `_wopen`/`_waccess`
Win32 generally ignores Unix-like mode bits that don't make any
sense on the platform (eg `0644` makes no sense to Windows). But
WINE complains loudly when presented with POSIXy bits. Remove them.
(Thanks @phkelley)
|
|
0b2ee7c0
|
2015-02-13T08:56:01
|
|
Merge pull request #2883 from urkud/reget-reader-pointer
Reinit `reader` pointer after reading included config file
|
|
3ca91107
|
2015-02-13T08:30:21
|
|
Merge pull request #2897 from leoyanggit/fix_fileop_warning
Fix build warning on Android
|
|
650e45f6
|
2015-02-11T17:51:17
|
|
Update `khash.h` to pull request 42
https://github.com/attractivechaos/klib/pull/42/files introduces
`kreallocarray`. Hook that up as our `git__reallocarray`.
|
|
1ad48c8a
|
2015-02-11T17:36:57
|
|
khash: update to klib f28c067
|
|
190b76a6
|
2015-02-11T14:52:08
|
|
Introduce git__add_sizet_overflow and friends
Add some helper functions to check for overflow in a type-specific
manner.
|
|
8d534b47
|
2015-02-11T13:01:00
|
|
p_read: ensure requested len is ssize_t
Ensure that the given length to `p_read` is of ssize_t and ensure
that callers test the return as if it were an `ssize_t`.
|
|
ec3b4d35
|
2015-02-11T11:20:05
|
|
Use `size_t` to hold size of arrays
Use `size_t` to hold the size of arrays to ease overflow checking,
lest we check for overflow of a `size_t` then promptly truncate
by packing the length into a smaller type.
|
|
2884cc42
|
2015-02-11T09:39:38
|
|
overflow checking: don't make callers set oom
Have the ALLOC_OVERFLOW testing macros also simply set_oom in the
case where a computation would overflow, so that callers don't
need to.
|
|
4aa664ae
|
2015-02-10T23:55:07
|
|
git_buf_grow_by: increase buf asize incrementally
Introduce `git_buf_grow_by` to incrementally increase the size of a
`git_buf`, performing an overflow calculation on the growth.
|
|
3603cb09
|
2015-02-10T23:13:49
|
|
git__*allocarray: safer realloc and malloc
Introduce git__reallocarray that checks the product of the number
of elements and element size for overflow before allocation. Also
introduce git__mallocarray that behaves like calloc, but without the
`c`. (It does not zero memory, for those truly worried about every
cycle.)
|
|
15d54fdd
|
2015-02-10T22:34:03
|
|
odb__hashlink: check st.st_size before casting
|
|
392702ee
|
2015-02-09T23:41:13
|
|
allocations: test for overflow of requested size
Introduce some helper macros to test integer overflow from arithmetic
and set error message appropriately.
|
|
3556a82a
|
2015-02-09T17:35:25
|
|
Fix build warning on Android
Always do a time_t cast on st_mtime. st_mtime on Android is not
the type of time_t but has the same meaning which is the number
of seconds past epoch.
|
|
de84d9b4
|
2015-02-12T16:34:01
|
|
Merge pull request #2899 from libgit2/jamill/rebase_opt_ver_check
Check rebase options version on public entry points
|
|
17136538
|
2015-02-05T23:39:59
|
|
Reinit `reader` pointer after reading included config file
Fixes #2869. If included file includes more files, it may reallocate
cfg_file->readers, hence invalidate not only `r` pointer, but `result`
pointer as well.
|
|
3ea78f24
|
2015-02-09T19:40:22
|
|
Add test for include.path inside included config
It fails at least on my computer, though it may depend on some unpredictable
factors (say, will realloc() extend the memory segment in place, or it will
allocate new memory).
|
|
02eb1495
|
2015-02-12T15:32:52
|
|
Check rebase options version on public entry points
|
|
d24a5312
|
2015-02-12T02:34:58
|
|
Merge pull request #2866 from ethomson/checkout_perf2
Checkout performance
|
|
8e29ae73
|
2015-02-12T00:43:01
|
|
Merge pull request #2862 from jeffhostetler/jeffhostetler/bug/branch_create_after_namespace
Remove stale reflog namespace directory before branch creation
|
|
e07c1e1a
|
2015-02-12T00:40:12
|
|
Merge pull request #2880 from ethomson/mkdir_root
Ensure we can make a repo at the root of the filesystem
|
|
5a2a5771
|
2015-02-12T00:34:48
|
|
Merge pull request #2845 from rakuco/libssh2-detection-fix
Add libssh2's library and include directories.
|
|
6dbbced2
|
2015-02-12T00:27:17
|
|
Merge pull request #2889 from jeffhostetler/jeffhostetler/merge_performance
Large merge perf test.
|
|
5820edc1
|
2015-02-11T23:59:16
|
|
Merge pull request #2894 from ethomson/copyrights
Update some third-party copyrights
|
|
dc63c049
|
2015-02-11T23:44:05
|
|
Merge pull request #2893 from phatblat/ben/pr/doc-comments
Fix doc comment formatting
|
|
a36486ef
|
2015-02-11T10:31:54
|
|
Fixed error when including git2/include/sys/stream.h
|
|
0b55ed95
|
2015-02-10T15:14:49
|
|
clar: use actual license and copyright
|
|
ec510666
|
2015-02-10T15:10:32
|
|
Credit utf8proc for utf8 iterator
|
|
c03e8c22
|
2015-02-10T12:44:05
|
|
Use correct Doxygen trailing comment syntax
|
|
ec7e1c93
|
2015-02-10T08:31:48
|
|
Fix doc comment formatting
|
|
b703049c
|
2015-02-06T23:24:50
|
|
Merge pull request #2890 from arthurschreiber/patch-5
Speed up AppVeyor builds.
|
|
554063a5
|
2015-02-06T23:12:58
|
|
Speed up AppVeyor builds.
AppVeyor build machines come with Python 2.7 and CMake 2.8 pre-installed and in the PATH.
|
|
d97ba7f6
|
2015-02-06T15:45:59
|
|
Large merge perf test.
|
|
3db1b15e
|
2015-02-05T20:01:56
|
|
Merge pull request #2884 from libgit2/cmn/template-path
repository: parse init.templatedir as a path
|
|
cc36f424
|
2015-02-06T01:09:26
|
|
repository: parse init.templatedir as a path
This is a path so we must use the path getter so we get the tilde
expansion done.
|
|
bebd2017
|
2015-02-05T14:10:25
|
|
Merge pull request #2881 from ethomson/clar
Update clar to d17c7f6
|
|
83276dcc
|
2015-02-05T13:24:38
|
|
Update clar to d17c7f6
|
|
9cb5b0f7
|
2015-02-04T23:45:22
|
|
mkdir: respect the root path
Don't try to strip trailing paths from the root directory on
Windows (trying to create `C:` will fail).
|
|
3c68bfcd
|
2015-02-04T18:24:31
|
|
stat: don't remove trailing '/' from root on win32
`p_stat` calls `git_win32_path_from_utf8`, which canonicalizes the
path. Do not further try to modify the path, else we trim the
trailing slash from a root directory and try to access `C:` instead
of `C:/`.
|
|
2f4ee000
|
2015-02-05T11:55:00
|
|
appveyor: include the invasive filesystem tests
|
|
865baaf9
|
2015-02-05T11:06:01
|
|
repo: ensure we can create repo at filesystem root
Test to ensure that we can create a repository at the filesystem
root. Introduces a new test environment variable,
`GITTEST_INVASIVE_FILESYSTEM` for tests that do terrible things like
escaping the clar sandbox and writing to the root directory. It is
expected that the CI builds will enable this but that normal people
would not want this.
|
|
9bf5bd7c
|
2015-02-05T09:19:46
|
|
Merge pull request #2867 from ethomson/8dot3
Handle 8dot3 filenames being disabled on Win32
|
|
3dc92940
|
2015-02-05T09:18:47
|
|
Merge pull request #2875 from JIghtuse/master
for-each-ref example: initialize libgit2 in main
|
|
2107dac3
|
2015-02-04T15:14:18
|
|
for-each-ref example: init/shutdown libgit2 in main
I don't get how it was working without git_libgit2_init() call. I run it
and libgit2 throws assertion somewhere in its internals. Now it works.
Updated commit with shutdown at the end.
|
|
3983935b
|
2015-02-04T16:11:15
|
|
Merge pull request #2872 from ethomson/pedantic
Fixes for pedantry
|
|
a2e4593e
|
2015-02-03T18:41:40
|
|
hash_generic: __extension__ keyword for pedantry
|
|
0cd479ab
|
2015-02-04T09:24:49
|
|
Merge pull request #2874 from modocache/add-gift
README.md: Add Swift bindings "Gift"
|
|
fa89ff20
|
2015-02-03T05:35:24
|
|
remove some unused warnings
|
|
500ec543
|
2015-02-03T01:46:01
|
|
checkout: hold seen dir paths in a map
|
|
f58cc280
|
2015-02-03T00:28:32
|
|
attr_session: keep a temp buffer
|
|
d4b1b767
|
2015-02-03T00:03:49
|
|
checkout: cache system attributes file location
|
|
505d5b8a
|
2015-02-04T12:54:57
|
|
Merge pull request #2873 from ethomson/structinit
structinit test: use %PRIuZ instead of %d for size_t
|
|
35425b51
|
2015-02-04T01:06:07
|
|
README.md: Add Swift bindings "Gift"
|
|
f45f9b6d
|
2015-02-04T03:52:34
|
|
structinit test: use %PRIuZ instead of %d for size_t
|
|
f9e7abcb
|
2015-02-03T21:44:15
|
|
Merge pull request #2870 from urkud/log-libssh-not-found
Tell user if libssh was not found
|
|
573a53a8
|
2015-02-03T21:19:21
|
|
Merge pull request #2861 from libgit2/ntk/appveyor
AppVeyor: Prettify build script
|
|
07c989e9
|
2015-02-03T20:01:24
|
|
win32: further cleanups for 8.3 disabling
|
|
710f66af
|
2015-02-03T18:41:15
|
|
bswap: remove unused bswap
|
|
e15a0849
|
2015-02-04T00:15:11
|
|
Tell user if libssh was not found
Fixes #2665
|