Commit Graph

1149 Commits

Author SHA1 Message Date
Vicent Martí
9db04160a5 Merge pull request #222 from carlosmn/config-bugfix
Config bugfix
2011-06-01 12:52:50 -07:00
Vicent Martí
50b7334e51 Merge pull request #206 from nulltoken/topic/is-bare
Add git_repository_is_bare() accessor
2011-06-01 09:58:21 -07:00
Vicent Marti
786ad84fa9 index: Cleanup tree parsing 2011-06-01 18:54:56 +02:00
Carlos Martín Nieto
a02fc2cd16 index: correctly parse invalidated TREE extensions
A TREE extension with an entry count of -1 means that it was
invalidated and we should ignore it. Do so instead of returning an
error.

This fixes issue #202

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-01 18:54:56 +02:00
Carlos Martín Nieto
cdd9fd473e Allow read_tree_internal to return an error code
There are two reasons why read_tree_internal might return a NULL
tree. The first one is a corrupt index, but the second one is an
invalidated TREE extension. Up to now, its only way to communicate
with its caller was through the return value being NULL or not.

Allow read_tree_internal to report its exit status independently from
the tree pointer.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-06-01 18:54:56 +02:00
Vicent Marti
f7e59c4dcf index: Change the memory management for repo indexes
The `git_repository_index` call now returns a brand new index that must
be manually free'd.
2011-06-01 18:54:47 +02:00
Vicent Marti
ef5ffed39a object: Update documentation 2011-06-01 18:45:23 +02:00
David Glesser
fbfc758022 Fix tag and signature parsing
Before this commit, malformed tag and signature were considered as
valid by the parser. See the test t3800-mktag.sh of git to see example
of malformed tag and signature.
2011-05-31 18:38:59 +02:00
Carlos Martín Nieto
fc0ee5bdd3 Add test for empty config file
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:18 +02:00
Carlos Martín Nieto
c7e6e95841 Don't try to parse an empty config file
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:18 +02:00
Carlos Martín Nieto
30d0550da8 Add test for invalid ext header
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:17 +02:00
Carlos Martín Nieto
38d0bc1e81 Add config test for empty line
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:57:17 +02:00
Carlos Martín Nieto
5892277cd0 Config parse header ext: don't allow text after closing quote
Nothing is allowed betwen the closing quotation mark and the ] so
return an error if there is.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:33:24 +02:00
Carlos Martín Nieto
7288d8b65c Parse section header ext: don't leak on error
Also free the subsection if we find too many quotes

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:33:24 +02:00
Carlos Martín Nieto
7bc9e2aa2f Guard against double-freeing the current section
If parse_section_header{,_ext} return an error, current_section
doesn't get allocated. Set it to NULL after freeing so we don't try to
free it again.

This fixes part 2-2 of Issue #210.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:33:23 +02:00
Carlos Martín Nieto
f2abee47d8 cfg_readline: really ignore empty lines
Simplify cfg_readline and at the same time fix it so that it does
really ignore empty lines.

This fixes point 2-1 of Issue #210

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:33:23 +02:00
Carlos Martín Nieto
a5f43b9536 Config file open: don't free memory that doesn't belong to us
On error, it would free the configuration object even though it didn't
own that memory, which would cause a double-free.

This fixes the first part of Issue #210

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 17:33:23 +02:00
Carlos Martín Nieto
71da57aefd Plug a leak in the index unmerged entries vector
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
2011-05-31 16:49:15 +02:00
David Glesser
ac4fcf173d Modify git_tag_create_frombuffer: the buffer is not modified when
writen to the odb

libgit2 has now the same behaviour of git when adding a tag with a
buffer.
2011-05-31 16:31:12 +02:00
David Glesser
3ecdf91065 Modify create_tag : verifications are now done in an another function
This commit create a function called tag_valid_in_odb which validate a
tag before its creation. This function will be needed by my next commit.
2011-05-31 11:53:09 +02:00
schu
a7ed162538 test_lib.c: flush stdout after every test-run
Make sure the user immediately sees the feedback, '.' or 'F', for a
test. If it's only in the buffer, it may gets "lost" in case of error.

Signed-off-by: schu <schu-github@schulog.org>
2011-05-30 21:13:11 +02:00
David Glesser
23123151e0 Set the oid when a tag already exists.
When a tag already exists, it can be useful to directly have the oid
of the existed tag, just after trying to add it.
2011-05-30 09:03:55 +02:00
David Glesser
448c4d012b Add an error message when a tag already exists.
Before this commit, no message is shown when doing a git_lasterror().
2011-05-30 08:46:48 +02:00
schu
286349c6ec Fix tiny typo
Signed-off-by: nulltoken <emeric.fermas@gmail.com>
Signed-off-by: schu <schu-github@schulog.org>
2011-05-29 20:15:27 +02:00
schu
f5a86fefa9 gitfo_isdir: fix error message
Signed-off-by: schu <schu-github@schulog.org>
2011-05-29 17:44:14 +02:00
nulltoken
fa9bcd81f5 Add git_repository_is_bare() accessor 2011-05-24 21:50:02 +02:00
Vicent Martí
4191d52924 Merge pull request #204 from nulltoken/fix/build-msvc
Fix compilation warnings in MSVC
2011-05-24 10:02:33 -07:00
nulltoken
3a1c431011 Fix compilation warnings in MSVC
This allows to successfully build libgit2 with waf on Windows.
2011-05-24 18:55:35 +02:00
Vicent Marti
8146fe7cb9 index: Fix unused error messages 2011-05-23 21:41:13 +03:00
Jakob Pfender
d320c52d3b index.c: Move to new error handling mechanism 2011-05-23 21:39:56 +03:00
Jakob Pfender
ec9edd5657 config_file.c: Move to new error handling mechanism 2011-05-23 21:38:44 +03:00
Jakob Pfender
a6d647d258 win32/pthread.c: Move to new error handling mechanism 2011-05-23 21:38:43 +03:00
Jakob Pfender
7c8b597ec3 win32/map.c: Move to new error handling mechanism 2011-05-23 21:38:42 +03:00
Jakob Pfender
450ac186f9 unix/map.c: Move to new error handling mechanism 2011-05-23 21:38:41 +03:00
Jakob Pfender
57435a6dff backends/sqlite.c: Move to new error handling mechanism 2011-05-23 21:38:41 +03:00
Jakob Pfender
43a0bc01ce backends/hiredis.c: Move to new error handling mechanism 2011-05-23 21:38:40 +03:00
Jakob Pfender
33b1d19e76 util.c: Move to new error handling mechanism 2011-05-23 21:38:39 +03:00
Jakob Pfender
bc06a4eeec tree.c: Move to new error handling mechanism 2011-05-23 21:38:39 +03:00
Jakob Pfender
6e34ee61bc tag.c: Move to new error handling mechanism 2011-05-23 21:38:38 +03:00
Jakob Pfender
005564967f signature.c: Move to new error handling mechanism 2011-05-23 21:38:37 +03:00
Jakob Pfender
c0cd9d506b revwalk.c: Move to new error handling mechanism 2011-05-23 21:38:35 +03:00
Jakob Pfender
4f664a1b3d repository.c: Move to new error handling mechanism 2011-05-23 21:38:19 +03:00
Vicent Marti
0d5d5190f2 refs: Reword errors 2011-05-23 21:37:48 +03:00
Jakob Pfender
5bdf7b9f54 refs.c: Move to new error handling mechanism 2011-05-23 21:15:35 +03:00
Jakob Pfender
bea548420b oid.c: Move to new error handling mechanism 2011-05-23 21:15:26 +03:00
Vicent Marti
f84d981938 odb_pack: Reword errors 2011-05-23 21:14:58 +03:00
Jakob Pfender
267d539f4a odb_pack.c: Move to new error handling mechanism 2011-05-23 21:12:28 +03:00
Vicent Marti
60e1b49abd odb_loose: Reword errors 2011-05-23 21:12:18 +03:00
Jakob Pfender
dfb12cd544 odb_loose.c: Move to new error handling mechanism 2011-05-23 21:09:33 +03:00
Jakob Pfender
f93f8ec5d0 odb_loose.c: Return GIT_ENOMEM when allocation fails
When trying to inflate a buffer, a GIT_ERROR was returned when malloc()
failed.

Fix this to return GIT_ENOMEM.
2011-05-23 21:09:21 +03:00