|
c7c787ce
|
2011-06-24T18:19:00
|
|
Use gitno_buffer in the git transport
This allows us to leave out the buffer handling logic.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
ea7a5452
|
2011-06-24T16:25:26
|
|
Add gitno_buffer as a recv wrapper
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
ce90a407
|
2011-06-22T15:34:37
|
|
Remove the repo param from git_transport_new
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
4e913309
|
2011-06-17T16:38:21
|
|
Move transports to an inheritance model
Rather than an 'private' pointer, make the private structures inherit
from the generic git_transport struct. This way, we only have to worry
about one memory allocation instead of two. The structures are so
simple that this may even make the code use less memory overall.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
cbf742ac
|
2011-06-26T19:40:02
|
|
Use (s)size_t
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
c4d0fa85
|
2011-06-16T01:54:19
|
|
Implement and use git_pkt_send_request
This makes it easier to send a requqest for an URL. It assumes there
is a socket where the string should go out to.
Make git_pkt_gen_proto accept a command parameter, which defaults to
git-upload-pack
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
0a9a38e5
|
2011-06-06T19:21:05
|
|
local transport: keep better track of memory
Store the ref information in a private struct so we can free it
together with the rest.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
4e95ef02
|
2011-06-16T00:59:46
|
|
Implement and use gitno_send
|
|
1b4f8140
|
2011-06-16T00:39:35
|
|
Create netops and start moving git:// to it
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
7e305056
|
2011-06-06T18:44:19
|
|
local transport: sort the refs before resolving them
By pre-sorting the references, they are already in the right order if
we want to peel them.
With this, we get output-parity with git.git's ls-remote.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
7632e249
|
2011-06-13T23:01:12
|
|
Correctly handle network input
Add a parameter to git_pkt_parse_line to tell it how much data you
have in your buffer. If the buffer is too short, it returns an error
saying so. Adapt the git transport to use this and fix the offset
calculation.
Add the GIT_ESHORTBUFFER error code.
|
|
fd679021
|
2011-06-16T02:17:49
|
|
Move git_pkt_{gen_proto,send_request} to transport_git.c
This is where they really belong. Remvoe the prefix and make them
static.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
be9fe679
|
2011-06-08T23:38:22
|
|
Implement and use git_pkt_free
A git_pkt object can be one of several structs. Add this function for
convenience and clarity.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
ecb6ca0e
|
2011-06-08T13:09:47
|
|
Implement the git TCP transport up to ls-remote
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
8b9e8de5
|
2011-06-08T10:51:32
|
|
pkt-line: read capabilities
Try to read the server capabilities and add them to the git_pkt_ref
struct.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
b31803f3
|
2011-05-28T11:59:10
|
|
pkt-line: parse other-ref lines
Add support for parsing other-ref lines.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
78fae478
|
2011-06-06T14:19:47
|
|
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>
|
|
1d27446c
|
2011-05-28T10:56:19
|
|
Move flush-pkt creation into its own function
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
f7fc68df
|
2011-05-27T12:50:07
|
|
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>
|
|
d6258deb
|
2011-06-25T15:10:09
|
|
Implement ls-remote on local drive
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
6a9597c5
|
2011-06-08T19:11:38
|
|
Add function to generate a request
Add git_pkt_gen_proto to crete a request from an url.
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
8f866dae
|
2011-05-16T22:07:08
|
|
Lay down the fundations for the network code
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
c5b2622d
|
2011-06-23T16:32:06
|
|
Add git_refspec_transform test
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
92cb6aa9
|
2011-06-23T15:41:29
|
|
Add git_refspec_transform
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
fa9dcb7e
|
2011-06-22T14:17:29
|
|
Add refspec match test
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
73fdf706
|
2011-06-21T10:55:16
|
|
Add refspec0 test
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
63f91e1c
|
2011-06-22T16:52:30
|
|
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>
|
|
f8f3feb0
|
2011-06-21T02:13:51
|
|
Add a to-do list for remotes
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
a030ae50
|
2011-06-20T20:21:20
|
|
Add a test for remote parsing
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
2dc31040
|
2011-06-20T18:58:57
|
|
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>
|
|
9c82357b
|
2011-06-17T18:13:14
|
|
Add a remotes API
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
0b10c9ea
|
2011-06-26T08:33:11
|
|
Merge pull request #276 from carlosmn/development
Bring back GCC flags
|
|
e233fa6f
|
2011-06-26T16:37:04
|
|
Bring back GCC flags
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
ce90d81f
|
2011-06-24T15:30:10
|
|
revwalk: Do not set error string on revwalk over
|
|
8172dd43
|
2011-06-23T22:45:09
|
|
cmake: Do not pass `/Tc` to MSVC
|
|
2c0ec236
|
2011-06-23T13:36:09
|
|
added defines for Haiku in types.h
|
|
45e82ba2
|
2011-06-23T04:38:38
|
|
Merge pull request #273 from GeneralMaximus/development
added defines for Haiku in types.h
|
|
3101a3e5
|
2011-06-23T02:28:29
|
|
refs: Do not overflow when normalizing refnames
|
|
3bf3ad9f
|
2011-06-21T13:53:48
|
|
Merge pull request #269 from schu/infinite-append
gitfo_read: fix read-loop
|
|
b3f2d4cb
|
2011-06-21T07:24:57
|
|
Merge pull request #270 from carlosmn/valgrind
Two memory access fixes
|
|
4cea2f03
|
2011-06-20T17:53:21
|
|
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>
|
|
cdb6f9bf
|
2011-06-20T17:34:01
|
|
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>
|
|
28f7869d
|
2011-06-20T17:25:13
|
|
gitfo_read: fix read-loop
Signed-off-by: schu <schu-github@schulog.org>
|
|
24bd5e55
|
2011-06-20T10:40:21
|
|
Add test case checking GIT_FILEBUF_APPEND
Signed-off-by: schu <schu-github@schulog.org>
|
|
37172582
|
2011-06-18T21:14:55
|
|
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
|
|
984ed6b6
|
2011-06-19T12:48:16
|
|
odb: Add GIT_EPASSTHROUGH
Allows a custom user backend to passthrough one of the callbacks. Used
for e.g. caching backends.
|
|
bfd5e3e2
|
2011-06-18T15:07:41
|
|
config: Fix API docs
|
|
8ee2bb54
|
2011-06-19T03:50:19
|
|
Merge pull request #268 from nulltoken/patch-3
Fix link to API documentation
|
|
e49020e0
|
2011-06-18T09:07:51
|
|
Fix link to API documentation
|
|
e35e9fb4
|
2011-06-18T13:23:19
|
|
mingw: Fix compilation
|
|
2a406ab5
|
2011-06-18T02:08:56
|
|
config: Fix sorting of repository config files
|
|
19cb6857
|
2011-06-18T01:50:48
|
|
config: Bring back `git_config_open_global`
Scott commands, I obey.
|
|
920e000d
|
2011-06-18T01:17:58
|
|
config: Update examples
|
|
dbe70bd5
|
2011-06-18T01:12:58
|
|
config: Fix compilation in MSVC
|
|
40070445
|
2011-06-18T00:54:24
|
|
config: Typorrrrl
|
|
deee4766
|
2011-06-17T15:44:26
|
|
Merge pull request #267 from Jopie64/development
Fix compilation error in MSVC when compiling for c++
|
|
07ff8817
|
2011-06-18T00:39:39
|
|
config: Cleanup external API
Do not mess with environment variables anymore. The new external API has
more helper methods, and everything is explicit.
|
|
f0619886
|
2011-06-07T22:09:22
|
|
Fix compilation error in MSVC when compiling for c++
|
|
f3dad3ac
|
2011-06-16T20:06:36
|
|
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>
|
|
3de5df7d
|
2011-06-16T19:56:48
|
|
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>
|
|
9ba9e513
|
2011-06-16T19:54:37
|
|
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>
|
|
b22d1479
|
2011-06-16T17:46:06
|
|
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>
|
|
b76934de
|
2011-06-16T16:55:11
|
|
Remove double-space
Noticed by txdv
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
c716b187
|
2011-06-17T19:47:58
|
|
config: Fix unitialized variable warning
|
|
f0890fcc
|
2011-06-17T19:40:51
|
|
cmake: Build shared library by default
|
|
e01f7f64
|
2011-06-17T19:27:11
|
|
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
|
|
f252d479
|
2011-06-17T10:32:42
|
|
Merge pull request #264 from nulltoken/patch-2
Fix misleading comment in CMake build script
|
|
2414d000
|
2011-06-17T10:32:22
|
|
Merge pull request #266 from carlosmn/valgrind
Plug memory leaks
|
|
02285482
|
2011-06-17T19:19:30
|
|
fileops: Cast the GetProcAddress value
|
|
9c11bd0a
|
2011-06-17T19:08:06
|
|
fileops: Fix 'GetFinalPathNameByHandleA' in old platforms
|
|
3d5a02b6
|
2011-06-16T20:30:40
|
|
Plug an index leak
The test wasn't updated when repos lost ownership of indices
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
038d2fc3
|
2011-06-16T20:24:51
|
|
Plug leaks in the repo discovery tests
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
b2e361cc
|
2011-06-16T20:22:05
|
|
Plug two leaks in config writing
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
3d96996d
|
2011-06-16T08:10:25
|
|
Fix misleading comment in CMake build script
|
|
cb75ffea
|
2011-06-16T08:01:47
|
|
Merge pull request #263 from carlosmn/refs-writing
Simplify loose ref writing
|
|
e7e0e20f
|
2011-06-16T16:39:20
|
|
Simplify loose ref writing
There is no need to store the format outselves, as the library
provides git_filebuf_printf which takes care of the formatting itself.
Also get rid of an use of strcat + strcpy which is always a nice
thing.
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
|
|
d144c569
|
2011-06-16T03:02:46
|
|
Update documentation
Fix all the missmatched arguments in the docs
|
|
f1d01851
|
2011-06-16T02:48:48
|
|
oid: Uniformize ncmp methods
Drop redundant methods. The ncmp method is now public
|
|
fa48608e
|
2011-06-16T02:36:21
|
|
oid: Rename methods
Yeah. Finally. Fuck the old names, this ain't POSIX
and they don't make any sense at all.
|
|
43521d06
|
2011-06-16T02:27:43
|
|
refs: Rename git_referece_listcb to _foreach
Same name as `git_config_foreach`
|
|
607d1643
|
2011-06-15T17:24:04
|
|
Merge pull request #248 from carlosmn/config
Implement config writing
|
|
536955f9
|
2011-06-16T02:21:33
|
|
Add method to get the compiled version of the lib
|
|
ef9a6f4c
|
2011-06-15T13:47:41
|
|
Merge pull request #261 from Romain-Geissler/discovery-path-v2
Fix: GIT_PATH_PATH_SEPARATOR is now a semi-colon under Windows.
|
|
0657e46d
|
2011-06-15T12:36:08
|
|
Fix: GIT_PATH_PATH_SEPARATOR is now a semi-colon under Windows.
GIT_PATH_LIST_SEPARATOR and GIT_PATH_MAX are made public so
that it's can be used by a client.
|
|
f2bb894e
|
2011-06-15T12:15:11
|
|
Merge pull request #251 from nulltoken/fix/msvc-warnings
Fix compilation warnings in MSVC
|
|
1aa1b09e
|
2011-06-15T12:11:59
|
|
Merge pull request #260 from nulltoken/fix/git_index_add
Fix git_index_add()
|
|
8e11e707
|
2011-06-15T16:06:20
|
|
git_index_add: enforce test coverage
|
|
a64bf21b
|
2011-06-15T16:05:33
|
|
blob: Fix git_blob_create_fromfile()
|
|
63fadf99
|
2011-06-15T17:04:11
|
|
Add mode_t definition in MSVC compat layer
|
|
61438604
|
2011-06-15T10:39:20
|
|
Merge pull request #259 from schu/nitpicky-markdown
README.md: do not break syntax highlighting
|
|
96da90ae
|
2011-06-15T09:38:55
|
|
update examples content to be compilable and up to date
|
|
8087bb93
|
2011-06-15T14:08:43
|
|
README.md: do not break syntax highlighting
Signed-off-by: schu <schu-github@schulog.org>
|
|
2e6d8ec4
|
2011-06-14T15:15:11
|
|
fix the example urls
|
|
388f37b3
|
2011-06-14T09:27:46
|
|
add examples for docs
|
|
742e3fc9
|
2011-06-14T08:17:53
|
|
replace stupid doxygen
|
|
f64586fa
|
2011-06-14T20:00:06
|
|
Add CTest support for CI
|
|
737406b7
|
2011-06-14T09:31:19
|
|
fix gid_ misspelling
|
|
90412507
|
2011-06-14T06:37:10
|
|
Port MSVC specific Waf compilation flags to CMake and remove dynamic dependence to msvcr100.dll on Windows
The '/MT' and '/MTd' flags replace the dynamic link to 'msvcr100.dll' with a static link to 'libcmt.lib'. This has the nice effect to ease the deployment of libgit2 by removing the dependence on 'msvcr100.dll' which is not deployed by default on Windows.
|
|
7548b8af
|
2011-06-14T17:36:38
|
|
Update README.md
|
|
953e1f93
|
2011-06-13T22:33:32
|
|
build: Cleanup CMake
|