|
6810bf28
|
2011-05-11T00:40:07
|
|
Move all error-related defines to `git2/errors.h`
|
|
f4a936b5
|
2011-05-11T00:35:05
|
|
Bring back `git_strerror`
We cannot totally deprecate this until the new error handling mechanisms
are all in place.
|
|
86b74ea0
|
2011-05-10T14:26:16
|
|
Merge pull request #180 from kellypleahy/bug/fix_issue_79
Fix issue #79 - git_lasterror() isn't appearing in git2.dll in windows.
|
|
97ce36e7
|
2011-05-10T14:23:01
|
|
Merge pull request #181 from carlosmn/errors
Move signature.c and tag.c to the new error handling
|
|
44dc0d26
|
2011-05-10T18:56:44
|
|
Move tag.c to the new error handling
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
5de24ec7
|
2011-05-10T17:38:41
|
|
Move signature.c to the new error handling
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
ab86f159
|
2011-05-09T23:39:32
|
|
Fix issue #79 - git_lasterror() isn't appearing in git2.dll in windows.
The GIT_EXPORT macro is used to declare a function to be externally
accessible to other libraries. This commit uses GIT_EXPORT to declare
the git_lasterror() function as externally exported. I verified with
depends.exe that the function is available to external callers (i.e.
in the exports table of the PE file).
|
|
5711ca93
|
2011-05-09T21:58:26
|
|
Merge branch 'error-handling' into development
|
|
fa59f18d
|
2011-05-09T20:54:04
|
|
Change error handling mechanism once again
Ok, this is the real deal. Hopefully. Here's how it's going to work:
- One main method, called `git__throw`, that sets the error
code and error message when an error happens.
This method must be called in every single place where an error
code was being returned previously, setting an error message
instead.
Example, instead of:
return GIT_EOBJCORRUPTED;
Use:
return git__throw(GIT_EOBJCORRUPTED,
"The object is missing a finalizing line feed");
And instead of:
[...] {
error = GIT_EOBJCORRUPTED;
goto cleanup;
}
Use:
[...] {
error = git__throw(GIT_EOBJCORRUPTED, "What an error!");
goto cleanup;
}
The **only** exception to this are the allocation methods, which
return NULL on failure but already set the message manually.
/* only place where an error code can be returned directly,
because the error message has already been set by the wrapper */
if (foo == NULL)
return GIT_ENOMEM;
- One secondary method, called `git__rethrow`, which can be used to
fine-grain an error message and build an error stack.
Example, instead of:
if ((error = foobar(baz)) < GIT_SUCCESS)
return error;
You can now do:
if ((error = foobar(baz)) < GIT_SUCCESS)
return git__rethrow(error, "Failed to do a major operation");
The return of the `git_lasterror` method will be a string in the
shape of:
"Failed to do a major operation. (Failed to do an internal
operation)"
E.g.
"Failed to open the index. (Not enough permissions to access
'/path/to/index')."
NOTE: do not abuse this method. Try to write all `git__throw`
messages in a descriptive manner, to avoid having to rethrow them to
clarify their meaning.
This method should only be used in the places where the original
error message set by a subroutine is not specific enough.
It is encouraged to continue using this style as much possible to
enforce error propagation:
if ((error = foobar(baz)) < GIT_SUCCESS)
return error; /* `foobar` has set an error message, and
we are just propagating it */
The error handling revamp will take place in two phases:
- Phase 1: Replace all pieces of code that return direct error codes
with calls to `git__throw`. This can be done semi-automatically
using `ack` to locate all the error codes that must be replaced.
- Phase 2: Add some `git__rethrow` calls in those cases where the
original error messages are not specific enough.
Phase 1 is the main goal. A minor libgit2 release will be shipped once
Phase 1 is ready, and the work will start on gradually improving the
error handling mechanism by refining specific error messages.
OTHER NOTES:
- When writing error messages, please refrain from using weasel
words. They add verbosity to the message without giving any real
information. (<3 Emeric)
E.g.
"The reference file appears to be missing a carriage return"
Nope.
"The reference file is missing a carriage return"
Yes.
- When calling `git__throw`, please try to use more generic error
codes so we can eventually reduce the list of error codes to
something more reasonable. Feel free to add new, more generic error
codes if these are going to replace several of the old ones.
E.g.
return GIT_EREFCORRUPTED;
Can be turned into:
return git__throw(GIT_EOBJCORRUPTED,
"The reference is corrupted");
|
|
5eb0fab8
|
2011-05-05T01:49:27
|
|
errors: Update external API with new `git_lasterror`
|
|
3f53c971
|
2011-05-05T01:20:27
|
|
errors: Set error messages on memory allocation
|
|
02f9e637
|
2011-05-05T01:12:17
|
|
errors: Add error handling function
|
|
cd2cc2dc
|
2011-05-08T14:00:57
|
|
Merge pull request #170 from jasonrm/development
Fix misspelling of git_index_append2 (was git_index_apppend2).
|
|
c912229e
|
2011-05-08T14:00:06
|
|
Merge pull request #172 from carlosmn/valgrind
ref test: update a forgotten repo -> repo2
|
|
5f94b77c
|
2011-05-08T13:59:47
|
|
Merge pull request #174 from carlosmn/backend-static
odb backend_sort_cmp should be static
|
|
f26f2b80
|
2011-05-08T13:56:09
|
|
Merge pull request #177 from kellypleahy/topic/fix-delete-mutex
Fix bug in the way pthead_mutex_t was being destroyed in win32.
|
|
cd7ad3c6
|
2011-05-08T12:39:21
|
|
Merge pull request #176 from kellypleahy/topic/force-line-endings
Add git attributes settings for *.c and *.h to force line endings to LF.
|
|
16a5c304
|
2011-05-08T12:32:35
|
|
Fix bug in the way pthead_mutex_t was being destroyed in win32.
Win32 critical section objects (CRITICAL_SECTION) are not kernel objects.
Only kernel objects are destroyed by using CloseHandle. Critical sections
are supposed to be deleted with the DeleteCriticalSection API
(http://msdn.microsoft.com/en-us/library/ms682552(VS.85).aspx).
|
|
560cd27e
|
2011-05-08T12:30:16
|
|
Add git attributes settings for *.c and *.h to force line endings to LF.
|
|
cfba1377
|
2011-05-06T09:09:50
|
|
Merge pull request #175 from carlosmn/analyzer
Fix two warnings from Clang.
Fixes issue #173
|
|
d8e1d038
|
2011-05-06T12:47:21
|
|
Fix two warnings from Clang
Both are about not reading the value stored in a variable.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
39e1032c
|
2011-05-06T12:43:37
|
|
odb backend_sort_cmp should be static
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
bbd68c67
|
2011-05-05T11:38:23
|
|
ref test: update a forgotten repo -> repo2
Commit 34e5d87e0512f2a3dfd6 left one of these unchanged we're trying
to read from a free'd repository.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
773bc20d
|
2011-05-03T22:22:42
|
|
Fix misspelling of git_index_append2 (was git_index_apppend2).
|
|
cc3b82e3
|
2011-05-02T15:29:50
|
|
Merge pull request #151 from carlosmn/root-commit.
Support root commits
|
|
fde97669
|
2011-05-02T15:26:16
|
|
Merge pull request #146 from nordsturm/fix_subtrees.
Fix tree-entry attribute convertion (fix corrupted trees)
|
|
1648fbd3
|
2011-05-02T01:12:53
|
|
Re-apply missing patches
|
|
d4ad0771
|
2011-05-01T14:59:50
|
|
Merge pull request #145 from schu/fix-unused-warnings.
Fix -Wunused-but-set-variable warnings
|
|
273c8bc0
|
2011-05-01T14:59:11
|
|
Merge pull request #147 from nordsturm/fix_pack_backend_leak.
Fix memory leak in pack_backend__free
|
|
7fba6a79
|
2011-05-01T12:43:30
|
|
Merge pull request #168 from nulltoken/isolate_refs_tests.
Isolate "writing" refs tests in a temporary folder
|
|
34e5d87e
|
2011-05-01T21:35:32
|
|
Change implementation of refs tests that alter the current repository to make them run against a temporary clone of the test repository
|
|
c7b79af3
|
2011-05-01T21:31:58
|
|
pack-odb: Check `mtime` instead of folder size
Do not check the folder's size to detect new packfiles at runtime. This
doesn't work on Win32.
|
|
79b61557
|
2011-04-28T18:30:50
|
|
Add root commit test
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
8381238e
|
2011-04-27T14:59:59
|
|
commit: support a root commits
A root commit is a commit whose branch (usually what HEAD points to)
doesn't exist (yet). This situation can happen when the commit is the
first after 1) a repository is initialized or 2) a orphan checkout has
been performed.
Take this opportunity to remove the symbolic link check, as
git_reference_resolve works on OID refs as well.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
68a146c1
|
2011-04-29T11:45:42
|
|
refs: don't loose info on resolve error
Typical use is git_reference_resolve(&ref, ref). Currently, if there is
an error, ref will point to NULL, causing the user to lose that
reference.
Always update resolved_ref instead of just on finding an OID ref,
storing the last valid reference in it.
This change helps simplify the code for allowing root commits.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
ed6c462c
|
2011-04-27T17:30:45
|
|
Fix memory leak in pack_backend__free
|
|
555ce568
|
2011-04-26T13:22:45
|
|
Fix tree-entry attribute convertion (fix corrupted trees)
Magic constant replaced by direct to-string covertion because of:
1) with value length 6 (040000 - subtree) final tree will be corrupted;
2) for wrong values length <6 final tree will be corrupted too.
|
|
402a47a7
|
2011-04-26T11:29:05
|
|
Fix -Wunused-but-set-variable warnings
As of gcc 4.6 -Wall includes -Wunused-but-set-variable. Use GIT_UNUSED
or remove actually unused variables to prevent those warnings.
|
|
7c37aa3a
|
2011-04-23T14:39:04
|
|
Merged pull request #115 from jpfender/index-flags.
index.h: Add IDXENTRY flags needed for index operations
|
|
5a74d160
|
2011-04-23T14:37:56
|
|
Merged pull request #135 from carlosmn/valgrind.
Fix memory leaks in the tests
|
|
7df49e9e
|
2011-04-23T14:36:01
|
|
Merged pull request #139 from jpfender/merge-head-file.
refs: Allow MERGE_HEAD in normalize_name()
|
|
f7a5058a
|
2011-04-24T00:31:43
|
|
index: Refactor add/replace methods
Removed the optional `replace` argument, we now have 4 add methods:
`git_index_add`: add or update from path
`git_index_add2`: add or update from struct
`git_index_append`: add without replacing from path
`git_index_append2`: add without replacing from struct
Yes, this breaks the bindings.
|
|
f16c0a9d
|
2011-04-23T14:08:17
|
|
Merged pull request #140 from jpfender/insert-replace.
index: Allow user to toggle whether to replace an index entry
|
|
5ba7c4cb
|
2011-04-23T14:01:01
|
|
Merged pull request #143 from nordsturm/fix_loop.
Fix going into infinite loop in read_header_loose()
|
|
1d008781
|
2011-04-23T23:59:38
|
|
Fix conversion warning in MSVC
|
|
a3ced637
|
2011-04-22T17:36:28
|
|
Fix going into infinite loop in read_header_loose()
read_header_loose causes infinite loop on this file:
$ cat ../libcppgit/bin/sample-repo/test_mailbox/.git/objects/8f/e274605cbc740a2a957f44b2722a8a73915a09 | base64
eAErKUpNVTAzYzA0MDAzMVHISUxKzSlmWLgkuyN5+rxr6juMPR2EmN8s7Vl9D6oiN7UkkcHJdLbl
7Z3N/oxfE0W8wrSbuFRkAwDFfBn1
|
|
6b290755
|
2011-04-21T15:22:37
|
|
Merged pull request #138 from trentm/development.
fix solaris build
---
Before this patch the build failure looked like:
...
../../deps/zlib/inffast.c: In function `inflate_fast':
../../deps/zlib/inffast.c:324: warning: visibility attribute not supported in this configuration; ignored
[34/38] c: src/revwalk.c -> build/shared/src/revwalk.c.0.o
../../deps/zlib/inftrees.c: In function `inflate_table':
../../deps/zlib/inftrees.c:330: warning: visibility attribute not supported in this configuration; ignored
[35/38] c: deps/zlib/zutil.c -> build/shared/deps/zlib/zutil.c.0.o
[36/38] c: deps/zlib/trees.c -> build/shared/deps/zlib/trees.c.0.o
../../deps/zlib/zutil.c: In function `zcalloc':
../../deps/zlib/zutil.c:308: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/zutil.c: In function `zcfree':
../../deps/zlib/zutil.c:316: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c:1244: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c:1244: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c: In function `_tr_init':
../../deps/zlib/trees.c:410: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c: In function `_tr_align':
../../deps/zlib/trees.c:919: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c: In function `_tr_stored_block':
../../deps/zlib/trees.c:883: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c: In function `_tr_flush_block':
../../deps/zlib/trees.c:1020: warning: visibility attribute not supported in this configuration; ignored
../../deps/zlib/trees.c: In function `_tr_tally':
../../deps/zlib/trees.c:1071: warning: visibility attribute not supported in this configuration; ignored
[37/38] cshlib: build/shared/src/blob.c.0.o build/shared/src/cache.c.0.o build/shared/src/commit.c.0.o build/shared/src/delta-apply.c.0.o build/shared/src/errors.c.0.o build/shared/src/filebuf.c.0.o build/shared/src/fileops.c.0.o build/shared/src/hash.c.0.o build/shared/src/hashtable.c.0.o build/shared/src/index.c.0.o build/shared/src/object.c.0.o build/shared/src/odb.c.0.o build/shared/src/odb_loose.c.0.o build/shared/src/odb_pack.c.0.o build/shared/src/oid.c.0.o build/shared/src/pqueue.c.0.o build/shared/src/refs.c.0.o build/shared/src/repository.c.0.o build/shared/src/revwalk.c.0.o build/shared/src/signature.c.0.o build/shared/src/tag.c.0.o build/shared/src/thread-utils.c.0.o build/shared/src/tree.c.0.o build/shared/src/util.c.0.o build/shared/src/vector.c.0.o build/shared/src/unix/map.c.0.o build/shared/src/backends/hiredis.c.0.o build/shared/src/backends/sqlite.c.0.o build/shared/deps/zlib/adler32.c.0.o build/shared/deps/zlib/deflate.c.0.o build/shared/deps/zlib/inffast.c.0.o build/shared/deps/zlib/inflate.c.0.o build/shared/deps/zlib/inftrees.c.0.o build/shared/deps/zlib/trees.c.0.o build/shared/deps/zlib/zutil.c.0.o build/shared/src/block-sha1/sha1.c.0.o -> build/shared/libgit2.so
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol zcfree: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol zcalloc: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _length_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _dist_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _length_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _dist_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _dist_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _length_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _dist_code: a GOT relative relocation must reference a local symbol
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol _dist_code: a GOT relative relocation must reference a local symbol
collect2: ld returned 1 exit status
Waf: Leaving directory `/home/node/src/libgit2/build/shared'
Build failed
-> task failed (exit status 1):
{task 138650764: cshlib blob.c.0.o,cache.c.0.o,commit.c.0.o,delta-apply.c.0.o,errors.c.0.o,filebuf.c.0.o,fileops.c.0.o,hash.c.0.o,hashtable.c.0.o,index.c.0.o,object.c.0.o,odb.c.0.o,odb_loose.c.0.o,odb_pack.c.0.o,oid.c.0.o,pqueue.c.0.o,refs.c.0.o,repository.c.0.o,revwalk.c.0.o,signature.c.0.o,tag.c.0.o,thread-utils.c.0.o,tree.c.0.o,util.c.0.o,vector.c.0.o,map.c.0.o,hiredis.c.0.o,sqlite.c.0.o,adler32.c.0.o,deflate.c.0.o,inffast.c.0.o,inflate.c.0.o,inftrees.c.0.o,trees.c.0.o,zutil.c.0.o,sha1.c.0.o -> libgit2.so}
['/home/node/local/bin/gcc', '', 'src/blob.c.0.o', 'src/cache.c.0.o', 'src/commit.c.0.o', 'src/delta-apply.c.0.o', 'src/errors.c.0.o', 'src/filebuf.c.0.o', 'src/fileops.c.0.o', 'src/hash.c.0.o', 'src/hashtable.c.0.o', 'src/index.c.0.o', 'src/object.c.0.o', 'src/odb.c.0.o', 'src/odb_loose.c.0.o', 'src/odb_pack.c.0.o', 'src/oid.c.0.o', 'src/pqueue.c.0.o', 'src/refs.c.0.o', 'src/repository.c.0.o', 'src/revwalk.c.0.o', 'src/signature.c.0.o', 'src/tag.c.0.o', 'src/thread-utils.c.0.o', 'src/tree.c.0.o', 'src/util.c.0.o', 'src/vector.c.0.o', 'src/unix/map.c.0.o', 'src/backends/hiredis.c.0.o', 'src/backends/sqlite.c.0.o', 'deps/zlib/adler32.c.0.o', 'deps/zlib/deflate.c.0.o', 'deps/zlib/inffast.c.0.o', 'deps/zlib/inflate.c.0.o', 'deps/zlib/inftrees.c.0.o', 'deps/zlib/trees.c.0.o', 'deps/zlib/zutil.c.0.o', 'src/block-sha1/sha1.c.0.o', '-o', '', '/home/node/src/libgit2/build/shared/libgit2.so', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-shared', '-Wl,-h,libgit2.so.0']
...
If helpful, here is the equivalent error with varnish: http://www.varnish-cache.org/trac/ticket/852
and the autoconf/configure handling for the equivalent in python: http://hg.python.org/cpython/file/96e0e79d33de/Modules/zlib/configure#l513
So a better fix would probably be to reproduce that configure logic (see similar in the Varnish patch) ... but I'm not sure if shelling out to the C compiler (however waf spells that) is wanted in wscript here.
It would be great to have a libgit2 release with the quicker fix for Solaris. My actual issue is with building node-gitteh.
Thanks,
Trent
|
|
027eab91
|
2011-04-21T15:20:46
|
|
Merged pull request #142 from potyl/development.
LIBGIT2_VER_MINOR now matches LIBGIT2_VERSION (0.11.0)
---
LIBGIT2_VER_MINOR was left at 10 instead of 11.
|
|
5adb48e4
|
2011-04-21T21:21:44
|
|
LIBGIT2_VER_MINOR now matches LIBGIT2_VERSION (0.11.0)
LIBGIT2_VER_MINOR was left at 10 instead of 11.
|
|
729b6f49
|
2011-04-21T10:40:54
|
|
index: Allow user to toggle whether to replace an index entry
When in the middle of a merge, the index needs to contain several files
with the same name. git_index_insert() used to prevent this by not adding a new entry if an entry with the same name already existed.
|
|
df30eac1
|
2011-04-21T10:38:37
|
|
refs: Allow MERGE_HEAD in normalize_name()
Do not return with EINVALIDREFNAME when trying to normalize MERGE_HEAD's
name.
|
|
34a29926
|
2011-04-20T22:25:30
|
|
fix solaris build
Before this patch the build failure looked like:
...
../../deps/zlib/inftrees.c:330: warning: visibility attribute not supported in this configuration; ignored
...
ld: fatal: relocation error: R_386_GOTOFF: file deps/zlib/deflate.c.0.o: symbol zcfree: a GOT relative relocation must reference a local symbol
...
|
|
fee4c425
|
2011-04-16T01:58:43
|
|
Force position independent code in Linux
|
|
2571cc3c
|
2011-04-15T20:32:31
|
|
Close file descriptor when writing a blob
|
|
90d743cd
|
2011-04-15T15:12:37
|
|
Refresh the list of packfiles on each ODB query
Fixes the issue where object lookups were failing right after a pull on
an open repository.
|
|
1bfa053e
|
2011-04-13T21:57:35
|
|
Close an object in packed_find_peel
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
7c1c15a7
|
2011-04-13T21:55:43
|
|
tests: free the test suite name
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
2fe3692c
|
2011-04-13T17:44:08
|
|
tests: don't leak objects
If we don't create any leaks in the tests, we can use them to search
for leaks in the implementation.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
def3fef1
|
2011-04-12T15:52:34
|
|
Add `git_tag_list`
Lists all the tag references in a repository using a custom callback.
Includes unit tests courtesy of Emeric Fermas <3
|
|
1eb0f68e
|
2011-04-11T12:38:50
|
|
merge branch development
|
|
fdd0cc9e
|
2011-04-10T15:25:41
|
|
Fix path normalization tests
They were backtracking too deep into the filesystem on Linux, where the
tests were running directly on `tmp/`.
|
|
a6359408
|
2011-04-10T12:23:55
|
|
Use Z_BEST_SPEED for filebuf deflating
This is what Git uses by default for all deflating.
|
|
fff036ec
|
2011-04-09T17:45:38
|
|
Import 'with' from __future__ in the build script
|
|
53b7560b
|
2011-04-09T16:16:09
|
|
Fix `time_t` conversion on Win32
|
|
14eb94ee
|
2011-04-09T16:06:17
|
|
Fix `gmtime` issues in Win32
|
|
8416c9ad
|
2011-04-09T15:31:12
|
|
Rename `git_signature_new_now`
The new name is more cool.
|
|
9e9e6ae1
|
2011-04-05T16:15:54
|
|
Add API git_signature_new_now
Most tags will have a timestamp of whenever the code is running and
dealing with time and timezones is error-prone. Optimize for this case
by adding a function which causes the signature to be created with a
current timestamp.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
b5c00c6d
|
2011-04-07T13:27:34
|
|
Fix the signature documentation
The parameters are given by '@param name' and not '@name'.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
076141a1
|
2011-04-07T14:38:03
|
|
Add a few malloc checks
Add checks to see if malloc failed when allocating the tag members and
signature members.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
4a34b3a9
|
2011-04-09T15:49:44
|
|
Add two new accessors to the repository
git_repository_path() and git_repository_workdir() respectively return the path to the git repository and the working directory. Those paths are absolute and normalized.
|
|
c6e65aca
|
2011-04-09T15:22:11
|
|
Properly check `strtol` for errors
We are now using a custom `strtol` implementation to make sure we're not
missing any overflow errors.
|
|
b918ae40
|
2011-04-08T15:35:25
|
|
Do not declare variables in the middle of a func
|
|
41233c40
|
2011-04-08T12:42:18
|
|
Add new method `git_repository_is_empty`
|
|
cef75d74
|
2011-04-08T12:41:17
|
|
Remove unused variables from test files
|
|
d79f1da6
|
2011-04-08T12:14:33
|
|
refs: Fix issue when packing weak tags
Weak tags (e.g. tags that point directly to a normal object instead of a
tag object) were failing to be packed.
|
|
6ac247b3
|
2011-04-06T11:59:40
|
|
tag: don't check twice if an object exists
Remove the check in git_tag_create_frombuffer as it's done by
tag_create already.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
7bc66a79
|
2011-04-06T10:58:14
|
|
tag: don't allow tags to non-existent objects
These indicate an inconsistency in the repository which we've created,
so don't allow them.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
81234673
|
2011-04-05T16:53:32
|
|
tag: discover the target type if needed
Don't blindly pass the target type to git_tag_type2string as it will
give an empty string on GIT_OBJ_ANY which would cause us to create an
invalid tag object.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
26f2c897
|
2011-04-04T16:20:09
|
|
index.h: Add IDXENTRY flags needed for index operations
Add several IDXENTRY flags that need to be checked in
order to properly implement update-index --refresh.
|
|
5924b282
|
2011-04-06T10:48:31
|
|
Added git_commit_tree_oid and git_commit_parent_oid.
|
|
98ac6780
|
2011-04-06T02:22:24
|
|
fix git_treebuilder_insert probrem.
couldn't add new entry when inserting new one with `git_treebuilder_insert`.
|
|
5868cd02
|
2011-04-08T03:28:38
|
|
Do not assert error codes on Hiredis backend
We cannot assume that Redis is never going to return an error code; when
Reddit fails, we cannot crash our library, we need to handle the crash
gracefully.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
|
|
8a64bc29
|
2011-04-03T21:43:51
|
|
redis backend
|
|
fd279b26
|
2011-04-07T16:58:42
|
|
index.c: Correctly check whether index contains extended entries
Although write_index() supports writing extended header versions for
index, this was never done as there was no check for extended index
entries.
Introduce function is_index_extended() that checks whether an index
contains extended entries and check whether an index is extended before
writing it to disk, adjusting its version number if necessary.
|
|
a5a546b3
|
2011-04-07T16:53:50
|
|
index.h: Correct values for extended flags
As libgit2 separates an index entry's 32-bit flag into two 16-bit values
flags and flags_extended, the values of flags_extended need to be
adjusted.
|
|
59f8f24f
|
2011-04-05T10:57:41
|
|
Merge branch 'development' into index-flags
|
|
0ad6efa1
|
2011-04-04T19:24:19
|
|
Build & write custom trees in memory
|
|
7c7fcdae
|
2011-04-04T16:20:09
|
|
index.h: Add IDXENTRY flags needed for index operations
Add several IDXENTRY flags that need to be checked in
order to properly implement update-index --refresh.
|
|
b153589b
|
2011-04-03T18:31:45
|
|
Make reinitializing a repository return GIT_ENOTIMPLEMENTED instead of GIT_SUCCESS
|
|
f3564e1e
|
2011-04-03T13:50:09
|
|
Fix tag reference name in testrepo.git
The git test repository was holding a wrongly named tag reference ("very-simple") pointing at a tag named "e90810b".
This mistake (mine :-/ ) originates back to https://github.com/libgit2/libgit2/commit/9282e92
Whole credit goes to @tclem for having spotted this.
|
|
d69d0185
|
2011-04-04T13:05:20
|
|
Add a fake wstream to the ODB
Streaming writes will no longer fail when writing to a backend that
doesn't support streaming writes but supports direct ones.
Now we create a fake stream on memory and then write it as a single
block using the backend `write` callback.
|
|
29e1789b
|
2011-04-04T12:14:03
|
|
Fix the git_tree_write implementation
|
|
47d8ec56
|
2011-04-03T17:18:56
|
|
New external API method: `git_tree_create`
Creates a tree by scanning the index file. The method handles recursive
creation of trees for subdirectories and adds them to the parent tree.
|
|
3e3e4631
|
2011-04-02T12:49:14
|
|
Merge branch 'tagging' of https://github.com/nulltoken/libgit2 into development
Conflicts:
include/git2/tag.h
src/tag.c
|
|
720d5472
|
2011-04-02T12:42:04
|
|
Change `parse` methods to const buffer
Signed-off-by: Vicent Marti <tanoku@gmail.com>
|
|
d8ad64d3
|
2011-04-02T12:28:35
|
|
Merge branch 'parse-tag-buffer' of https://github.com/carlosmn/libgit2 into development
|
|
ccfce5f3
|
2011-03-30T19:47:12
|
|
Update README after sqlite option change
To build libgit2 with sqlite support, waf configure should be run
with --with-sqlite
|
|
ba84cad3
|
2011-03-31T15:02:23
|
|
wscript: Use -O0 on debug
If we want debugging symbols, we most likely want them to point to the
right place. With -O2, gdb or valgrind may give wrong information.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
ac26e245
|
2011-03-30T23:46:54
|
|
Rename git_tag_create_o_f() to git_tag_create_fo()
|
|
9e680bcc
|
2011-03-30T23:26:36
|
|
Add git_tag_delete()
|