|
49ac5ac8
|
2012-05-06T13:17:25
|
|
transport git: don't use 'error' uninitialized
|
|
3972ca43
|
2012-05-05T22:14:02
|
|
compat: Add `stdarg.h` include
|
|
cd58c15c
|
2012-05-05T16:47:20
|
|
Merge remote-tracking branch 'scottjg/fix-mingw32' into development
Conflicts:
src/netops.c
src/netops.h
src/transports/http.c
tests-clar/clar
|
|
48ecd122
|
2012-05-05T14:22:53
|
|
Merge pull request #659 from libgit2/development-merge
New-error-handling
|
|
4ef14af9
|
2012-05-05T14:22:06
|
|
Merge pull request #664 from arrbee/attrs-from-index
Support git attrs from index (and bare repo)
|
|
f95e8cc0
|
2012-05-05T14:18:10
|
|
notes: Cleanup error handling
|
|
d3a60dc2
|
2012-05-05T14:14:58
|
|
Merge pull request #663 from schu/notes-honor-config
Honor core.notesRef config option
|
|
35cdd261
|
2012-05-05T13:54:33
|
|
Fix unsigned/signed comparison on Windows in commitstagedfile.c
|
|
b47e0a71
|
2012-05-05T13:52:48
|
|
Fix missing prototype warning in utf-conv.c
|
|
b4b96d56
|
2012-05-05T13:30:33
|
|
Fix gitno_connect() error handling on Windows
gitno_connect() can return an error or socket, which is fine on most
platforms where sockets are file descriptors (signed int), but on Windows,
SOCKET is an unsigned type, which is problematic when we are trying to
test if the socket was actually a negative error code.
This fix seperates the error code and socket in gitno_connect(), and fixes
the error handling in do_connect() functions to compensate. It appears
that git_connect() and the git-transport do_connect() functions had bugs
in the non-windows cases too (leaking sockets, and not properly reporting
connection error, respectively) so I went ahead and fixed those too.
|
|
06ac3e7f
|
2012-05-05T13:16:48
|
|
Fix clar generated code to compile on MINGW32
MINGW32 does not define _mktemp_s, so we can just use _mktemp instead. See
the non-compressed/non-base64-encoded version of the patch here:
http://gist.github.com/2605249
|
|
282283ac
|
2012-05-04T16:46:46
|
|
Fix valgrind issues
There are three changes here:
- correctly propogate error code from failed object lookups
- make zlib inflate use our allocators
- add OID to notfound error in ODB lookups
|
|
674a1985
|
2012-05-04T16:05:14
|
|
clar: Properly create files in helper
|
|
3ec1fa5e
|
2012-05-04T13:55:07
|
|
Fixing issue with test data
|
|
1adf8c6a
|
2012-05-04T13:52:38
|
|
compat: va_copy on Win32 systems
|
|
b709e951
|
2012-05-04T11:06:12
|
|
Fix memory leaks and use after free
|
|
f917481e
|
2012-05-03T16:37:25
|
|
Support reading attributes from index
Depending on the operation, we need to consider gitattributes
in both the work dir and the index. This adds a parameter to
all of the gitattributes related functions that allows user
control of attribute reading behavior (i.e. prefer workdir,
prefer index, only use index).
This fix also covers allowing us to check attributes (and
hence do diff and status) on bare repositories.
This was a somewhat larger change that I hoped because it had
to change the cache key used for gitattributes files.
|
|
630c5a4a
|
2012-04-30T14:29:34
|
|
notes: add git_note_default_ref()
Add git_note_default_ref to allow easy retrieval of the currently set
default notes reference.
|
|
caea5e54
|
2012-04-29T18:42:42
|
|
notes: honor core.notesRef
Setting core.notesRef allows to change the default notes reference used
by Git. Check if set before using GIT_NOTES_DEFAULT_REF. Fixes #649.
|
|
76873c09
|
2012-05-03T13:30:14
|
|
Silence return value warning
|
|
22772166
|
2012-05-03T00:04:04
|
|
errors: Use a git_buf for building error strings
|
|
baaf1c47
|
2012-05-02T23:44:22
|
|
buffer: Add `git_buf_vprintf`
|
|
3fbcac89
|
2012-05-02T19:56:38
|
|
Remove old and unused error codes
|
|
b02bcd97
|
2012-05-02T16:57:16
|
|
Boom
|
|
17f1c9fb
|
2012-05-02T16:44:47
|
|
chmod for writability when writing test files
|
|
a1d08025
|
2012-05-02T16:33:26
|
|
Backport more test data
|
|
8c83fead
|
2012-05-02T16:18:55
|
|
Move test resources
|
|
946a6dc4
|
2012-05-02T16:14:30
|
|
Update test suite
|
|
40879fac
|
2012-05-02T15:59:02
|
|
Merge branch 'new-error-handling' into development
Conflicts:
.travis.yml
include/git2/diff.h
src/config_file.c
src/diff.c
src/diff_output.c
src/mwindow.c
src/path.c
tests-clar/clar_helpers.c
tests-clar/object/tree/frompath.c
tests/t00-core.c
tests/t03-objwrite.c
tests/t08-tag.c
tests/t10-refs.c
tests/t12-repo.c
tests/t18-status.c
tests/test_helpers.c
tests/test_main.c
|
|
3fd99be9
|
2012-03-05T09:30:17
|
|
Convert from strnlen to git_text_is_binary
Since strnlen is not supported on all platforms and since we
now have the shiny new git_text_is_binary in the filtering
code, let's convert diff binary detection to use the new stuff.
|
|
8b2bcfbe
|
2012-03-05T09:14:56
|
|
Copy values to avoid strict aliasing warning
To make this code more resilient to future changes, we'll
explicitly translate the libgit2 structure to the libxdiff
structure.
|
|
16b83019
|
2012-03-04T23:28:36
|
|
Fix usage of "new" for fieldname in public header
This should restore the ability to include libgit2 headers
in C++ projects.
Cherry picked 2de60205dfea2c4a422b2108a5e8605f97c2e895 from
development into new-error-handling.
|
|
b8802146
|
2012-05-01T19:16:14
|
|
Merge remote-tracking branch 'carlosmn/remaining-errors' into new-error-handling
Conflicts:
src/refspec.c
|
|
5587a9c9
|
2012-05-01T17:55:22
|
|
Merge pull request #658 from schu/remote-disconnect
remote: don't free transport on disconnect
|
|
42ea35c0
|
2012-05-01T22:25:43
|
|
remote: don't free transport on disconnect
Currently, git_remote_disconnect not only closes the connection but also
frees the underlying transport object, making it impossible to write
code like
// fetch stuff
git_remote_download()
// close connection
git_remote_disconnect()
// call user provided callback for each ref
git_remote_update_tips(remote, callback)
because remote->refs points to references owned by the transport object.
This means, we have an idling connection while running the callback for
each reference.
Instead, allow immediate disconnect and free the transport later in
git_remote_free().
|
|
52877c89
|
2012-05-01T14:28:18
|
|
tests-clar/diff: mark output_len unused
|
|
960d7786
|
2012-04-30T15:57:20
|
|
Merge pull request #655 from nulltoken/topic/cr-normalization-test
crlf normalization test coverage
|
|
4e7a3c76
|
2012-05-01T00:33:25
|
|
attr: add test coverage related to crlf normalization while staging
|
|
ced9da54
|
2012-04-30T14:38:15
|
|
Merge pull request #654 from carlosmn/pkt-err
Recognize and report server-side error messages
|
|
0dc8e95e
|
2012-04-30T13:32:09
|
|
Merge pull request #652 from nulltoken/topic/diff-callbacks
diff: provide more context to the consumer of the callbacks
|
|
39e6af6a
|
2012-04-30T17:44:37
|
|
net: recognize and report server-side error messages
When e.g. a repository isn't found, the server sends an error saying
so. Put that error message in our error buffer.
|
|
2de0652b
|
2012-04-30T07:41:33
|
|
Leverage GIT_UNUSED macro to explicitly mark a function parameter as purposely unused
|
|
fa6420f7
|
2012-04-29T21:46:33
|
|
buf: deploy git_buf_len()
|
|
1d2dd864
|
2012-04-29T19:42:51
|
|
diff: provide more context to the consumer of the callbacks
Update the callback to provide some information related to the file change being processed and the range of the hunk, when applicable.
|
|
da3c187d
|
2012-04-29T19:08:48
|
|
buf: add git_buf_len() accessor to expose the current length of the buffer content
|
|
8b9ec201
|
2012-04-29T01:38:36
|
|
Add a travis config file
Teach travis how to build the project.
|
|
fdc0c5f6
|
2012-04-29T01:20:02
|
|
pkt: bring back GIT_ESHORTBUFFER
The recent 64-bit Windows fixes changed the return code in
git_pkt_parse_line() so it wouldn't signal a short buffer, breaking
the network code. Bring it back.
|
|
8af503bc
|
2012-04-28T20:49:05
|
|
remote: add more doc on git_remote_free
|
|
9738e2cd
|
2012-04-27T18:04:58
|
|
refs: fix unused-but-set warning
|
|
821f6bc7
|
2012-04-26T13:04:54
|
|
Fix Win32 warnings
|
|
631ba94e
|
2012-04-26T12:08:43
|
|
Merge pull request #646 from arrbee/ignore-pat-leading-slash
Ignore pat leading slash
|
|
d58336dd
|
2012-04-26T10:51:45
|
|
Fix leading slash behavior in attrs/ignores
We were not following the git behavior for leading slashes
in path names when matching git ignores and git attribute
file patterns. This should fix issue #638.
|
|
3aa351ea
|
2012-04-26T15:05:07
|
|
error handling: move the missing parts over to the new error handling
|
|
eb3d71a5
|
2012-04-25T22:23:35
|
|
diff: fix generation of the header of a removal patch
|
|
3fc5c65d
|
2012-04-25T15:24:05
|
|
Merge pull request #642 from arrbee/mem-pools
Memory pools and khash hashtables
|
|
c2b67043
|
2012-04-25T15:20:28
|
|
Rename git_khash_str to git_strmap, etc.
This renamed `git_khash_str` to `git_strmap`, `git_hash_oid` to
`git_oidmap`, and deletes `git_hashtable` from the tree, plus
adds unit tests for `git_strmap`.
|
|
f50087c0
|
2012-04-25T14:29:45
|
|
Merge pull request #641 from carlosmn/networking
More Networking updates
|
|
19dd4e28
|
2012-04-25T20:42:33
|
|
Include the new config test file
|
|
01fed0a8
|
2012-04-25T10:36:01
|
|
Convert hashtable usage over to khash
This updates khash.h with some extra features (like error checking
on allocations, ability to use wrapped malloc, foreach calls, etc),
creates two high-level wrappers around khash: `git_khash_str` and
`git_khash_oid` for string-to-void-ptr and oid-to-void-ptr tables,
then converts all of the old usage of `git_hashtable` over to use
these new hashtables.
For `git_khash_str`, I've tried to create a set of macros that
yield an API not too unlike the old `git_hashtable` API. Since
the oid hashtable is only used in one file, I haven't bother to
set up all those macros and just use the khash APIs directly for
now.
|
|
ada488bf
|
2012-04-24T11:02:40
|
|
Import khash.h from attractivechaos/klib
|
|
c16c8b9a
|
2012-04-23T09:23:58
|
|
Adding stash to hashtable implementation
Adding a small stash of nodes with key conflicts has been
demonstrated to greatly increase the efficiency of a cuckoo
hashtable. See:
http://research.microsoft.com/pubs/73856/stash-full.9-30.pdf
for more details.
|
|
25f258e7
|
2012-04-23T09:21:15
|
|
Moving power-of-two bit utilities into util.h
|
|
da3b391c
|
2012-04-18T10:57:08
|
|
Convert revwalk to use git_pool
This removes the custom paged allocator from revwalk and
replaces it with a `git_pool`.
|
|
19fa2bc1
|
2012-04-17T15:12:50
|
|
Convert attrs and diffs to use string pools
This converts the git attr related code (including ignores) and
the git diff related code (and implicitly the status code) to use
`git_pools` for storing strings. This reduces the number of small
blocks allocated dramatically.
|
|
2bc8fa02
|
2012-04-17T10:14:24
|
|
Implement git_pool paged memory allocator
This adds a `git_pool` object that can do simple paged memory
allocation with free for the entire pool at once. Using this,
you can replace many small allocations with large blocks that
can then cheaply be doled out in small pieces. This is best
used when you plan to free the small blocks all at once - for
example, if they represent the parsed state from a file or data
stream that are either all kept or all discarded.
There are two real patterns of usage for `git_pools`: either
for "string" allocation, where the item size is a single byte
and you end up just packing the allocations in together, or for
"fixed size" allocation where you are allocating a large object
(e.g. a `git_oid`) and you generally just allocation single
objects that can be tightly packed. Of course, you can use it
for other things, but those two cases are the easiest.
|
|
a7d19b97
|
2012-04-25T15:47:53
|
|
config: also allow escaping outside of a quoted string
This limitation was a misparsing of the documentation.
|
|
f184836b
|
2012-04-25T12:13:20
|
|
remote: run a callback when updating the branch tips
This allows the caller to update an internal structure or update the
user output with the tips that were updated.
While in the area, only try to update the ref if the value is
different from its old one.
|
|
2e3a0055
|
2012-04-16T11:58:46
|
|
revwalk: return GIT_EREVWALKER earlier if no references were pushed
In the case that walk->one is NULL, we know that we have no positive
references, so we already know that the revwalk is over.
|
|
bf4ef0c5
|
2012-04-16T05:02:41
|
|
examples: run fetch in a background thread
This allows us to give updates on how it's doing
|
|
dee5515a
|
2012-04-14T18:34:50
|
|
transports: buffer the git requests before sending them
Trying to send every single line immediately won't give us any speed
improvement and duplicates the code we need for other transports. Make
the git transport use the same buffer functions as HTTP.
|
|
db0f96a6
|
2012-04-13T23:37:55
|
|
examples: port 'fetch' to the new API
|
|
7a520f5d
|
2012-04-13T23:19:38
|
|
fetch: use the streaming indexer when downloading a pack
This changes the git_remote_download() API, but the existing one is
silly, so you don't get to complain.
The new API allows to know how much data has been downloaded, how many
objects we expect in total and how many we've processed.
|
|
f9f2344b
|
2012-04-23T17:28:11
|
|
Merge pull request #632 from arrbee/win64-cleanup
Code clean up, including fixing warnings on Windows 64-bit build
|
|
4795807a
|
2012-04-23T17:25:11
|
|
Merge pull request #637 from nulltoken/issue/odb-refcount
Fix git_repository_set_odb() refcount issue
|
|
2218fd57
|
2012-04-20T02:23:14
|
|
tree-cache: don't error out on a childless invalidated entry
The code used to assume that there had to be data after the newline in
a tree cache extension entry. This isn't true for a childless
invalidated entry if it's the last one, as there won't be any children
nor a hash to take up space.
Adapt the off-by-one comparison to also work in this case. Fixes #633.
|
|
26515e73
|
2012-04-23T10:06:31
|
|
Rename to git_reference_name_to_oid
|
|
baf861a5
|
2012-04-23T11:07:19
|
|
Fix git_repository_set_odb() refcount issue
git_repository_free() calls git_odb_free() if the owned odb is not null.
According to the doc, when setting a new odb through git_repository_set_odb() the caller has to take care of releasing the odb by himself.
|
|
7dbbf4d7
|
2012-04-22T11:34:12
|
|
Merge pull request #636 from csware/WIN32-fixes
Win32 fixes
|
|
8c327228
|
2012-04-21T18:45:32
|
|
Check for _WIN32 instead of GIT_WIN32 or WIN32 to detect windows build environments
This fixes a possible compilation issue (when GIT_WIN32 was not set) which was introduced in revision 69a4bc1988fc242bd0d310781c865cce5481a0e6.
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
c02f1392
|
2012-04-21T18:43:10
|
|
Check for _WIN32 is sufficient, even for x64 compilers
There is no need to check for _WIN32 and _WIN64. x64 compiler also set _WIN32 (compare http://sourceforge.net/apps/mediawiki/predef/index.php?title=Operating_Systems#Windows).
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
5c9a794d
|
2012-04-21T18:36:13
|
|
tests-clar: update to latest version of clar
Signed-off-by: schu <schu-github@schulog.org>
|
|
69a4bc19
|
2012-04-20T11:24:17
|
|
Merge pull request #634 from csware/fix-win64-build
WIN32 is not always defined, use GIT_WIN32 instead
|
|
e8dc508f
|
2012-04-20T11:24:03
|
|
Merge pull request #635 from csware/win32-utf8
GetFileAttributes does not work for utf-8 encoded paths
|
|
eb6db16d
|
2012-04-20T20:00:59
|
|
GetFileAttributes does not work for utf-8 encoded paths
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
b333fbf9
|
2012-04-20T18:51:10
|
|
WIN32 is not always defined, use GIT_WIN32 instead
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
05862156
|
2012-04-20T02:23:14
|
|
tree-cache: don't error out on a childless invalidated entry
The code used to assume that there had to be data after the newline in
a tree cache extension entry. This isn't true for a childless
invalidated entry if it's the last one, as there won't be any children
nor a hash to take up space.
Adapt the off-by-one comparison to also work in this case. Fixes #633.
|
|
d5930554
|
2012-04-19T11:40:56
|
|
Merge remote-tracking branch 'carlosmn/indexer-stream' into new-error-handling
|
|
54e4d0f2
|
2012-04-18T17:34:52
|
|
Merge pull request #629 from nulltoken/issue/index-refcount
Index refcount issue
|
|
44ef8b1b
|
2012-04-13T13:00:10
|
|
Fix warnings on 64-bit windows builds
This fixes all the warnings on win64 except those in deps, which
come from the regex code.
|
|
f201d613
|
2012-04-13T10:33:14
|
|
Add git_reference_lookup_oid and lookup_resolved
Adds a new public reference function `git_reference_lookup_oid`
that directly resolved a reference name to an OID without returning
the intermediate `git_reference` object (hence, no free needed).
Internally, this adds a `git_reference_lookup_resolved` function
that combines looking up and resolving a reference. This allows
us to be more efficient with memory reallocation.
The existing `git_reference_lookup` and `git_reference_resolve`
are reimplmented on top of the new utility and a few places in the
code are changed to use one of the two new functions.
|
|
1a6e8f8a
|
2012-04-13T10:42:00
|
|
Update clar and remove old helpers
This updates to the latest clar which includes the helpers
`cl_assert_equal_s` and `cl_assert_equal_i`. Convert the code
over to use those and remove the old libgit2-only helpers.
|
|
dbeca796
|
2012-04-13T10:43:47
|
|
Remove old status implementation
This removes the code for the old status implementation.
|
|
e8c3774f
|
2012-04-16T10:10:05
|
|
Merge pull request #599 from carlosmn/config-quotes
Support config value quoting
|
|
2c1075d6
|
2012-03-16T12:52:49
|
|
config: parse quoted values
Variable values may be quoted to include newlines, literal quotes and
other characters. Add support for these and test it.
|
|
3fa1ec4a
|
2012-04-15T19:02:05
|
|
tests-clar/repo: fix unused warning
ifdef GIT_WIN32 helper unposix_path() to avoid unused-function warning
on non-Windows systems.
Signed-off-by: schu <schu-github@schulog.org>
|
|
146f5c75
|
2012-04-14T15:09:29
|
|
repo: plug a couple of leaks
|
|
c1aefb35
|
2012-04-14T14:13:17
|
|
Fix git_repository_set_index() refcount issue
git_repository_free() calls git_index_free() if the owned index is not null.
According to the doc, when setting a new index through git_repository_set_index() the caller has still to take care of releasing the index by itself.
In order to cope with this, this fix makes sure the index refcount is incremented when a new repository is being plugged a new index.
|
|
fdd1149c
|
2012-04-14T13:46:13
|
|
Fix MSVC compilation warnings
Removed unreferenced variables.
|
|
e77e53ed
|
2012-04-13T20:06:49
|
|
Merge pull request #627 from arrbee/diff-with-pathspec
Diff with pathspec
|
|
14a513e0
|
2012-04-13T15:00:29
|
|
Add support for pathspec to diff and status
This adds preliminary support for pathspecs to diff and status.
The implementation is not very optimized (it still looks at
every single file and evaluated the the pathspec match against
them), but it works.
|