Commit Graph

1171 Commits

Author SHA1 Message Date
Romain Geissler
bc6484912e Fileops: Added gitfo_isfile.
Conflicts:

	src/fileops.c
2011-06-03 21:20:20 +02:00
unknown
26a98ec8a2 Fileops: Added a fourth argument to the path prettifying functions to use an alternate basepath.
Fixed a Windows TO-DO in the prettifying functions.
2011-06-03 21:04:02 +02:00
unknown
bb88da7f90 Sha1Lookup: Fixed two MSVC compilation warnings. 2011-06-03 21:03:58 +02:00
Vicent Marti
0291b5b76b odb: Fix loading ODB alternates
Fixed an issue with the `strtokz implementation and added support for
comments and relative paths in the alternates file.
2011-06-03 20:01:18 +02:00
Romain Geissler
04fdc10d35 Fileops:retrieve_path_root_offset is now named gitfo_retrieve_path_root_offset (like other public functions). Added platform specific directory separator definition. 2011-06-03 19:26:45 +02:00
Vicent Martí
1e9b7a09ff Merge pull request #144 from nordsturm/fix_fakewstream
Fix fake wstream write
2011-06-02 15:12:37 -07:00
Vicent Marti
7107b599d7 odb-pack: More variable declarations 2011-06-02 01:03:52 +02:00
Vicent Marti
7b5fe049d1 odb-pack: Do not declare variables mid-function 2011-06-02 00:47:51 +02:00
Vicent Marti
fea400f87b signature: Fix compilation 2011-06-01 23:41:30 +02:00
Vicent Marti
d0323a5f63 short-oid: Cleanup 2011-06-01 23:40:42 +02:00
Marc Pegon
aea8a638f2 Implemented read_unique_short_oid method for loose backend. 2011-06-01 23:40:42 +02:00
Marc Pegon
6c8ca697be Fixed some error messages related to searching objects from a short oid. Fixed forgot to check that prefix length is greater than minimum prefix length in read_unique_short_oid method from pack backend. 2011-06-01 23:40:42 +02:00
Marc Pegon
7d74cd44d5 Deleted unused method git_cached_object_match, since we do not explore the cache when searching objects from a short oid. 2011-06-01 23:40:42 +02:00
Marc Pegon
da03c9f35b Changed return value of git_oid_match to be consistent with the other compare methods (0 means oids match). Added method to compare prefixes of hex formatted oids. 2011-06-01 23:40:42 +02:00
Marc Pegon
ac2b94ad76 Added a GIT_OID_MINPREFIXLEN constant to define the minimum length allowed for oid prefixes (set to 4, like in git). Consequently updated some object lookup methods and their documentation. 2011-06-01 23:40:41 +02:00
Marc Pegon
dd453c4dbf Added git.git sha1 lookup method to replace simple binary search in pack backend.
Implemented find_unique_short_oid for pack backend, based on git sha1 lookup method;
finding an object given its full oid is just a particular case of searching
the unique object matching an oid prefix (short oid).

Added git_odb_read_unique_short_oid, which iterates over all the backends to
find and read the unique object matching the given oid prefix.

Added a git_object_lookup_short_oid method to find the unique object in
the repository matching a given oid prefix : it generalizes git_object_lookup
which now does nothing but calls git_object_lookup_short_oid.
2011-06-01 23:40:41 +02:00
Marc Pegon
53c0bd81a2 Added error for ambiguous oid prefixes. Added methods to compare the first nth hexadecimal characters (i.e. packets of 4 bits) of OIDs. 2011-06-01 23:40:41 +02:00
Marc Pegon
ecd6fdf1f7 Added a read_unique_short_oid method to backends, to make it possible to find objects from sha1 prefixes in the future. Default implementations throw GIT_ENOTIMPLEMENTED for strict prefixes (i.e. length < GIT_OID_HEXSZ). 2011-06-01 23:40:41 +02:00
Vicent Martí
4a51e99814 Merge pull request #224 from glesserd/tagparsing
Fix tag and signature parsing
2011-06-01 12:57:47 -07:00
Vicent Martí
dd8a2070ce Merge pull request #215 from schu/typos
Fix typos
2011-06-01 12:54:15 -07:00
Vicent Martí
46d359d1c3 Merge pull request #218 from schu/tests-fflush
test_lib.c: flush stdout after every test-run
2011-06-01 12:53:46 -07:00
Vicent Martí
a7fdce6206 Merge pull request #223 from carlosmn/valgrind
Plug a leak in the index unmerged entries vector
2011-06-01 12:53:16 -07:00
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