Commit Graph

3908 Commits

Author SHA1 Message Date
Vicent Martí
3d4064a2cb Merge pull request #1176 from arrbee/fix-iter-memleak
Alternative fix for iterator memory leak
2012-12-28 10:34:35 -08:00
Vicent Martí
645e67e863 Merge pull request #1171 from csware/fix-compilation-vs2012
Fixed compilation with =>VS2010
2012-12-28 07:18:55 -08:00
Sven Strickroth
46c2c1d538 Fixed compilation with VS >= 2010
Starting with VS2010 MS ships a stdint.h.

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2012-12-28 13:47:13 +01:00
Russell Belfer
3865f7f661 Invalid ref name normalization leaked memory
When normalizing a reference name, if there is an error because
the name is invalid, then the memory allocated for storing the
name could be leaked if the caller was not careful and assumed
that the error return code meant that no allocation had occurred.

This fixes that by explicitly deallocating the reference name
buffer if there is an error in normalizing the name.
2012-12-27 23:23:12 -08:00
Russell Belfer
f616a36bdd Make spoolandsort a pushable iterator behavior
An earlier change to `git_diff_from_iterators` introduced a
memory leak where the allocated spoolandsort iterator was not
returned to the caller and thus not freed.

One proposal changes all iterator APIs to use git_iterator** so
we can reallocate the iterator at will, but that seems unexpected.
This commit makes it so that an iterator can be changed in place.
The callbacks are isolated in a separate structure and a pointer
to that structure can be reassigned by the spoolandsort extension.

This means that spoolandsort doesn't create a new iterator; it
just allocates a new block of callbacks (along with space for its
own extra data) and swaps that into the iterator.

Additionally, since spoolandsort is only needed to switch the
case sensitivity of an iterator, this simplifies the API to only
take the ignore_case boolean and to be a no-op if the iterator
already matches the requested case sensitivity.
2012-12-27 22:25:52 -08:00
Ben Straub
3de2256708 Fix warnings in example 2012-12-27 11:12:14 -08:00
Ben Straub
592f466c48 Fix GCC static/non-static compile error 2012-12-27 11:11:53 -08:00
Vicent Martí
83261a449f Merge pull request #1173 from nulltoken/bug/discover
Teach UNC paths to git_path_dirname_r()
2012-12-26 16:08:10 -08:00
nulltoken
50a762a563 path: Teach UNC paths to git_path_dirname_r()
Fix libgit2/libgit2sharp#256
2012-12-26 23:07:25 +01:00
nulltoken
34b6f05f39 path: enhance git_path_dirname_r() test coverage 2012-12-26 11:59:07 +01:00
nulltoken
19c3c99ca8 remote: remove duplicated test 2012-12-24 18:18:40 +01:00
nulltoken
f19304d265 remote: Prevent create() from blindly overwriting 2012-12-24 18:18:31 +01:00
nulltoken
ae35aa0708 remote: Improve documentation 2012-12-24 17:20:37 +01:00
nulltoken
b0aa14aa3c remote: Enhance in-memory remote test coverage 2012-12-24 16:54:27 +01:00
nulltoken
7d4b65f608 Fix indentations 2012-12-24 16:54:27 +01:00
nulltoken
6bd09ecc14 Fix MSSVC compilation issue 2012-12-24 16:54:26 +01:00
Michael Schubert
7382551ff7 Fix -Wmaybe-uninitialized warning 2012-12-22 16:29:59 +01:00
Ben Straub
69d1bd9125 Fix examples 2012-12-21 15:30:46 -08:00
Ben Straub
2808ec9ab4 Rename test to make @nulltoken happy 2012-12-21 13:15:37 -08:00
Vicent Martí
2052e3c071 Merge pull request #1163 from barrbrain/check-exists-before-write
odb: check if object exists before writing
2012-12-21 10:32:23 -08:00
Ben Straub
79000951ec In-memory remotes don't have names 2012-12-21 08:05:59 -08:00
David Michael Barr
4d185dd9b0 odb: check if object exists before writing
Update the procondition of git_odb_backend::write.
It may now be assumed that the object has already been hashed.
2012-12-21 13:05:20 +11:00
Ben Straub
87bc689fbf git_remote_create calls git_remote_save 2012-12-20 15:50:33 -08:00
Ben Straub
874dcb25eb Remote: deprecate dangling, prevent saving in-memory 2012-12-20 12:01:13 -08:00
Ben Straub
29f27599ea Rename remote creation APIs
git_remote_add -> git_remote_create
git_remote_new -> git_remote_create_inmemory
2012-12-20 10:52:57 -08:00
Vicent Martí
4c10d1afeb Merge pull request #1166 from scunz/antibiotica_for_travis
Mark travis build as failed if any test fails
2012-12-20 08:49:32 -08:00
Sascha Cunz
cedc15af99 Mark travis build as failed if any test fails 2012-12-20 03:51:06 +01:00
Ben Straub
316bca697f Fix clone sample 2012-12-19 17:07:12 -08:00
Ben Straub
00998a12ca Initialize variable 2012-12-19 17:02:06 -08:00
Ben Straub
621b50e4d5 Clone: trust but verify 2012-12-19 17:02:06 -08:00
Ben Straub
b412d56389 Add more clone options. Push test suite segfaults. 2012-12-19 17:02:06 -08:00
Edward Thomson
92c4d25820 Merge pull request #1138 from ethomson/fetchhead
fetchhead reading/iterating
2012-12-19 15:12:49 -08:00
Edward Thomson
7fcec83428 fetchhead reading/iterating 2012-12-19 16:57:30 -06:00
Vicent Martí
5c3c86b06e Merge pull request #1150 from schu/fix-netops-ssl
netops: on SSL teardown only send shutdown alert
2012-12-19 13:43:50 -08:00
Vicent Marti
08a325a321 reflog: Actual error handling 2012-12-19 12:52:14 +01:00
Vicent Marti
8a810441a2 reflog: Rename error handling 2012-12-19 12:48:12 +01:00
Vicent Martí
0f7f1b1bae Merge pull request #1159 from rick/be-consistent-be-be-consistent
Make `goto cleanup` more consistent
2012-12-19 10:26:54 -08:00
Vicent Martí
f7a40a82b0 Merge pull request #1162 from scunz/cmake_cleanups
RFC: Some cleanups/features in CMakeLists.txt
2012-12-19 10:26:01 -08:00
Vicent Martí
6b459a1ce3 Merge pull request #1164 from scunz/fixtestleak
Fix some leaks in tests
2012-12-19 10:25:04 -08:00
Sascha Cunz
d5cf4665a9 Fix some leaks and (possibly) dangling pointers in tests
Also adds some asserts.
2012-12-19 08:04:31 +01:00
Sascha Cunz
96a289f5f3 clone-empty-test: Don't use one pointer for two things
... so we can clean up correctly.
2012-12-19 05:24:23 +01:00
Sascha Cunz
3dc0207bc0 revwalk-test: Don't leak the second repository 2012-12-19 05:22:46 +01:00
Sascha Cunz
523a3ae5a3 MSVC: Don't list all source files in an endless list
Instead tell MSVC to group the source files by directory.
2012-12-19 04:57:15 +01:00
Sascha Cunz
94243295b2 DRY: Add function that adds os-specific libraries to our targets 2012-12-19 04:57:14 +01:00
Sascha Cunz
19a766a201 Collect configuration options at the top of the file
- Also document the -DSTDCALL even better.
2012-12-19 04:57:13 +01:00
Sascha Cunz
521479b170 DRY: Don't repeat globs for libgit2's own source files 2012-12-19 04:57:12 +01:00
Sascha Cunz
c5309eb2da Remove special case source globs for Solaris
With the src/compat/*.c glob removed, there is no longer a difference to
the default globs we use for the IF( UNIX ) case.
2012-12-19 04:57:12 +01:00
Sascha Cunz
49b630086e Remove src/compat/*.c from source globs
This directory doesn't exist.
2012-12-19 04:57:11 +01:00
Sascha Cunz
b53671ae85 Search for zlib unconditional
Up to now, on windows we don't even bother to look if the user has a zlib
available somwhere.

In almost all larger commercial projects i've participated in, it was not
at all uncommon to have such a dependency somewhere in the source tree and
use it whereever required.
Searching for it, even if it's unlikely to be present, allows for such a
scenario (i.e. by prefilling the CMake-Cache).
2012-12-19 04:57:11 +01:00
Sascha Cunz
3d007f4f9c DRY: Scan for regex.c only in one place 2012-12-19 04:57:10 +01:00