Commit Graph

1136 Commits

Author SHA1 Message Date
Carlos Martín Nieto
78fae47878 pkt: make sure we really only read the length
A pkt-line's length are described in its first four bytes in ASCII
hex. Copy this substring to another string before feeding it to
git__strtol32. Otherwise, it will read the whole hash.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00
Carlos Martín Nieto
1d27446c60 Move flush-pkt creation into its own function
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00
Carlos Martín Nieto
f7fc68df83 Lay the foundations for pkt-line parsing
This are the types I intend to use for pkt-line parsing and (later)
creation. git_pkt serves as a base pointer type and once you know what
type it is you can use the real one (command, tip list, etc.)

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00
Carlos Martín Nieto
d6258debbe Implement ls-remote on local drive
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:12 +02:00
Carlos Martín Nieto
8f866daee5 Lay down the fundations for the network code
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
c5b2622d68 Add git_refspec_transform test
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
92cb6aa929 Add git_refspec_transform
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
fa9dcb7ede Add refspec match test
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
73fdf706cc Add refspec0 test
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
63f91e1ce8 Add git.git's fnmatch, which is really GNU's and the git__fnmatch wrapper
If the strings match, git__fnmatch returns GIT_SUCCESS and
GIT_ENOMATCH on failure to match.

MSVC fixes: Added a test for _MSC_VER and (in that case) defined
HAVE_STRING_H to 1 so it doesn't try to include <strings.h> which
doesn't exist in the MSVC world. Moved the function declarations to
use the modern inline ones so MSVC doesn't have a fit. Added casts
everywhere so MSVC doesn't crap its pants.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
f8f3feb0d3 Add a to-do list for remotes
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:11 +02:00
Carlos Martín Nieto
a030ae5020 Add a test for remote parsing
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:10 +02:00
Carlos Martín Nieto
2dc31040a2 Abstract the refspec query and parse
Move them to their own functions to avoid duplication and to make it
easier to ignore missing configuration.

Not finding 'fetch' is considered fatal, though this might not be
correct behaviour (push-only remotes?)

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:10 +02:00
Carlos Martín Nieto
9c82357be7 Add a remotes API
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 18:18:10 +02:00
Vicent Martí
0b10c9ea6e Merge pull request #276 from carlosmn/development
Bring back GCC flags
2011-06-26 08:33:11 -07:00
Carlos Martín Nieto
e233fa6f17 Bring back GCC flags
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
2011-06-26 16:37:04 +02:00
Vicent Marti
ce90d81f6f revwalk: Do not set error string on revwalk over 2011-06-24 15:30:10 +02:00
Vicent Marti
8172dd4383 cmake: Do not pass /Tc to MSVC 2011-06-23 22:45:09 +02:00
Vicent Martí
45e82ba21b Merge pull request #273 from GeneralMaximus/development
added defines for Haiku in types.h
2011-06-23 04:38:38 -07:00
Ankur Sethi
2c0ec236e9 added defines for Haiku in types.h 2011-06-23 13:36:09 +00:00
Vicent Marti
3101a3e5b8 refs: Do not overflow when normalizing refnames 2011-06-23 02:29:11 +02:00
Vicent Martí
3bf3ad9f03 Merge pull request #269 from schu/infinite-append
gitfo_read: fix read-loop
2011-06-21 13:53:48 -07:00
Vicent Martí
b3f2d4cb36 Merge pull request #270 from carlosmn/valgrind
Two memory access fixes
2011-06-21 07:24:57 -07:00
Carlos Martín Nieto
4cea2f0369 Stat files with full pathnames
Call gitfo_lstat with the full pathname instead of the relative one,
which fails in case the current working directory is different from
the workdir.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-20 17:53:21 +02:00
Carlos Martín Nieto
cdb6f9bf5e Allocate enough memory for the terminator in commit parsing
Also allow space for the null-terminator when allocating the buffer in
packfile_unpack_compressed. Up to now, the last newline had served as
a terminator, but 858ef372 searches for a double-newline and exposes
the problem.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-20 17:34:01 +02:00
schu
28f7869dee gitfo_read: fix read-loop
Signed-off-by: schu <schu-github@schulog.org>
2011-06-20 17:28:59 +02:00
schu
24bd5e556b Add test case checking GIT_FILEBUF_APPEND
Signed-off-by: schu <schu-github@schulog.org>
2011-06-20 15:58:56 +02:00
Vicent Marti
37172582ec libgit2 v0.13.0 "Watermelon Wheat"
On this rascalicious minor release of libgit2:

- We've dropped support for Waf. All the build process is now managed
through CMake for all platforms.

- We've removed the custom backends from the repository. You can now
find a collection of Custom backends on their own repo, under the
libgit2 org. Including MySQL and Memcache backends, courtesy of the
beardful Brian Lopez.

- We are rocking a new documentation system, Docurium, courtesy of the
insightful Scott Chacon. Check out the details for each single method
in our external API and the way they've evolved through the history
of the library:

	http://libgit2.github.com/libgit2/

This will certainly come in handy if you are developing bindings for
the library.

- You can now check the linked version of the library from your
application or bindings, using `git_libgit2_version`.

- We have a gazillion new features, courtesy of our invaluable
collaborators, including:

	* Support for Config files!
	* Support for prefix-only reads on the ODB
	* Repository discovery
	* Support for the Unmerged Entries index extension
	* Better Windows support
	* 30.000 bug fixes (actual number may be lower)

Thanks as always to everyone who makes this project possible.

Here's the full list of all external API changes:

- git_index_open_bare
- git_index_open_inrepo
- git_odb_backend_sqlite
- git_oid_mkraw
- git_oid_mkstr
- git_reference_listcb
- git_repository_workdir

= git_index_get
= git_repository_path
= git_tree_entry_byindex

+ git_blob_lookup_prefix
+ git_commit_lookup_prefix
+ git_config_add_file
+ git_config_add_file_ondisk
+ git_config_file__ondisk
+ git_config_find_global
+ git_config_foreach
+ git_config_free
+ git_config_get_bool
+ git_config_get_int
+ git_config_get_long
+ git_config_get_string
+ git_config_new
+ git_config_open_global
+ git_config_open_ondisk
+ git_config_set_bool
+ git_config_set_int
+ git_config_set_long
+ git_config_set_string
+ git_index_entry_stage
+ git_index_entrycount_unmerged
+ git_index_get_unmerged_byindex
+ git_index_get_unmerged_bypath
+ git_index_open
+ git_object_lookup_prefix
+ git_odb_read_prefix
+ git_oid_fromraw
+ git_oid_fromstr
+ git_oid_ncmp
+ git_reference_foreach
+ git_repository_config
+ git_repository_discover
+ git_repository_is_bare
+ git_tag_lookup_prefix
+ git_tree_entry_type
+ git_tree_lookup_prefix
2011-06-19 12:51:09 +02:00
Vicent Marti
984ed6b6be odb: Add GIT_EPASSTHROUGH
Allows a custom user backend to passthrough one of the callbacks. Used
for e.g. caching backends.
2011-06-19 12:50:45 +02:00
Vicent Marti
bfd5e3e2a2 config: Fix API docs 2011-06-19 12:50:45 +02:00
Vicent Martí
8ee2bb54ec Merge pull request #268 from nulltoken/patch-3
Fix link to API documentation
2011-06-19 03:50:19 -07:00
nulltoken
e49020e0bb Fix link to API documentation 2011-06-18 09:07:51 -07:00
Vicent Marti
e35e9fb4c3 mingw: Fix compilation 2011-06-18 13:23:19 +02:00
Vicent Marti
2a406ab51c config: Fix sorting of repository config files 2011-06-18 02:08:56 +02:00
Vicent Marti
19cb6857a4 config: Bring back git_config_open_global
Scott commands, I obey.
2011-06-18 01:50:48 +02:00
Vicent Marti
920e000d38 config: Update examples 2011-06-18 01:17:58 +02:00
Vicent Marti
dbe70bd5c3 config: Fix compilation in MSVC 2011-06-18 01:12:58 +02:00
Vicent Marti
4007044553 config: Typorrrrl 2011-06-18 00:55:03 +02:00
Vicent Martí
deee4766a8 Merge pull request #267 from Jopie64/development
Fix compilation error in MSVC when compiling for c++
2011-06-17 15:44:26 -07:00
Vicent Marti
07ff881750 config: Cleanup external API
Do not mess with environment variables anymore. The new external API has
more helper methods, and everything is explicit.
2011-06-18 00:39:39 +02:00
Johan 't Hart
f061988667 Fix compilation error in MSVC when compiling for c++ 2011-06-17 23:58:34 +02:00
Carlos Martín Nieto
f3dad3acd7 Add fall-back support to the configuration
If a config has several files, we need to check all of them before we
can say that a variable doesn't exist.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-17 22:30:30 +02:00
Carlos Martín Nieto
3de5df7d8e Add a test for overriding config
The repo's configuration should take precedence over the global one.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-17 22:30:29 +02:00
Carlos Martín Nieto
9ba9e513bc Parse the repo's configuration when we load it
It's not enough to load the config, we also need to explicitely parse
it after we create it.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-17 22:30:29 +02:00
Carlos Martín Nieto
b22d147986 Add git_repository_config API
This function puts the global and repository configurations in one
git_config object and gives it to the user.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-17 22:30:29 +02:00
Carlos Martín Nieto
b76934de6c Remove double-space
Noticed by txdv

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-17 22:30:29 +02:00
Vicent Marti
c716b1878e config: Fix unitialized variable warning 2011-06-17 19:47:58 +02:00
Vicent Marti
f0890fccf9 cmake: Build shared library by default 2011-06-17 19:40:51 +02:00
Vicent Marti
e01f7f642c windows: Disable Runtime checks
Runtime checks are asserting on the embedded ZLib code because of
truncation (see zlib/trees.c:218). This is not good or pretty, but I'm
wary about patching the ZLib code even more.

There are two ways to fix this:

	- Patch the ZLib code, and start storing a diff/patchset on
	how does our version of ZLib differ from the original one, so we can
	be more or less on sync when new version of ZLib.

	- Go back to ZLib as an external dependency, which is np for *NIX
	users but annoying as dicks for Windows users.

THINK HARD
2011-06-17 19:40:06 +02:00
Vicent Martí
f252d479e7 Merge pull request #264 from nulltoken/patch-2
Fix misleading comment in CMake build script
2011-06-17 10:32:42 -07:00