|
a8fd805e
|
2012-06-21T18:29:38
|
|
branch: add git_branch_foreach()
|
|
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.
|
|
a15e7f86
|
2012-06-19T21:12:04
|
|
Fix indentation.
|
|
eb6bc45f
|
2012-06-19T21:11:48
|
|
Avoid uninitialized variable error.
|
|
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.
|
|
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.
|
|
cdca82c7
|
2012-06-20T00:46:26
|
|
Plug a few leaks
|
|
c3ce8d0c
|
2012-06-19T15:17:35
|
|
Merge pull request #775 from arrbee/fix-index-filemodes
Make index add/append support core.filemode flag
|
|
52329940
|
2012-06-19T15:04:45
|
|
Merge pull request #768 from nulltoken/topic/expose-message-prettify
message: Expose git_message_prettify()
|
|
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.
|
|
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).
|
|
2c90145a
|
2012-06-19T09:24:44
|
|
Fix potential segfault in revparse.
|
|
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.
|
|
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
|
|
8c4c357f
|
2012-06-19T02:43:36
|
|
clar: Fix warnings
|
|
31eed56b
|
2012-06-18T17:36:14
|
|
Merge pull request #753 from nulltoken/topic/merge-base-many
Expose git_merge_base_many()
|
|
b93688d0
|
2012-06-19T02:33:03
|
|
Merge remote-tracking branch 'yorah/fix/notes-creation' into development
Conflicts:
src/notes.c
|
|
515a4c7c
|
2012-06-19T00:59:04
|
|
tree: Proper path comparison logic
|
|
ac8eac2f
|
2012-06-15T11:25:52
|
|
Fix compile errors when building on windows
Errors were due to not including winsock2 early enough.
|
|
e00b56eb
|
2012-06-15T10:15:57
|
|
Fix broken tests caused by no longer prettifying by default
|
|
e4031cb5
|
2012-06-15T09:26:56
|
|
Kill message_prettify - we will export instead
|
|
bc2deed0
|
2012-06-15T09:13:59
|
|
Don't strip comments (#) from commit messages by default
|
|
73aaf674
|
2012-06-13T14:22:33
|
|
Precompile headers for MSVC.
|
|
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.
|
|
fa45d25f
|
2012-06-13T14:03:48
|
|
Fix issue #763
|
|
64e56478
|
2012-06-12T09:29:56
|
|
Merge pull request #760 from nulltoken/topic/logAllRefUpdates
make git_repository_init() value the core.logallrefupdates config entry
|
|
c0734593
|
2012-06-12T11:33:46
|
|
revparse: remove unnecessary GIT_BEGIN_DECL
|
|
7623b1b6
|
2012-06-11T11:33:13
|
|
repository: make git_repository_init() value the core.logallrefupdates config entry
|
|
471fa05e
|
2012-06-11T15:38:33
|
|
Fix fragile commit parsing in revwalk
|
|
0284a219
|
2012-06-11T12:55:36
|
|
Fix mingw32 (Travis) build.
|
|
9939e602
|
2012-06-11T09:24:02
|
|
Ignores allow unescapes internal whitespace
|
|
ac971ecf
|
2012-06-08T14:08:34
|
|
Better fix for isalpha in drive letter detection
Missed a place that used this and missed git__isalpha
|
|
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.
|
|
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`.
|
|
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.
|
|
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
|
|
b0b3b4e3
|
2012-05-29T16:19:15
|
|
treebuilder: prevent git_treebuilder_free() from segfaulting when being passed a NULL treebuilder
|
|
3f035860
|
2012-06-07T22:43:03
|
|
misc: Fix warnings from PVS Studio trial
|
|
763b8381
|
2012-06-07T13:22:50
|
|
Fixing rev-parse-induced Travis errors.
|
|
6c08e69f
|
2012-06-07T12:30:20
|
|
Merge pull request #669 from nulltoken/topic/reset
Add git_reset()
|
|
b9ebcc59
|
2012-06-07T12:29:31
|
|
Merge pull request #684 from benstraub/rev-parse
Rev parse
|
|
327dc61f
|
2012-06-07T12:28:08
|
|
Prefer git__free (again).
|
|
edebceff
|
2012-05-01T13:57:45
|
|
Add git_reset()
Currently supports Soft and Mixed modes.
|
|
31dda647
|
2012-06-07T12:16:39
|
|
Rename internal function.
|
|
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
|
|
cd445767
|
2012-05-27T15:00:05
|
|
blob: add git_blob_create_fromchunks()
|
|
5bb54582
|
2012-06-07T09:44:08
|
|
Merge pull request #752 from nulltoken/fix/warning
Fix compilation warning and failing test
|
|
b46bdb22
|
2012-05-25T16:28:53
|
|
merge: Expose git_merge_base_many()
|
|
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.
|
|
6f944ab1
|
2012-06-07T13:36:28
|
|
Fix compilation warning
|
|
9ecf860d
|
2012-06-06T13:24:25
|
|
Rename posix wrappers with 'p_' prefix.
|
|
1a728066
|
2012-06-06T13:04:08
|
|
Remove 'git__' prefix from a static function.
|
|
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).
|
|
19d35d52
|
2012-06-06T12:31:48
|
|
Prefer git__free() to free().
|
|
8a385c04
|
2012-06-06T12:25:22
|
|
Move git__date_parse declaration to util.h.
|
|
2c2cde47
|
2012-06-06T08:41:39
|
|
Fix signatures for tree calls.
|
|
66798ad0
|
2012-06-06T11:00:15
|
|
Don't include arpa/inet.h on Windows
|
|
fdc5c38e
|
2012-06-05T23:03:06
|
|
transports: fix buglet
|
|
966fbdcb
|
2012-06-05T13:53:33
|
|
Merge pull request #697 from carlosmn/ssl
Add HTTPS support
|
|
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"
|
|
693b23c0
|
2012-06-05T14:29:10
|
|
repository: make git_repository_init() value the core.ignorecase config entry
|
|
2255b60e
|
2012-06-05T13:12:36
|
|
Merge pull request #714 from schu/config-enotfound
config: do not set an error for GIT_ENOTFOUND
|
|
56a5000d
|
2012-06-05T12:52:44
|
|
Merge branch 'development' into rev-parse
Conflicts:
src/util.h
tests-clar/refs/branches/listall.c
|
|
fac66990
|
2012-06-05T13:56:44
|
|
repository: make git_repository_init() value the core.filemode config entry
|
|
01dbe273
|
2012-06-04T15:10:29
|
|
Merge pull request #737 from nulltoken/topic/git_remote_add_refspec
Remotes and refspecs
|
|
d27bf665
|
2012-05-30T00:50:39
|
|
remote: Make git_remote_add() generate a default refspec with a force update specifier
|
|
e9551e86
|
2012-06-02T16:52:22
|
|
Fix git_close/http_close/local_close to set the transport's connected attribute to 0.
|
|
734efe4b
|
2012-06-01T14:18:52
|
|
Rev-parse: implement ":/foo" syntax.
|
|
1d4dcc4b
|
2012-06-01T11:48:58
|
|
config: set an error message when asked to delete a non-existent key
|
|
b183a92f
|
2012-05-31T13:42:58
|
|
Rev-parse: Plug memory leaks.
|
|
244d2f6b
|
2012-05-30T16:52:11
|
|
Rev-parse: add "tag:README" syntax.
|
|
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.
|
|
d05e2c64
|
2012-05-30T00:27:22
|
|
refspec: expose the force update specifier through git_refspec_force() accessor
|
|
2ab9dcbd
|
2012-05-27T16:47:56
|
|
Fix checking for the presence of a flag
|
|
9bea8e85
|
2012-05-27T19:54:53
|
|
filebuf: add git_filebuf_flush()
|
|
c1318f71
|
2012-05-26T18:16:13
|
|
Use lowercase names for Windows headers
Otherwise we can't cross-compile on Linux.
|
|
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.
|
|
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.
|
|
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.
|
|
9cde607c
|
2012-05-24T15:08:55
|
|
Clean up system file finding tests on Win32
|
|
349fb6d7
|
2012-05-24T23:04:41
|
|
windows: Properly expand all environment variables
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
8bf10dba
|
2012-05-23T12:59:21
|
|
Remove left-over debugging output
|
|
dc07184f
|
2012-05-23T12:05:48
|
|
fileops: Make git_futils_mkdir_r() able to cope with Windows network paths
Partially fix libgit2/libgit2sharp#153
|
|
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.
|
|
54db1a18
|
2012-05-19T13:20:55
|
|
Cleanup
* indexer: remove leftover printf
* commit: remove unused macros COMMIT_BASIC_PARSE, COMMIT_FULL_PARSE
and COMMIT_PRINT
|
|
441df990
|
2012-05-17T23:57:30
|
|
ssl: look up the last CN the alternative names don't match
|
|
3f9eb1e5
|
2012-05-17T22:22:05
|
|
ssl: add support for certificates issues to an IP address
|
|
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
|
|
16768191
|
2012-05-17T21:16:59
|
|
ssl: match host names according to RFC 2818 (HTTP over TLS)
|
|
dbb36e1b
|
2012-05-17T17:56:49
|
|
ssl: check certificates against the system's trusted CAs
|
|
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.
|
|
a6f24a5b
|
2012-05-01T01:50:26
|
|
https: make it work with OpenSSL as well
Add specific functions that use OpenSSL instead of GnuTLS
|
|
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.
|
|
59d91979
|
2012-05-18T13:53:38
|
|
Merge pull request #710 from libgit2/breaking-changes
Break everything before the release
|
|
a167002f
|
2012-05-18T12:36:25
|
|
fetch: set dummy function for local fetch
Local fetch isn't implemented yet. Don't segfault on call, but set a
dummy for negotiate_fetch and terminate gracefully.
Reported-by: Brad Harder <bch@methodlogic.net>
|