Commit Graph

9327 Commits

Author SHA1 Message Date
Carlos Martín Nieto
adb8f8d0bc 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.
2015-08-03 18:14:22 +02:00
Michael Procter
988ea59443 Test: check restored oom error points to static buffer 2015-08-03 15:23:17 +01:00
Michael Procter
0fcfb60dc4 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.
2015-08-03 15:23:17 +01:00
Michael Procter
25dbcf3499 Make giterr_detach no longer public 2015-08-03 15:23:17 +01:00
Michael Procter
c2f17bda07 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.
2015-08-03 15:23:17 +01:00
Michael Procter
5ef4b86015 Add failing test for capture/restore oom error 2015-08-03 15:23:17 +01:00
Edward Thomson
69adb781e1 Merge pull request #3325 from libgit2/cmn/filebuf-rename-error
filebuf: remove lockfile upon rename errors
2015-08-03 08:33:53 -05:00
Edward Thomson
0dd8daeada Merge pull request #3344 from libgit2/cmn/add-unreg-submodule
index: stage an unregistered submodule as well
2015-08-03 08:17:47 -05:00
Tony Kelman
e874f3c1c0 Increase required version of cmake to 2.8 2015-08-03 10:34:58 +02:00
Simon
7483e08f1a 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.
2015-08-03 10:34:36 +02:00
Stefan Widgren
a299d0af1b 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.
2015-08-03 10:34:26 +02:00
Carlos Martín Nieto
e5a7724969 Cherry-pick PR #3332: Resolve documentation warnings 2015-08-03 10:33:50 +02:00
Anders Borum
a91dff8931 case-insensitive check for WWW-Authenticate header
Fixes issue #3338
2015-08-03 10:33:16 +02:00
Carlos Martín Nieto
c5d4317887 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.
2015-08-03 10:32:57 +02:00
Carlos Martín Nieto
a4ded362b4 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.
2015-08-03 10:32:48 +02:00
Carlos Martín Nieto
3cf4eb0922 Merge pull request #3348 from MrHacky/remote-path-with-tilde
Handle ssh:// and git:// urls containing a '~' character.
2015-08-03 10:29:17 +02:00
Simon
ac728c2483 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.
2015-08-03 07:38:07 +01:00
Carlos Martín Nieto
ea961abf24 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.
2015-08-01 20:01:11 +02:00
Carlos Martín Nieto
b426ac90a9 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.
2015-08-01 19:52:25 +02:00
Linquize
63e5b55122 index: add test for adding an old-style submodule to index 2015-08-01 19:35:59 +02:00
Carlos Martín Nieto
c400bac4db Merge pull request #3332 from phatblat/ben/doc-warnings
Resolve documentation warnings
2015-08-01 15:38:04 +02:00
Carlos Martín Nieto
6a0d569669 Merge pull request #3333 from libgit2/cmn/for-v23
Maintenance updates for v0.23
2015-08-01 15:37:04 +02:00
Edward Thomson
723babd712 Merge pull request #3341 from stewid/pedantic-compiler-warning
Remove extra semicolon outside of a function
2015-07-31 15:36:22 -05:00
Stefan Widgren
c369b37919 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.
2015-07-31 16:23:11 +02:00
Edward Thomson
9d4b7d2524 Merge pull request #3328 from libgit2/cmn/iterator-skip-diriter
iterator: skip over errors in diriter init
2015-07-29 16:46:47 -05:00
Edward Thomson
a8058ffda7 Merge pull request #3339 from palmin/palmin-issue-3338
case-insensitive check for WWW-Authenticate header
2015-07-29 16:35:08 -05:00
Anders Borum
31a76374a9 case-insensitive check for WWW-Authenticate header
Fixes issue #3338
2015-07-29 22:23:00 +02:00
Ben Chatelain
6d8f3a5162 Better param docs 2015-07-28 08:28:33 -06:00
Carlos Martín Nieto
f85fc367e0 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.
2015-07-28 09:31:00 +02:00
Sven Strickroth
ac1a5e20b8 Make libgit2 work on Windows Vista again
(fixes issue #3316)

Signed-off-by: Sven Strickroth <email@cs-ware.de>
2015-07-28 08:28:04 +02:00
Ryan Roden-Corrent
555b351896 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).
2015-07-28 08:27:56 +02:00
Fallso
2563101b4f Fix macro redefinition warning 2015-07-28 08:27:45 +02:00
Carlos Martín Nieto
55bc135130 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.
2015-07-28 08:25:41 +02:00
Carlos Martín Nieto
a89a756d87 submodule: add failing test for backslash in url 2015-07-28 08:25:41 +02:00
Matthew Plough
38dc994031 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.
2015-07-28 08:25:23 +02:00
Carlos Martín Nieto
34ff34fd6a 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.
2015-07-28 08:25:06 +02:00
Carlos Martín Nieto
678c4aacf5 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.
2015-07-28 08:24:55 +02:00
Carlos Martín Nieto
aafaa491ba 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.
2015-07-28 08:24:55 +02:00
Carlos Martín Nieto
7624b91fd3 errors: add EDIRECTORY
This is to be returned when the operation which the user asked for is
not possible to do on a directory.
2015-07-28 08:24:55 +02:00
Carlos Martín Nieto
e48dd86eca 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.
2015-07-28 08:22:59 +02:00
Carlos Martín Nieto
1207b8f2a7 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.
2015-07-28 08:22:59 +02:00
Edward Thomson
f2dc6b77ee khash: add eol so picky compilers stop warning 2015-07-28 08:22:26 +02:00
Edward Thomson
a4743de873 xdiff: cleanup some warnings 2015-07-28 08:21:47 +02:00
Edward Thomson
75d0b81abf 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).
2015-07-28 08:20:58 +02:00
Edward Thomson
ba6b288426 revert: correct test that added trailing newline 2015-07-28 08:18:37 +02:00
Edward Thomson
9ff89eaaa1 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.
2015-07-28 08:18:37 +02:00
Tony Kelman
f57403919a 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
```
2015-07-28 08:17:58 +02:00
Ben Chatelain
08afd227df Fix remaining documentation warnings 2015-07-27 18:32:55 -06:00
Ben Chatelain
2da64edb80 Add -Wdocumentation flag if supported 2015-07-27 18:28:29 -06:00
Ben Chatelain
f90fbb8d22 Use correct Doxygen trailing comment syntax 2015-07-27 17:42:08 -06:00