- 02 Dec, 2008 3 commits
-
-
Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed
-
- 22 Nov, 2008 12 commits
-
-
This patch introduces the $(ALL_CFLAGS) variable, which holds $(BASIC_CFLAGS) as well as userdefined $(CFLAGS) and then consistently uses that variable where both were used anyway. Since we're in the area, we optimize the sparse running a bit, getting rid of the shell and just letting sparse iterate over the files. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
This makes it far more convenient to reference as a dependency for other targets. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Since it's being added when we install the headers anyway, we might as well get rid of it. If anything, we should point coders to the COPYING file in the project's root directory instead of duplicating the same (large-ish) text everywhere. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
This adds the per-thread global variable git_errno to the system, which callers can examine to get information about an error. Two helper functions are added to reduce LoC-count for the library code itself. Also, some exceptions are made for running sparse on GIT_TLS definitions, since it doesn't grok thread-local variables at all. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
ARRAY_SIZE() et al go in util.h, included from common.h Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
This one pulls in compiler compatibility macros, some common header files, and also the public common.h header. C source files are modified to use the private common.h in favour of the public one. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Holds things such as FLEX_ARRAY and whatnot. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Otherwise their prototypes don't match their declarations. Detected by 'sparse', which is obviously good to run before each commit. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Given the confusion on git@vger, we'd better not name this target "check" or (worse) "test", but it's still useful to have. As "sparse", noone should have problems understanding what it does. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
We don't want to prepend the entire license; Only the file header part of it. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Using it in the first place means something's wrong. This patch replaces it with an internal header which carries the previously "protected" code instead. Internal source-files simply include "commit.h" and they're done. The internal header includes the public one to make sure we always use the proper prototype. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed
-
- 18 Nov, 2008 7 commits
-
-
It doesn't cover all cases, but we can work on those as we go along. For now, gcc, MSVC++, Intel C/C++, IBM XL C/C++, Sun Studio C/C++ and Borland C++ Builder are the supported compilers (although we boldly assume that they all are of a recent enough version to support thread-local storage). This is intended to be used in upcoming patches that implement graceful (but TLS-dependant) error-handling in the library. As an added bonus, we also bring the online_cpus() function from git.git to detect the number of usable cpu's. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
It actually does what it's supposed to (more or less), but not very portably and not to the correct directory. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
It's arguably smoother to keep them close to the source, as that's where one's working when modifying them. More importantly, though, is the ability to use private headers in the src/ dir that simply include "git/$samename.h" to get to the public API at the same time. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
git_revp is something I personally can't stop pronouncing "rev pointer". I'm sure others would suffer the same problem. Also, rename the git_revp_ sub-api "gitrp_". This is the first of many such renames, primarily done to prevent extreme inflation in the "git_" namespace, which we'd like to reserve for a higher-level API. While we're at it, we remove the noise-char "c" from a lot of functions. Since revision walking is all about commits, the common case should be that we're dealing with commits. Exceptions can get a more mnemonic description as needed. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
The 's' never really made sense, since it's not a "small" object at all, but rather a plain object. As such, it should have a "plain" object name. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
It doesn't make sense to use "git/somefile.h" in the public git headers, as it's quite likely that projects using them will have a git directory themselves. This alters it, making the public headers look for headers in the same directory they themselves are in. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed -
Since re-using code from git.git proper is the quick way forward, we need to list those who have given their consent to do just that. The relicense permission is only valid for use with libgit2, and only for GPLv2 + gcc-exception (as specified by 'COPYING'. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Andreas Ericsson committed
-
- 04 Nov, 2008 12 commits
-
-
Some versions of zlib don't have a deflateBound defined, so we define it ourselves after including zlib.h. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Far from being complete, but its a good start. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
This permits us to get the size of an opened file. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
We never want to accept a short read or a short write when transferring data to or from a local file. Either the entire read (or write) completes or the operation failed and we will not recover gracefully from it. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
These are easily built off the standard C library functions memcpy and memcmp. By marking these inline we stand a good chance of the C compiler replacing the entire thing with tight machine code, because many compilers will actually inline a memcmp or memcpy when the 3rd argument (the size) is a constant value. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
We only want hex digits to be read, any other character in the 8-bit character set is invalid within an id string. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
By passing the name of the test function on the command line we execute exactly that one test, and then exit successfully if the test did not fail. This permits multiple functions in the same .c file, so they could be called from a shell script or debugged independently externally. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
If we have more than one test build running we cannot use the same file for each test case; instead we need to use a per-test path so there aren't any collisions. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
We should never have a noreturn style function in the library itself, as such a function would prevent the calling application from handling error conditions the way it wants. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed
-
- 02 Nov, 2008 1 commit
-
-
This is a horribly simple test suite that makes it fairly easy to put together some basic function level unit tests on the library. Its patterned somewhat after the test suite in git.git, but also after the "Check" test library. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed
-
- 01 Nov, 2008 5 commits
-
-
This way we can start to write IO code to read and write files in the Git object database, but provide a hook to inject native Win32 APIs instead so libgit2 can be ported to run natively on that platform. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
This isn't the best idea I've head. Pierre Habouzit was suggesting a technique of assigning a unique integer to each commit and then allocating storage out of auxiliary pools, using the commit's unique integer to index into any auxiliary pool in constant time. This way both applications and the library can efficiently attach arbitrary data onto a commit, such as rewritten parents, or flags, and have them disconnected from the main object hash table. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed -
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Shawn O. Pearce committed
-