|
c3f35902
|
2012-06-07T20:29:22
|
|
Merge remote-tracking branch 'source/development' into update-test
Merging main libgit2!
Conflicts:
CMakeLists.txt
src/unix/map.c
|
|
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
|
|
9bc57e56
|
2012-06-07T09:37:23
|
|
Merge pull request #751 from libgit2/8bit-filename-status
git_status_file returns GIT_ENOTFOUND for "域名检测工具.exe" (and similarly named files)
|
|
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.
|
|
b9f78cb8
|
2012-06-07T09:49:52
|
|
Ingore clar_main.c.rule
|
|
6654dbe3
|
2012-06-07T14:09:25
|
|
tests: fix assertion
|
|
6f944ab1
|
2012-06-07T13:36:28
|
|
Fix compilation warning
|
|
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
|
|
8fc1e0c8
|
2012-06-05T13:18:29
|
|
Merge pull request #738 from nacho/development
libgit2-glib bindings moved to gnome servers
|
|
a146ba9e
|
2012-06-05T22:16:08
|
|
tests: Fix warning with nested comments
|
|
2255b60e
|
2012-06-05T13:12:36
|
|
Merge pull request #714 from schu/config-enotfound
config: do not set an error for GIT_ENOTFOUND
|
|
fac66990
|
2012-06-05T13:56:44
|
|
repository: make git_repository_init() value the core.filemode config entry
|
|
cada414a
|
2012-06-05T12:07:08
|
|
OS4 is PPC
|
|
82c23c58
|
2012-06-05T12:06:40
|
|
Assume this is irrelevant for now
|
|
d0517805
|
2012-06-05T11:47:17
|
|
Required include for OS4 to typedef int64_t
|
|
bad15056
|
2012-06-05T11:41:43
|
|
Force not to use openssl, as confusing cross-compiler
t to use openssl, as confusing cross-compiler
t to use openssl, as confusing cross-compiler
ss
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: CMakeLists.txt
|
|
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
|
|
8856849c
|
2012-06-04T14:31:53
|
|
Merge pull request #739 from arthurschreiber/fix_remote_connected
Fix git_remote_connected
|
|
e9551e86
|
2012-06-02T16:52:22
|
|
Fix git_close/http_close/local_close to set the transport's connected attribute to 0.
|
|
36c88422
|
2012-06-02T16:48:12
|
|
Add a failing test case for git_remote_disconnect/git_remote_connected.
|
|
1d4dcc4b
|
2012-06-01T11:48:58
|
|
config: set an error message when asked to delete a non-existent key
|
|
36bae3e9
|
2012-05-31T09:56:05
|
|
libgit2-glib bindings moved to gnome servers
|
|
d05e2c64
|
2012-05-30T00:27:22
|
|
refspec: expose the force update specifier through git_refspec_force() accessor
|
|
1835c51f
|
2012-05-29T09:59:55
|
|
Merge pull request #735 from gregier/development
Fix checking for the presence of a flag
|
|
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()
|
|
4c977a61
|
2012-05-26T20:08:04
|
|
Merge pull request #734 from scottjg/travis-mingw
Enable mingw cross-compilation in travis-ci
|
|
64ab0ba7
|
2012-05-26T18:23:54
|
|
Enable mingw cross-compile stage in travis-ci
|
|
2eb18449
|
2012-05-26T18:20:33
|
|
Refactor CMakeLists.txt for mingw cross-compile
Two things:
1) By default, Linux CMake puts -fPIC on the link line. So we remove that
for MINGW to avoid warnings that it will be ignored.
2) Similarly, move -fvisibility=hidden flag to be for non-mingw
compilation only to avoid warnings that it will be ignored.
|
|
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.
|
|
539e6c13
|
2012-05-26T10:38:24
|
|
Merge pull request #732 from schu/fix-gcc-nonnull
tests-clar/core: fix non-null warning
|
|
dbab0459
|
2012-05-26T14:59:07
|
|
tests-clar/core: fix non-null warning
gcc 4.7.0 apparently doesn't see that we won't call setenv with NULL as
second argument.
|
|
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.
|
|
4728b55a
|
2012-05-24T17:43:17
|
|
Merge pull request #729 from arrbee/fix-728
Fix bugs for status
|
|
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.
|
|
a4452eb1
|
2012-05-24T15:12:18
|
|
Merge pull request #727 from libgit2/env-expansion
windows: Properly expand all environment variables
|
|
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.
|
|
7eeec8f2
|
2012-05-24T16:41:53
|
|
examples/network: consistently use tabs for indentation
|
|
88bfe790
|
2012-05-24T13:38:25
|
|
README: use docs/rel-notes/ for the release notes
|
|
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
|
|
c4c9de6a
|
2012-05-23T15:03:07
|
|
Merge pull request #712 from waywardmonkeys/embedded_makefile_fixes
Embedded makefile fixes
|
|
25804185
|
2012-05-23T15:01:52
|
|
Merge pull request #716 from scottjg/examples-cleanup
Build fixes for examples/
|
|
33593265
|
2012-05-23T10:10:04
|
|
Merge pull request #723 from carlosmn/rel-notes
Add notice about release notes
|
|
0f4d78d2
|
2012-05-23T17:12:14
|
|
README: add rules about writing release notes as they happen
|
|
902bfd31
|
2012-05-23T16:42:02
|
|
CONVENTIONS: Update error code names
|
|
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
|
|
62986ff6
|
2012-05-20T00:46:48
|
|
Add CMake build for examples / add them to Travis
By default, they are still not built, but hopefully, now that Travis is
building them, this will help stave off some of the bitrot.
|
|
ab4aa138
|
2012-05-20T00:40:31
|
|
Fix examples/general.c compilation
git_reference_listall() -> git reference_list()
|
|
7a361e93
|
2012-05-19T10:48:15
|
|
Merge pull request #715 from schu/cleanup-misc
Cleanup
|
|
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.
|
|
f7ed0c34
|
2012-05-19T07:10:22
|
|
Merge pull request #713 from waywardmonkeys/spelling
Fix spelling errors.
|
|
d73c94b2
|
2012-05-19T20:24:55
|
|
Fix spelling errors.
|
|
8e1742ab
|
2012-05-19T18:06:19
|
|
Allow passing additional defines and cflags to Makefile.embed.
|
|
56e1e2bf
|
2012-05-19T18:05:56
|
|
Build xdiff as well in Makefile.embed.
|
|
ad5df35a
|
2012-05-19T01:40:46
|
|
libgit2 v0.17.0 "Lord of Diffstruction"
Welcome to yet another libgit2 release, this one being the
biggest we've shipped so far. Highlights on this release
include diff, branches, notes and submodules support. The new
diff API is shiny and powerful. Check it out.
Apologies, one more time, to all the early adopters for the
breaking API changes. We've been iterating on the error
handling for the library until we reached its current state,
which we believe it's significantly more usable both for normal
users and for developers of bindings to other languages.
Also, we've renamed a few legacy calls to ensure that the whole
external API uses a consistent naming scheme.
As always, check the API docs for the full list of new API calls
and backwards-incompatible changes.
http://libgit2.github.com/libgit2/
Changelog of new features follows:
Attributes:
- Added function macros to check attribute values instead of having
to manually compare them
- Added support for choosing the attribute loading order (workdir files
vs index) and to skip the systems' default `.gitattributes`
- Fixed issues when fetching attribute data on bare repositories
Blob:
- Added support for creating blobs from any file on disk (not
restricted to the repository's working directory)
- Aded support for smudge filters when writing blobs to the ODB
- So far only CRLF normalization is available
Branches:
- Added a high-level branch API:
- git_branch_create
- git_branch_delete
- git_branch_list
- git_branch_move
Commit:
- Commit messages are now filtered to match Git rules (stripping
comments and adding proper whitespacing rules)
Config:
- Added support for setting and getting multivars
- Added `git_config_get_mapped` to map the value of a config
variable based on its defaults
Diff:
- Added full diff API:
- tree to tree
- index to tree
- workdir to index
- workdir to tree
- blob to blob
- Added helper functions to print the diffs as valid patchfiles
Error handling:
- New design for the error handling API, taking into consideration
the requirements of dynamic languages
Indexer:
- Added streaming packfile indexer
Merge:
- Added support for finding the merge base between two commits
Notes:
- Full git-notes support:
- git_note_read
- git_note_message/git_note_oid
- git_note_create
- git_note_remove
- git_note_free
- git_note_foreach
References:
- Added `git_reference_name_to_oid` helper to resolve
a reference to its final OID
- Added `git_reference_cmp` to compare two references with
a stable order
Remotes:
- Added support for writing and saving remotes
- `git_remote_add`
- `git_remote_save`
- Setters for all the attributes of a remote
- Switched remote download to the new streaming packfile indexer
- Fixed fetch on HTTP and Git under Windows
- Added `git_remote_supported_url` helper to check if a protocol
can be accessed by the library
- Added `git_remote_list`
Repository:
- Made `git_repository_open` smarter when finding the `.git` folder.
- Added `git_repository_open_ext` with extra options when
opening a repository
Revwalk:
- Added support for pushing/hiding several references through a glob
- Added helper to push/hide the current HEAD to the walker
- Added helper to push/hide a single reference to the walker
Status:
- Greatly improved Status implementation using the new `diff` code
as a backend
Submodules:
- Added a partial submodules API to get information about a
submodule and list all the submodules in a repository
- git_submodule_foreach
- git_submodule_lookup
Tag:
- Added `git_tag_peel` helper to peel a tag to its pointed object
- Tag messages are now filtered to match Git rules (stripping comments
and adding proper whitespacing rules)
Tree:
- Killed the old `git_tree_diff` API, which is replaced by the
new diff code.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
|
|
59d91979
|
2012-05-18T13:53:38
|
|
Merge pull request #710 from libgit2/breaking-changes
Break everything before the release
|
|
498b72eb
|
2012-05-18T04:38:15
|
|
Merge pull request #711 from schu/fetch-local-dummy
fetch: set dummy function for local fetch
|
|
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>
|
|
6ec01e63
|
2012-05-17T16:51:17
|
|
Merge pull request #685 from nulltoken/fix/list-remote-branches
branch: retrieve symbolic references when listing the branches
|
|
904b67e6
|
2012-05-18T01:48:50
|
|
errors: Rename error codes
|
|
e172cf08
|
2012-05-18T01:21:06
|
|
errors: Rename the generic return codes
|
|
2e2e9785
|
2012-05-18T00:42:24
|
|
Properly tag all `enums` with a `_t`
|
|
4fbd1c00
|
2012-05-17T20:35:48
|
|
refs: git_reference_listall -> git_reference_list
|
|
fe3bcf7d
|
2012-05-11T12:20:19
|
|
errors: Remove old comments
|
|
255c38c5
|
2012-05-10T11:50:29
|
|
global: Fix unit tests after reordering
|
|
29e948de
|
2012-05-10T10:38:10
|
|
global: Change parameter ordering in API
Consistency is good.
|
|
392eced6
|
2012-05-11T22:22:14
|
|
branch: retrieve symbolic references when listing the branches
|
|
52695898
|
2012-05-17T14:46:44
|
|
Merge pull request #709 from arrbee/profiling-with-scottg
Profiling with scottg
|
|
e3557172
|
2012-05-17T14:44:17
|
|
No point in keeping commented out fn
|
|
88d6e044
|
2012-05-17T14:25:42
|
|
Merge pull request #708 from arrbee/fix-empty-workdir-iterator
Fix workdir iterators on empty directories
|
|
6e5c4af0
|
2012-05-17T14:21:10
|
|
Fix workdir iterators on empty directories
Creating a workdir iterator on a directory with absolutely
no files was returning an error (GIT_ENOTFOUND) instead of
an iterator for nothing. This fixes that and includes two
new tests that cover that case.
|
|
a0d95962
|
2012-05-17T13:14:17
|
|
Other optimization and warning fixes
This fixes a warning left by the earlier optimization and
addresses one of the other hotspots identified by GProf.
|
|
b59c73d3
|
2012-05-17T13:06:20
|
|
Optimize away git_text_gather_stats in diff
GProf shows `git_text_gather_stats` as the most expensive call
in large diffs. The function calculates a lot of information
that is not actually used and does not do so in a optimal
order. This introduces a tuned `git_buf_is_binary` function
that executes the same algorithm in a fraction of the time.
|
|
706a9974
|
2012-05-17T13:05:17
|
|
Basic setup for profiling
This fixes the examples so they will build and adds a PROFILE
option to the CMakeFile that enabled gprof info on non-Windows
|
|
db756d58
|
2012-05-16T17:18:17
|
|
Merge pull request #706 from arrbee/fix_592_again
Fix status for files under ignored dirs
|
|
bd4ca902
|
2012-05-16T17:02:06
|
|
Fix status for files under ignored dirs
There was a bug where tracked files inside directories that were
inside ignored directories where not being found by status. To
make that a little clearer, if you have a .gitignore with:
ignore/
And then have the following files:
ignore/dir/tracked <-- actually a tracked file
ignore/dir/untracked <-- should be ignored
Then we would show the tracked file as being removed (because
when we got the to contained item "dir/" inside the ignored
directory, we decided it was safe to skip -- bzzt, wrong!).
This update is much more careful about checking that we are
not skipping over any prefix of a tracked item, regardless of
whether it is ignored or not.
As documented in diff.c, this commit does create behavior that
still differs from core git with regards to the handling of
untracked files contained inside ignored directories. With
libgit2, those files will just not show up in status or diff.
With core git, those files don't show up in status or diff
either *unless* they are explicitly ignored by a .gitignore
pattern in which case they show up as ignored files.
Needless to say, this is a local behavior difference only, so
it should not be important and (to me) the libgit2 behavior
seems more consistent.
|
|
38f4f158
|
2012-05-16T13:43:16
|
|
Merge pull request #705 from nulltoken/fix/note_list_callback_signature
notes: make git_note_foreach() callback signature easier to cope with from a binding perspective
|