|
9f1af7f2
|
2015-08-13T10:22:50
|
|
Merge pull request #3168 from libgit2/cmn/config-tx
Locking and transactional/atomic updates for config
|
|
1573acbb
|
2015-08-12T08:46:50
|
|
Merge pull request #3372 from libgit2/cmn/mirror-refspec
remote: don't confuse tag auto-follow rules with refspec matching
|
|
36f784b5
|
2015-06-01T20:02:23
|
|
config: expose locking via the main API
This lock/unlock pair allows for the cller to lock a configuration file
to avoid concurrent operations.
It also allows for a transactional approach to updating a configuration
file. If multiple updates must be made atomically, they can be done
while the config is locked.
|
|
5340d63d
|
2015-07-12T12:50:23
|
|
config: perform unlocking via git_transaction
This makes the API for commiting or discarding changes the same as for
references.
|
|
b1667039
|
2015-06-01T19:17:03
|
|
config: implement basic transactional support
When a configuration file is locked, any updates made to it will be done
to the in-memory copy of the file. This allows for multiple updates to
happen while we hold the lock, preventing races during complex
config-file manipulation.
|
|
3ce9e4d2
|
2015-06-01T08:45:15
|
|
config: write the modified file to memory
Instead of writing into the filebuf directly, make the functions to
write the modified config file write into a buffer which can then be
dumped into the lockfile for committing.
This allows us to re-use the same code for modifying a locked
configuration, as we can simply skip the last step of dumping the data
to disk.
|
|
bbbd0cbd
|
2015-08-12T04:04:39
|
|
Merge pull request #3363 from ripdev/master
Forcing libssh2 lib location in CMake
|
|
e3e017d4
|
2015-08-11T22:51:53
|
|
remote: don't confuse tag auto-follow rules with refspec matching
When we're looking to update a tag, we can't stop if the tag auto-follow
rules don't say to update it. The tag might still match the refspec we
were given.
|
|
a8792767
|
2015-08-11T20:44:19
|
|
remote: add failing test for a mirror refspec
While we download the remote's remote-tracking branches, we don't
download the tag. This points to the tag auto-follow rules interfering
with the refspec.
|
|
c27b4afc
|
2015-08-06T11:06:17
|
|
Forcing libssh2 lib location
OS X may have libssh2 in diff locations, so CHECK_LIBRARY_EXISTS may check the wrong lib; forcing it to use a found directory.
|
|
98f7bd28
|
2015-08-05T16:26:43
|
|
Merge pull request #3360 from nodegit/master-duplicate-basename-fix
Fix duplicate basenames to support older VS on master
|
|
eba784d2
|
2015-08-05T10:19:06
|
|
Fix duplicate basenames to support older VS
With Visual Studio versions 2008 and older they ignore the full path to files and only check
the basename of the file to find a collision. Additionally, having duplicate basenames can break
other build tools like GYP.
This fixes https://github.com/libgit2/libgit2/issues/3356
|
|
cf716bee
|
2015-08-04T11:18:21
|
|
Merge pull request #3351 from ethomson/error_buf
Error handling: use buffers, improved OOM handling
|
|
ef4857c2
|
2015-08-03T16:50:27
|
|
errors: tighten up git_error_state OOMs a bit more
When an error state is an OOM, make sure that we treat is specially
and do not try to free it.
|
|
854b701c
|
2015-08-03T15:02:02
|
|
Merge remote-tracking branches 'upstream/pr/3323' and 'upstream/pr/3329'
|
|
988ea594
|
2015-07-27T10:13:49
|
|
Test: check restored oom error points to static buffer
|
|
0fcfb60d
|
2015-07-27T10:10:18
|
|
Make giterr_restore aware of g_git_oom_error
Allow restoring a previously captured oom error, by
detecting when the captured message pointer points to the
static oom error message. This means there is no need
to strdup the message in giterr_detach.
|
|
25dbcf34
|
2015-07-27T09:59:07
|
|
Make giterr_detach no longer public
|
|
c2f17bda
|
2015-07-23T13:17:08
|
|
Ensure static oom error message not detached
Error messages that are detached are assumed to be dynamically
allocated. Passing a pointer to the static oom error message
can cause an attempt to free the static buffer later. This change
checks if the oom error message is about to be detached and detaches
a copy instead.
|
|
5ef4b860
|
2015-07-23T13:16:19
|
|
Add failing test for capture/restore oom error
|
|
69adb781
|
2015-08-03T08:33:53
|
|
Merge pull request #3325 from libgit2/cmn/filebuf-rename-error
filebuf: remove lockfile upon rename errors
|
|
0dd8daea
|
2015-08-03T08:17:47
|
|
Merge pull request #3344 from libgit2/cmn/add-unreg-submodule
index: stage an unregistered submodule as well
|
|
3cf4eb09
|
2015-08-03T10:29:17
|
|
Merge pull request #3348 from MrHacky/remote-path-with-tilde
Handle ssh:// and git:// urls containing a '~' character.
|
|
ac728c24
|
2015-08-03T07:38:07
|
|
Handle ssh:// and git:// urls containing a '~' character.
For such a path '/~/...' the leading '/' is stripped so the server will
get a path starting with '~' and correctly handle it.
|
|
ea961abf
|
2015-08-01T19:53:53
|
|
index: stage an unregistered submodule as well
We previously added logic to `_add_bypath()` to update a submodule. Go
further and stage the submodule even if it's not registered to behave
like git.
|
|
b426ac90
|
2015-08-01T19:52:25
|
|
index: test that an unregistered submodule gets staged
When we pass the path of a repository to `_bypath()`, we should behave
like git and stage it as a `_COMMIT` regardless of whether it is
registered a a submodule.
|
|
63e5b551
|
2015-07-29T00:08:37
|
|
index: add test for adding an old-style submodule to index
|
|
c400bac4
|
2015-08-01T15:38:04
|
|
Merge pull request #3332 from phatblat/ben/doc-warnings
Resolve documentation warnings
|
|
723babd7
|
2015-07-31T15:36:22
|
|
Merge pull request #3341 from stewid/pedantic-compiler-warning
Remove extra semicolon outside of a function
|
|
c369b379
|
2015-07-31T16:23:11
|
|
Remove extra semicolon outside of a function
Without this change, compiling with gcc and pedantic generates warning:
ISO C does not allow extra ‘;’ outside of a function.
|
|
9d4b7d25
|
2015-07-29T16:46:47
|
|
Merge pull request #3328 from libgit2/cmn/iterator-skip-diriter
iterator: skip over errors in diriter init
|
|
a8058ffd
|
2015-07-29T16:35:08
|
|
Merge pull request #3339 from palmin/palmin-issue-3338
case-insensitive check for WWW-Authenticate header
|
|
31a76374
|
2015-07-29T22:23:00
|
|
case-insensitive check for WWW-Authenticate header
Fixes issue #3338
|
|
6d8f3a51
|
2015-07-28T08:28:33
|
|
Better param docs
|
|
f85fc367
|
2015-07-26T21:12:00
|
|
error: store the error messages in a reusable buffer
Instead of allocating a brand new buffer for each error string we want
to store, we can use a per-thread buffer to store the error string and
re-use the underlying storage. We already use the buffer to format the
string, so this mostly makes that more direct.
|
|
08afd227
|
2015-07-27T18:32:55
|
|
Fix remaining documentation warnings
|
|
2da64edb
|
2015-07-27T18:28:29
|
|
Add -Wdocumentation flag if supported
|
|
f90fbb8d
|
2015-07-27T17:42:08
|
|
Use correct Doxygen trailing comment syntax
|
|
41808d04
|
2015-07-27T14:46:50
|
|
Fix @param names in doc comments
|
|
0e391d85
|
2015-07-27T13:31:06
|
|
iterator: adjust unreadable-dir test to new behaviour
We don't want the iterator to make us stop whenever we hit an unreadable
dir. We should instead move over to the next item.
|
|
12786e0f
|
2015-07-26T17:19:22
|
|
iterator: skip over errors in diriter init
An error here will typically mean that the directory was removed between
the time we iterated the parent and the time we wanted to visit it in
which case we should ignore it.
Other kinds of errors such as permissions (or transient errors) also
better dealt with by pretending we didn't see it.
|
|
19d9beb7
|
2015-07-24T19:22:41
|
|
filebuf: remove lockfile upon rename errors
When we have an error renaming the lockfile, we need to make sure
that we remove it upon cleanup. For this, we need to keep track of
whether we opened the file and whether the rename succeeded.
If we did create the lockfile but the rename did not succeed, we
remove the lockfile. This won't protect against all errors, but
the most common ones (target file is open) does get handled.
|
|
668053be
|
2015-07-24T18:44:29
|
|
filebuf: failing test for leaving the lockfile when failing to rename
When we fail to rename, we currently leave the lockfile laying
around. This shows that behaviour.
|
|
2dfd5eae
|
2015-07-24T15:05:16
|
|
Merge pull request #3307 from libgit2/cmn/submodule-backslash
Normalize submodule urls before looking at them
|
|
759b2230
|
2015-07-24T15:04:20
|
|
Merge pull request #3303 from libgit2/cmn/index-add-submodule
Allow adding a submodule through git_index_add_bypath
|
|
91dad181
|
2015-07-24T15:01:04
|
|
Merge pull request #3305 from libgit2/cmn/reflog-del-backend
refdb: delete a ref's reflog upon deletion
|
|
14e805a2
|
2015-07-24T14:59:38
|
|
Merge pull request #3304 from libgit2/cmn/checkout-free-stream
filter: make sure to close the stream even on error
|
|
4e0421fd
|
2015-07-23T10:00:55
|
|
Merge pull request #3317 from csware/fix-vista
Make libgit2 work on Windows Vista again
|
|
abbe17ef
|
2015-07-22T16:01:08
|
|
Merge pull request #3322 from libgit2/fix-init-ordering
Increment `git__n_inits` before doing `init_once`.
|
|
9830fbba
|
2015-07-22T11:33:18
|
|
Merge branch 'master' into fix-init-ordering
|
|
cf198fdf
|
2015-07-22T10:51:38
|
|
Increment `git__n_inits` before doing `init_once`.
Fixes #3318.
|
|
318bb763
|
2015-07-21T23:36:39
|
|
Make libgit2 work on Windows Vista again
(fixes issue #3316)
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
42156d56
|
2015-07-20T16:47:21
|
|
Merge pull request #3315 from rcorre/docfix
Document git_fetch_options struct and fix typo.
|
|
37996d47
|
2015-07-20T09:21:36
|
|
Document git_fetch_options struct and fix typo.
git_fetch_options was missing from the API docs because it lacked a
documentation comment above the struct declaration.
I used the git_checkout_options docstring as a template.
Also fixes a typo in git_remote_prune_refs (remote, not reamote).
|
|
274f0b93
|
2015-07-15T09:17:35
|
|
Merge pull request #3311 from Fallso/MacroRedefinition
Fix macro redefinition warning
|
|
cec3569f
|
2015-07-14T15:33:56
|
|
Fix macro redefinition warning
|
|
ceb58739
|
2015-07-13T18:50:39
|
|
Merge pull request #3302 from libgit2/cmn/submodule-foreach-diff-path
List a submodule only once when the path matches a submodule in the index
|
|
a58854a0
|
2015-07-13T17:11:19
|
|
submodule, path: extract slash conversion
Extract the backslash-to-slash conversion into a helper function.
|
|
97c0a85f
|
2015-07-13T11:23:07
|
|
Merge pull request #3306 from libgit2/cmn/fetch-ex-fetch
examples: modernise the fetch example
|
|
f00f005b
|
2015-07-13T09:08:32
|
|
submodule: normalize slashes in resolve_url
Our path functions expect to work with slashes, so convert a
path with backslashes into one with slashes at the top of
the function.
|
|
aa51fa1e
|
2015-07-13T08:39:35
|
|
submodule: add failing test for backslash in url
|
|
f861abad
|
2015-07-12T19:56:19
|
|
Merge branch 'portable-zu'
|
|
768f8be3
|
2015-06-30T19:00:41
|
|
Fix #3094 - improve use of portable size_t/ssize_t format specifiers.
The header src/cc-compat.h defines portable format specifiers PRIuZ, PRIdZ, and PRIxZ. The original report highlighted the need to use these specifiers in examples/network/fetch.c. For this commit, I checked all C source and header files not in deps/ and transitioned to the appropriate format specifier where appropriate.
|
|
6c7e86e1
|
2015-07-12T19:41:01
|
|
examples: modernise the fetch example
Under normal conditions, git_remote_fetch() should be the only function
used to perform a fetch. Don't let the example lead people astray.
|
|
01d0c02d
|
2015-07-12T19:08:06
|
|
refdb: delete a ref's reflog upon deletion
Removing a reflog upon ref deletion is something which only some
backends might wish to do. Backends which are database-backed may wish
to archive a reflog, log-based ones may not need to do anything.
|
|
4de7f3bf
|
2015-07-12T13:28:03
|
|
filter: make sure to close the stream even on error
When the stream list init or write fail, we must also make sure to close
the stream, as that's the function contract.
|
|
247d27c2
|
2015-07-11T19:41:03
|
|
index: allow add_bypath to update submodules
Similarly to how git itself does it, allow the index update operation to
stage a change in a submodule's HEAD.
|
|
0d98af09
|
2015-07-11T19:03:38
|
|
blob: fail to create a blob from a dir with EDIRECTORY
This also affects `git_index_add_bypath()` by providing a better error
message and a specific error code when a directory is passed.
|
|
8a52ed7a
|
2015-07-11T18:51:36
|
|
errors: add EDIRECTORY
This is to be returned when the operation which the user asked for is
not possible to do on a directory.
|
|
a522d8c1
|
2015-07-11T17:35:59
|
|
Merge pull request #3292 from tkelman/patch-1
Increase required version of cmake to 2.8
|
|
08c2d3e9
|
2015-07-11T18:31:28
|
|
submodule: lookup the submodule by path if available
If we get the path from the gitmodules file, look up the submodule we're
interested in by path, rather then by name. Otherwise we might get
duplicate results.
|
|
a34c4f8d
|
2015-07-11T13:32:57
|
|
submdule: reproduce double-reporting of a submodule in foreach
When we rename a submodule, we should be merging two sets of information
based on whether their path is the same. We currently only deduplicate
on equal name, which causes us to double-report.
|
|
37c84dc5
|
2015-07-05T10:07:48
|
|
Increase required version of cmake to 2.8
|
|
1cd96016
|
2015-07-10T19:32:04
|
|
Merge pull request #3301 from ethomson/warnings
Clean up some warnings
|
|
a1687f78
|
2015-07-10T19:07:41
|
|
Merge pull request #3297 from tkelman/patch-2
Fix undefined reference with old versions of openssl
|
|
f2a328fa
|
2015-07-10T18:36:53
|
|
Merge pull request #3272 from ethomson/cert
git_cert: child types use proper base type
|
|
9c033102
|
2015-06-30T13:41:01
|
|
khash: add eol so picky compilers stop warning
|
|
9a99ca7b
|
2015-07-10T09:25:45
|
|
wildcard filters: move CHANGELOG message to 0.23+1
|
|
bae467ae
|
2015-07-10T09:25:20
|
|
wildcard filters: clean up some warnings in tests
|
|
a3c00cd8
|
2015-07-10T09:21:59
|
|
xdiff: cleanup some warnings
|
|
79698030
|
2015-06-29T22:51:18
|
|
git_cert: child types use proper base type
|
|
9847d80d
|
2015-07-09T18:21:31
|
|
Merge pull request #3281 from ethomson/wildcard_filters
filters: custom filters with wildcard attributes
|
|
cd85ce60
|
2015-07-08T21:17:56
|
|
Merge pull request #3299 from ethomson/xdiff_update
Don't add unnecessary trailing newline during file merge
|
|
234ca40a
|
2015-07-07T16:46:48
|
|
xdiff: upgrade to core git 2.4.5
Upgrade xdiff to version used in core git 2.4.5 (0df0541).
Corrects an issue where an LF is added at EOF while applying
an unrelated change (ba31180), cleans up some unused code (be89977 and
e5b0662), and provides an improved callback to avoid leaking internal
(to xdiff) structures (467d348).
This also adds some additional functionality that we do not yet take
advantage of, namely the ability to ignore changes whose lines are
all blank (36617af).
|
|
43ce8cb5
|
2015-07-07T16:46:20
|
|
revert: correct test that added trailing newline
|
|
ae8f7260
|
2015-07-07T16:59:14
|
|
merge_files: don't add trailing newlines
When invoked with three files that each lack a trailing newline,
the merge result should also lack a trailing newline.
|
|
286befeb
|
2015-07-07T16:55:32
|
|
Merge pull request #3298 from ethomson/gitauthors
meta: Add Antoine Pelisse to hall-of-fame list
|
|
01e031d9
|
2015-07-07T12:40:15
|
|
meta: Add Antoine Pelisse to hall-of-fame list
Antoine Pelisse <apelisse@gmail.com> has kindly allowed his
contributions to core git to be used under the libgit2 license.
|
|
febc8c46
|
2015-07-07T06:55:05
|
|
Fix undefined reference with old versions of openssl
Versions prior to 0.9.8f did not have this function, rhel/centos5 are still on a
heavily backported version of 0.9.8e and theoretically supported until March 2017
Without this ifdef, I get the following link failure:
```
CMakeFiles/libgit2_clar.dir/src/openssl_stream.c.o: In function `openssl_connect':
openssl_stream.c:(.text+0x45a): undefined reference to `SSL_set_tlsext_host_name'
collect2: error: ld returned 1 exit status
make[6]: *** [libgit2_clar] Error 1
```
|
|
3704ac35
|
2015-07-07T12:38:47
|
|
Merge pull request #3277 from git-up/git_diff_index_to_index
Added git_diff_index_to_index()
|
|
ea445e06
|
2015-07-07T00:48:17
|
|
Merge pull request #3288 from ethomson/getenv
git__getenv: utf-8 aware env reader
|
|
3c831113
|
2015-07-06T19:04:48
|
|
Merge pull request #3202 from jeffhostetler/windows_stack_trace
Stacktraces with CRTDBG memory leaks on Windows
|
|
a0bdfe32
|
2015-07-06T18:42:39
|
|
travis: don't install CMake on OS X
Homebrew will error out because it's already installed.
|
|
d41b8ed0
|
2015-07-06T18:32:31
|
|
travis: update the homebrew db
We need to make sure we are asking for the current version of packages,
or we might get 404s from the download service.
|
|
159061a8
|
2015-07-06T16:23:44
|
|
Update CHANGELOG with the release number
|
|
4d6362b1
|
2015-07-03T16:29:32
|
|
Merge pull request #3290 from libgit2/cmn/filter-doc
filter: add docs for streaming filters
|
|
a94d3e68
|
2015-07-03T14:34:30
|
|
filter: add docs for streaming filters
These functions are available on the public API but don't have any
documentation, so they don't appear on the API reference. Fix that.
|
|
99090a85
|
2015-07-03T00:38:33
|
|
Merge pull request #3289 from ethomson/warnings4
iterator_walk: cast away constness for free
|
|
e069c621
|
2015-07-02T09:25:48
|
|
git__getenv: utf-8 aware env reader
Introduce `git__getenv` which is a UTF-8 aware `getenv` everywhere.
Make `cl_getenv` use this to keep consistent memory handling around
return values (free everywhere, as opposed to only some platforms).
|
|
f034c851
|
2015-07-02T17:55:16
|
|
Merge pull request #3287 from ethomson/filter_test_cleanup
filter::stream: free the filter sanely
|