|
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.
|
|
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`.
|
|
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.
|
|
1ad48c8a
|
2015-02-11T17:36:57
|
|
khash: update to klib f28c067
|
|
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.)
|
|
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`.
|
|
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.
|
|
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
|
|
471b10bd
|
2015-02-03T21:19:57
|
|
Merge pull request #2868 from ethomson/diff_doc
diff docs: update `git_diff_delta` description
|
|
3538f8f1
|
2015-02-03T13:41:35
|
|
diff docs: update `git_diff_delta` description
|
|
5f28ec84
|
2015-02-03T12:16:11
|
|
win32: cleanup 8.3 disabled tests
|
|
1589a93a
|
2015-02-02T16:50:10
|
|
Fix branch creation when branch name matches namespace of previously deleted branch
|
|
9f779aac
|
2015-01-29T14:40:55
|
|
attrcache: don't re-read attrs during checkout
During checkout, assume that the .gitattributes files aren't
modified during the checkout. Instead, create an "attribute session"
during checkout. Assume that attribute data read in the same
checkout "session" hasn't been modified since the checkout started.
(But allow subsequent checkouts to invalidate the cache.)
Further, cache nonexistent git_attr_file data even when .gitattributes
files are not found to prevent re-scanning for nonexistent files.
|
|
60561d54
|
2015-02-03T03:36:07
|
|
tests: update for new test data
|
|
2fbce0bf
|
2015-02-02T22:18:38
|
|
checkout test: ensure .gitattributes lifecycle
The .gitattributes cache should not reload .gitattributes in the
middle of checking out, only between checkout operations. Otherwise,
we'll spend all our time stat'ing and read'ing the gitattributes.
|
|
f4e3a6ab
|
2015-01-31T22:15:10
|
|
AppVeyor: Prettify build script
|
|
f83c19c8
|
2015-01-30T14:16:45
|
|
Merge pull request #2832 from ethomson/appveyor_badge
64-bit Appveyor Builds
|
|
6e5a397c
|
2015-01-30T18:00:26
|
|
Merge pull request #2853 from swisspol/empty_doc
Clarified git_repository_is_empty() documentation
|
|
9dcc4a36
|
2015-01-28T23:04:50
|
|
Fix test failures when 8.3 is disabled
|
|
9a294fd8
|
2015-01-27T08:17:23
|
|
Clarified git_repository_is_empty() documentation
|
|
1ac5acdc
|
2015-01-26T11:28:59
|
|
Merge pull request #2819 from libgit2/cmn/config-get-path
config: add parsing and getter for paths
|
|
27242199
|
2015-01-26T11:27:09
|
|
Merge pull request #2837 from swisspol/set_index
Allow passing a NULL index to git_repository_set_index()
|
|
f483720c
|
2015-01-26T11:25:16
|
|
Merge pull request #2839 from swisspol/typo
Fixed typo in git_repository_reinit_filesystem() documentation
|
|
ff80b5e8
|
2015-01-26T11:24:47
|
|
Merge pull request #2847 from jacquesg/coverity
More coverity fixes
|
|
9a09ed13
|
2015-01-26T11:21:04
|
|
Merge pull request #2840 from swisspol/sys_repository_include
Make sure sys/repository.h includes the required headers
|
|
9f1ee63d
|
2015-01-26T11:20:00
|
|
Merge pull request #2841 from swisspol/set_bare
Fixed git_repository_set_bare() not setting "core.bare" correctly
|
|
65bc22fa
|
2015-01-26T11:18:17
|
|
Merge pull request #2844 from rakuco/netinet-include-fixes
openssl: Add all required includes for AF_INET6 and in6_addr.
|
|
645073b7
|
2015-01-26T10:56:40
|
|
Merge pull request #2848 from JIghtuse/describe_mem_fix
describe example: fix memory allocation size
|
|
f101a7d4
|
2015-01-26T17:29:15
|
|
Merge pull request #2846 from JIghtuse/master
pathspec: do not try to dereference NULL
|
|
461fd5a0
|
2015-01-24T16:15:12
|
|
Add libssh2's library and include directories.
Follow-up to 4f91bfa ("Find libssh2 via pkg-config"): FindPkgConfig sets
<foo>_INCLUDE_DIRS, not <foo>_INCLUDE_DIR like FindLIBSSH2 did.
Additionally, if using only FindPkgConfig to find libssh2, we have to
call LINK_DIRECTORIES() as well to pass the appropriate -L entries,
otherwise the build will only work if libssh2.so is in a directory
searched automatically by the linker.
|
|
36e13399
|
2015-01-25T22:34:46
|
|
describe example: fix memory allocation size
We need to allocate memory for sizeof(char *) * ncommits, not just for
ncommits.
Issue detected by GCC's AddressSanitizer.
|
|
bb6aafe8
|
2015-01-25T14:40:23
|
|
Ensure the diff hunk callback is specified before trying to dereference it
|
|
636af219
|
2015-01-25T14:38:10
|
|
Return early if allocating a git_pathspec_match_list failed
|
|
b63b3b0e
|
2015-01-25T14:08:05
|
|
Ensure git_index_entry is not NULL before trying to free it
|
|
dc5fe00c
|
2015-01-25T00:07:23
|
|
pathspec: do not try to dereference NULL
pathspec_match_free() should not dereference a NULL passed to it.
I found this issue when I tried to run example log program with
nonexistent branch:
./example/log help
Such call leads to segmentation fault.
|
|
3cda6be7
|
2015-01-24T16:19:43
|
|
openssl: Add all required includes for AF_INET6 and in6_addr.
This fixes the build at least on FreeBSD, where those types were not
defined indirectly:
src/openssl_stream.c:100:18: error: variable has incomplete type 'struct in6_addr'
struct in6_addr addr6;
^
src/openssl_stream.c:100:9: note: forward declaration of 'struct in6_addr'
struct in6_addr addr6;
^
src/openssl_stream.c:111:18: error: use of undeclared identifier 'AF_INET'
if (p_inet_pton(AF_INET, host, &addr4)) {
^
src/unix/posix.h:31:40: note: expanded from macro 'p_inet_pton'
^
src/openssl_stream.c:115:18: error: use of undeclared identifier 'AF_INET6'
if(p_inet_pton(AF_INET6, host, &addr6)) {
^
src/unix/posix.h:31:40: note: expanded from macro 'p_inet_pton'
^
|
|
b2a7bcdb
|
2015-01-23T20:57:13
|
|
Fixed git_repository_set_bare() not setting "core.bare" correctly
|
|
86815dca
|
2015-01-23T16:04:23
|
|
Make sure sys/repository.h includes the required headers
It was missing "common.h" and "types.h" like other system headers.
This generated compilation errors if including it directly.
|
|
22b6a923
|
2015-01-23T15:59:54
|
|
Fixed typo in git_repository_reinit_filesystem() documentation
|
|
fa8ca519
|
2015-01-23T15:35:29
|
|
Allow passing a NULL index to git_repository_set_index()
This is supported by the underlying set_index() implementation
and setting the repository index to NULL is recommended by the
git_repository_set_bare() documentation.
|
|
73c5db76
|
2015-01-22T19:00:16
|
|
Merge pull request #2834 from ethomson/memleak
checkout: free last created directory
|
|
11888039
|
2015-01-23T00:18:42
|
|
checkout: free last created directory
|
|
7c48508b
|
2015-01-21T12:55:17
|
|
structinit test: only run on DEBUG builds
The structinit tests don't make sense unless structure padding
is uniformly initialized, which is unlikely to happen on release
builds. Only enable them for DEBUG builds. Further, rename them
to core::structinit.
|
|
0ad5c845
|
2015-01-18T00:47:59
|
|
structinit test: show which byte differs
|
|
1d67e8fd
|
2015-01-16T21:28:25
|
|
Windows CI: use 32 and 64 bit for AppVeyor builds
Add 64 bit and always build with default calling conventions, to
avoid trying to build with stdcall on amd64.
|
|
a789b361
|
2015-01-21T09:20:54
|
|
Merge pull request #2829 from jacquesg/dead-code
Remove logically dead code (we're already asserting)
|
|
68302ed2
|
2015-01-20T17:48:34
|
|
Merge pull request #2823 from ethomson/appveyor_badge
README: Point to libgit2 account's AppVeyor badge
|
|
e0902fbc
|
2015-01-15T17:17:01
|
|
checkout tests: cleanup realpath impl on Win32
|
|
53eb139d
|
2015-01-14T20:16:01
|
|
checkout tests: emulate p_realpath poorly on Win32
|
|
e74340b0
|
2015-01-14T18:47:00
|
|
checkout: remove files before writing new ones
On case insensitive filesystems, we may have files in the working
directory that case fold to a name we want to write. Remove those
files (by default) so that we will not end up with a filename that
has the unexpected case.
|
|
c2dee0fc
|
2015-01-14T13:20:21
|
|
checkout: drop newline in error message
|
|
232bc895
|
2015-01-14T13:15:34
|
|
checkout tests: nasty symlinks
Symbolic links that abuse case insensitivity to write into .git.
|
|
b4cbd67f
|
2015-01-13T13:02:58
|
|
checkout: don't recreate previous directory
Don't bother trying to recreate the previously created directory
during checkout, for a modest reduction in the number of stats.
|
|
fe598f09
|
2015-01-13T11:18:02
|
|
mkdir: walk up tree to mkdir
Walk up the tree to mkdir, which is less immediately efficient,
but allows us to look at intermediate directories that may need
attention.
|