src


Log

Author Commit Date CI Message
Ben Straub bb1f6087 2012-06-19T09:15:39 Add progress reporting to clone.
Ben Straub 764df57e 2012-06-15T13:14:43 Add git_clone and git_clone_bare. So far they only create a repo, setup the "origin" remote, and fetch. The API probably needs work as well; there's no way to get progress information at this point. Also uncovered a shortcoming; git_remote_download doesn't fetch over local transport.
Ben Straub f2a855d5 2012-06-19T20:37:12 Clone: restructure.
Carlos Martín Nieto b3aa4406 2012-06-21T02:15:25 repository: avoid opening the repository twice on reinit The call to repo_init_reinit already takes care of opening the repository and giving us a git_repository object to give to the caller. There is no need to call git_repository_open again.
Ben Straub a15e7f86 2012-06-19T21:12:04 Fix indentation.
Ben Straub eb6bc45f 2012-06-19T21:11:48 Avoid uninitialized variable error.
Carlos Martín Nieto 1d94a7d0 2012-06-20T02:15:42 diff: make sure we free all allocated resources When the creation of one iterator fails, we need to free the prefix and possibly one of the iterators. Make sure we do so.
Carlos Martín Nieto c06e0003 2012-06-20T01:41:30 odb: don't leak when detecting id ambiguity If we find several objects with the same prefix, we need to free the memory where we stored the earlier object. Keep track of the raw.data pointer across read_prefix calls and free it if we find another object.
Carlos Martín Nieto cdca82c7 2012-06-20T00:46:26 Plug a few leaks
Vicent Martí c3ce8d0c 2012-06-19T15:17:35 Merge pull request #775 from arrbee/fix-index-filemodes Make index add/append support core.filemode flag
Vicent Martí 52329940 2012-06-19T15:04:45 Merge pull request #768 from nulltoken/topic/expose-message-prettify message: Expose git_message_prettify()
Carlos Martín Nieto 053b5096 2012-06-19T23:36:36 revparse: handle a non-existent path in the colon syntax oid_for_tree_path may not always find the path in the tree, in which case we need to return an error. The current code doesn't do this and results in undefined behavior.
Russell Belfer da825c92 2012-06-19T14:27:02 Make index add/append support core.filemode flag This fixes git_index_add and git_index_append to behave more like core git, preserving old filemode data in the index when adding and/or appending with core.filemode = false. This also has placeholder support for core.symlinks and core.ignorecase, but those flags are not implemented (well, symlinks has partial support for preserving mode information in the same way that git does, but it isn't tested).
Ben Straub 2c90145a 2012-06-19T09:24:44 Fix potential segfault in revparse.
nulltoken 743a4b3b 2012-06-15T22:24:59 message: Expose git_message_prettify() git_commit() and git_tag() no longer prettify the message by default. This has to be taken care of by the caller. This has the nice side effect of putting the caller in position to actually choose to strip the comments or not.
Vicent Martí 68f527c4 2012-06-18T17:50:12 Merge pull request #758 from libgit2/config-values-containing-quotes Quotes inside config values don't survive serialization/deserialization
Vicent Marti 8c4c357f 2012-06-19T02:43:36 clar: Fix warnings
Vicent Martí 31eed56b 2012-06-18T17:36:14 Merge pull request #753 from nulltoken/topic/merge-base-many Expose git_merge_base_many()
Vicent Marti b93688d0 2012-06-19T02:33:03 Merge remote-tracking branch 'yorah/fix/notes-creation' into development Conflicts: src/notes.c
Vicent Marti 515a4c7c 2012-06-19T00:59:04 tree: Proper path comparison logic
Tim Clem ac8eac2f 2012-06-15T11:25:52 Fix compile errors when building on windows Errors were due to not including winsock2 early enough.
Tim Clem e00b56eb 2012-06-15T10:15:57 Fix broken tests caused by no longer prettifying by default
Tim Clem e4031cb5 2012-06-15T09:26:56 Kill message_prettify - we will export instead
Tim Clem bc2deed0 2012-06-15T09:13:59 Don't strip comments (#) from commit messages by default
Ben Straub 73aaf674 2012-06-13T14:22:33 Precompile headers for MSVC.
Carlos Martín Nieto 49938cad 2012-06-11T16:28:51 config: correctly escape quotes in the value When a configuration option is set, we didn't check to see whether there was any escaping needed. Escape the available characters so we can unescape them correctly when we read them.
Frederick Ros fa45d25f 2012-06-13T14:03:48 Fix issue #763
Russell Belfer 64e56478 2012-06-12T09:29:56 Merge pull request #760 from nulltoken/topic/logAllRefUpdates make git_repository_init() value the core.logallrefupdates config entry
Michael Schubert c0734593 2012-06-12T11:33:46 revparse: remove unnecessary GIT_BEGIN_DECL
nulltoken 7623b1b6 2012-06-11T11:33:13 repository: make git_repository_init() value the core.logallrefupdates config entry
Russell Belfer 471fa05e 2012-06-11T15:38:33 Fix fragile commit parsing in revwalk
Ben Straub 0284a219 2012-06-11T12:55:36 Fix mingw32 (Travis) build.
Russell Belfer 9939e602 2012-06-11T09:24:02 Ignores allow unescapes internal whitespace
Russell Belfer ac971ecf 2012-06-08T14:08:34 Better fix for isalpha in drive letter detection Missed a place that used this and missed git__isalpha
Russell Belfer d17db71b 2012-06-08T13:56:53 isalpha is not great for UTF-8 When checking for a drive letter on windows, instead of using isalpha(), it is better to just check for a..z and A..Z, I think, particularly because the MS isalpha implementation appears to assert when given an 0xFF byte.
Russell Belfer 145e696b 2012-06-08T11:56:24 Minor fixes, cleanups, and clarifications There are three actual changes in this commit: 1. When the trailing newline of a file is removed in a diff, the change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed to the callback. Previously, the `ADD_EOFNL` constant was given which was just an error in my understanding of when the various circumstances arose. `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and should never be generated. A new newline is simply an `ADD`. 2. Rewrote the `diff_delta__merge_like_cgit` function that contains the core logic of the `git_diff_merge` implementation. The new version doesn't actually have significantly different behavior, but the logic should be much more obvious, I think. 3. Fixed a bug in `git_diff_merge` where it freed a string pool while some of the string data was still in use. This led to `git_diff_print_patch` accessing memory that had been freed. The rest of this commit contains improved documentation in `diff.h` to make the behavior and the equivalencies with core git clearer, and a bunch of new tests to cover the various cases, oh and a minor simplification of `examples/diff.c`.
Russell Belfer 0abd7244 2012-06-04T16:17:41 Fix filemode comparison in diffs File modes were both not being ignored properly on platforms where they should be ignored, nor be diffed consistently on platforms where they are supported. This change adds a number of diff and status filemode change tests. This also makes sure that filemode-only changes are included in the diff output when they occur and that filemode changes are ignored successfully when core.filemode is false. There is no code that automatically toggles core.filemode based on the capabilities of the current platform, so the user still needs to be careful in their .git/config file.
yorah a02e7249 2012-05-29T17:53:29 notes: simplify the handling of fanouts - Do not create new levels of fanout when creating notes from libgit2 - Insert a note in an existing matching fanout - Remove a note from an existing fanout - Cleanup git_note_read, git_note_remove, git_note_foreach, git_note_create methods in order use tree structures instead of tree_oids
nulltoken b0b3b4e3 2012-05-29T16:19:15 treebuilder: prevent git_treebuilder_free() from segfaulting when being passed a NULL treebuilder
Vicent Martí 3f035860 2012-06-07T22:43:03 misc: Fix warnings from PVS Studio trial
Ben Straub 763b8381 2012-06-07T13:22:50 Fixing rev-parse-induced Travis errors.
Vicent Martí 6c08e69f 2012-06-07T12:30:20 Merge pull request #669 from nulltoken/topic/reset Add git_reset()
Vicent Martí b9ebcc59 2012-06-07T12:29:31 Merge pull request #684 from benstraub/rev-parse Rev parse
Ben Straub 327dc61f 2012-06-07T12:28:08 Prefer git__free (again).
nulltoken edebceff 2012-05-01T13:57:45 Add git_reset() Currently supports Soft and Mixed modes.
Ben Straub 31dda647 2012-06-07T12:16:39 Rename internal function.
Vicent Martí cddb8efe 2012-06-07T11:34:48 Merge pull request #704 from nulltoken/topic/blob_fromchunks Add the ability to create blob given a provider of chunks of bytes
nulltoken cd445767 2012-05-27T15:00:05 blob: add git_blob_create_fromchunks()
Vicent Martí 5bb54582 2012-06-07T09:44:08 Merge pull request #752 from nulltoken/fix/warning Fix compilation warning and failing test
nulltoken b46bdb22 2012-05-25T16:28:53 merge: Expose git_merge_base_many()
Adam Roben 8e60c712 2012-06-07T09:50:19 Fix git_status_file for files that start with a character > 0x7f git_status_file would always return GIT_ENOTFOUND for these files. The underlying bug was that git__strcmp_cb, which is used by git_path_with_stat_cmp to sort entries in the working directory, compares strings based on unsigned chars (this is confirmed by the strcmp(3) manpage), while git__prefixcmp, which is used by workdir_iterator__entry_cmp to search for a path in the working directory, compares strings based on char. So the sort puts this path at the end of the list, while the search expects it to be at the beginning. The fix was simply to make git__prefixcmp compare using unsigned chars, just like strcmp(3). The rest of the change is just adding/updating tests.
nulltoken 6f944ab1 2012-06-07T13:36:28 Fix compilation warning
Ben Straub 9ecf860d 2012-06-06T13:24:25 Rename posix wrappers with 'p_' prefix.
Ben Straub 1a728066 2012-06-06T13:04:08 Remove 'git__' prefix from a static function.
Ben Straub d6391a62 2012-06-06T13:00:12 Rev-parse: stop referencing freed memory. Converted an internal utility to return an oid, rather than a tree entry (whose lifetime is tied to the parent tree, which was freed before returning).
Ben Straub 19d35d52 2012-06-06T12:31:48 Prefer git__free() to free().
Ben Straub 8a385c04 2012-06-06T12:25:22 Move git__date_parse declaration to util.h.
Ben Straub 2c2cde47 2012-06-06T08:41:39 Fix signatures for tree calls.
Carlos Martín Nieto 66798ad0 2012-06-06T11:00:15 Don't include arpa/inet.h on Windows
Michael Schubert fdc5c38e 2012-06-05T23:03:06 transports: fix buglet
Vicent Martí 966fbdcb 2012-06-05T13:53:33 Merge pull request #697 from carlosmn/ssl Add HTTPS support
Vicent Martí eadc0e03 2012-06-05T13:41:13 Merge pull request #747 from nulltoken/topic/init-filemode Make git_repository_init() value "core.filemode" and "core.ignorecase"
nulltoken 693b23c0 2012-06-05T14:29:10 repository: make git_repository_init() value the core.ignorecase config entry
Vicent Martí 2255b60e 2012-06-05T13:12:36 Merge pull request #714 from schu/config-enotfound config: do not set an error for GIT_ENOTFOUND
Ben Straub 56a5000d 2012-06-05T12:52:44 Merge branch 'development' into rev-parse Conflicts: src/util.h tests-clar/refs/branches/listall.c
nulltoken fac66990 2012-06-05T13:56:44 repository: make git_repository_init() value the core.filemode config entry
Carlos Martín Nieto 01dbe273 2012-06-04T15:10:29 Merge pull request #737 from nulltoken/topic/git_remote_add_refspec Remotes and refspecs
nulltoken d27bf665 2012-05-30T00:50:39 remote: Make git_remote_add() generate a default refspec with a force update specifier
Arthur Schreiber e9551e86 2012-06-02T16:52:22 Fix git_close/http_close/local_close to set the transport's connected attribute to 0.
Ben Straub 734efe4b 2012-06-01T14:18:52 Rev-parse: implement ":/foo" syntax.
Carlos Martín Nieto 1d4dcc4b 2012-06-01T11:48:58 config: set an error message when asked to delete a non-existent key
Ben Straub b183a92f 2012-05-31T13:42:58 Rev-parse: Plug memory leaks.
Ben Straub 244d2f6b 2012-05-30T16:52:11 Rev-parse: add "tag:README" syntax.
Ben Straub dd9e4abc 2012-05-30T11:46:42 Approxidate: use libgit2 naming/calling conventions. Also use git_time_t (64-bit integer) for time values, although the 2038 problem is still present on 32-bit machines.
nulltoken d05e2c64 2012-05-30T00:27:22 refspec: expose the force update specifier through git_refspec_force() accessor
Garrett Regier 2ab9dcbd 2012-05-27T16:47:56 Fix checking for the presence of a flag
nulltoken 9bea8e85 2012-05-27T19:54:53 filebuf: add git_filebuf_flush()
Scott J. Goldman c1318f71 2012-05-26T18:16:13 Use lowercase names for Windows headers Otherwise we can't cross-compile on Linux.
Carlos Martín Nieto 250b95b2 2012-05-26T21:17:08 ssl: allow skipping the server certificate check Sometimes it's useful not to perform the check. Allow it to be configurable.
Russell Belfer 29ef309e 2012-05-25T09:44:56 Make errors for system and global files consistent The error codes from failed lookups of system and global files on Windows were not consistent with the codes returned on other platforms. This makes the error detection patterns match and adds a unit test for the various errors.
Russell Belfer 2a99df69 2012-05-24T17:14:56 Fix bugs for status with spaces and reloaded attrs This fixes two bugs: * Issue #728 where git_status_file was not working for files that contain spaces. This was caused by reusing the "fnmatch" parsing code from ignore and attribute files to interpret the "pathspec" that constrained the files to apply the status to. In that code, unescaped whitespace was considered terminal to the pattern, so a file with internal whitespace was excluded from the matched files. The fix was to add a mode to that code that allows spaces and tabs inside patterns. This mode only comes into play when parsing in-memory strings. * The other issue was undetected, but it was in the recently added code to reload gitattributes / gitignores when they were changed on disk. That code was not clearing out the old values from the cached file content before reparsing which meant that newly added patterns would be read in, but deleted patterns would not be removed. The fix was to clear the vector of patterns in a cached file before reparsing the file.
Russell Belfer 9cde607c 2012-05-24T15:08:55 Clean up system file finding tests on Win32
Vicent Martí 349fb6d7 2012-05-24T23:04:41 windows: Properly expand all environment variables
Russell Belfer 5f60fd00 2012-05-24T13:56:03 Merge pull request #726 from arrbee/utf16-home-dir Get user's home dir in UTF-16 clean manner
Russell Belfer 9e35d7fd 2012-05-24T13:44:24 Fix bugs in UTF-8 <-> UTF-16 conversion The function to convert UTF-16 to UTF-8 was only allocating a buffer of wcslen(utf16str) bytes for the UTF-8 string, but that is not sufficient if you have multibyte characters, and so when those occured, the conversion was failing. This updates the conversion functions to use the Win APIs to calculate the correct buffer lengths. Also fixes a comparison in the unit tests that would fail if you did not have a particular environment variable set.
Carlos Martín Nieto d3e9c4a5 2012-05-24T21:49:43 repository: default to core.bare = false if it's not set We used to consider a missing core.bare option to mean that the repository was corrupt. This is too strict. Consider it a non-bare repository if it's not set.
Russell Belfer 23059130 2012-05-24T12:45:20 Get user's home dir in UTF-16 clean manner On Windows, we are having problems with home directories that have non-ascii characters in them. This rewrites the relevant code to fetch environment variables as UTF-16 and then explicitly map then into UTF-8 for our internal usage.
Vicent Martí 87ac556f 2012-05-23T15:05:03 Merge pull request #720 from nulltoken/fix/libgit2sharp_issue_153 Make git_futils_mkdir_r() able to cope with Windows network paths
Carlos Martín Nieto 8bf10dba 2012-05-23T12:59:21 Remove left-over debugging output
nulltoken dc07184f 2012-05-23T12:05:48 fileops: Make git_futils_mkdir_r() able to cope with Windows network paths Partially fix libgit2/libgit2sharp#153
Michael Schubert e203e9d4 2012-05-19T18:13:38 config: do not set an error for GIT_ENOTFOUND An unset config variable isn't bad per se -- let the call site set an error in case GIT_ENOTFOUND isn't acceptable.
Michael Schubert 54db1a18 2012-05-19T13:20:55 Cleanup * indexer: remove leftover printf * commit: remove unused macros COMMIT_BASIC_PARSE, COMMIT_FULL_PARSE and COMMIT_PRINT
Carlos Martín Nieto 441df990 2012-05-17T23:57:30 ssl: look up the last CN the alternative names don't match
Carlos Martín Nieto 3f9eb1e5 2012-05-17T22:22:05 ssl: add support for certificates issues to an IP address
Carlos Martín Nieto d3e1367f 2012-05-17T21:40:20 ssl: remove GnuTLS support It's too much work for now to redo everything. Move the ssl context struct to transport.h
Carlos Martín Nieto 16768191 2012-05-17T21:16:59 ssl: match host names according to RFC 2818 (HTTP over TLS)
Carlos Martín Nieto dbb36e1b 2012-05-17T17:56:49 ssl: check certificates against the system's trusted CAs
Carlos Martín Nieto 89460f3f 2012-05-03T14:07:55 ssl: teardown the connection on close This should help us free some resources, though the libraries do keep some buffers allocated regardless.
Carlos Martín Nieto a6f24a5b 2012-05-01T01:50:26 https: make it work with OpenSSL as well Add specific functions that use OpenSSL instead of GnuTLS
Carlos Martín Nieto 66024c7c 2012-05-01T00:05:25 http: add https support when GnuTLS is available If it's not available, an error saying so will be returned when trying to use a https:// URL. This also unifies a lot of the network code to use git_transport in many places instead of an socket descriptor.