Commit Graph

1063 Commits

Author SHA1 Message Date
Andreas Ericsson
257bd746cf Use same-directory include for public headers
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>
2008-11-18 10:32:53 -08:00
Shawn O. Pearce
8b6f008eda Add a zlib support shell
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>
2008-11-03 18:53:09 -08:00
Shawn O. Pearce
1699efc421 Implement some of the basic git_odb open and close API
Far from being complete, but its a good start.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-11-03 18:52:32 -08:00
Shawn O. Pearce
2dbdb824f0 Add git_fsize to the os file API
This permits us to get the size of an opened file.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-11-03 18:52:28 -08:00
Shawn O. Pearce
3e9e69098a Redefine git_fread, git_fwrite to transfer the whole unit
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>
2008-11-03 18:43:04 -08:00
Shawn O. Pearce
b7c891c629 Add git_oid_cpy, git_oid_cmp as inline functions
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>
2008-11-03 18:43:04 -08:00
Shawn O. Pearce
3b8ab0b935 Fix GIT_EXTERN to actually mark the prototype as extern
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-11-03 18:42:54 -08:00
Shawn O. Pearce
fbbfdf9f13 Move GIT_NORETURN into test_lib.h only
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>
2008-11-03 18:42:54 -08:00
Shawn O. Pearce
8722a77ec3 Correct indentation in git/odb.h
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-11-03 18:40:06 -08:00
Shawn O. Pearce
15bffce9f7 Create a basic test suite for the library and test oid functions
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>
2008-11-01 18:24:39 -07:00
Shawn O. Pearce
16a67770b7 Create a micro abstraction around the POSIX file APIs
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>
2008-11-01 16:53:06 -07:00
Shawn O. Pearce
50298f44a4 Switch the license from BSD to GPL+libgcc exception
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-11-01 15:55:47 -07:00
Shawn O. Pearce
d1ea30c399 Move include files to include/git/, drop git_ prefix from file names
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-11-01 15:42:23 -07:00