|
7e59552b
|
2015-06-22T18:31:21
|
|
appveyor: build maint branches
|
|
3e749ff3
|
2015-05-22T17:44:28
|
|
travis: build maint branches
|
|
b29e528b
|
2015-06-12T12:17:03
|
|
travis: fail if we fail the push tests
These tests were not being taken into consideration for the failure of
the test. They've been failing for a while now, but we hadn't noticed as
Travis was reporting the builds successful.
|
|
9ac8fb4a
|
2015-06-06T03:55:28
|
|
path: error out if the callback returns an error
When the callback returns an error, we should stop immediately. This
broke when trying to make sure we pass specific errors up the chain.
This broke cancelling out of the loose backend's foreach.
|
|
0b4e8ab2
|
2015-06-02T10:25:22
|
|
indexer: use lseek to extend the packfile
We've been using `p_ftruncate()` to extend the packfile in order to mmap
it and write the new data into it. This works well in the general case,
but as truncation does not allocate space in the filesystem, it must do
so when we write data to it.
The only way the OS has to indicate a failure to allocate space is via
SIGBUS which means we tried to write outside the file. This will cause
everyone to crash as they don't expect to handle this signal.
Switch to using `p_lseek()` and `p_write()` to extend the file in a way
which tells the filesystem to allocate the space for the missing
data. We can then be sure that we have space to write into.
|
|
b494e763
|
2015-06-01T22:15:11
|
|
clone: fall back to copying when linking does not work
We use heuristics to make a decent guess at when we can save time and
space by linking object files during a clone. Unfortunately checking the
device id isn't enough, as those would be the same during e.g. a bind-mount,
but the OS still does not allow us to link between mounts of the same
filesystem.
If we fail to perform the links, fall back to copying the contents into
a new file as a last attempt.
|
|
fd8b7cfe
|
2015-05-26T19:16:27
|
|
Fix ident replacement to match Git behavior
Git inserts a space after the SHA1 (as of 2.1.4 at least), so do the
same.
|
|
c066d72e
|
2015-05-22T11:20:47
|
|
indexer: avoid loading already existent bases
When thickening a pack, avoid loading already loaded bases and
trying to insert them all over again.
|
|
76af4fff
|
2015-05-16T19:00:50
|
|
indexer: don't look for the index we're creating
When creating an index, know that we do not have an index for
our own packfile, preventing some unnecessary file opens and
error reporting.
|
|
6ba8a33d
|
2015-05-22T12:11:42
|
|
refspec: make sure matching refspecs have src, dst and input strings
When we find out that we're dealing with a matching refspec, we set the
flag and return immediately. This leaves the strings as NULL, which
breaks the contract.
Assign these pointers to a string with the correct values.
|
|
c62ab5f5
|
2015-05-20T18:03:54
|
|
Call the openssl API to be able to work with SNI servers.
|
|
12d8fbb3
|
2015-05-20T21:06:01
|
|
Add a missing include for reset
Our doc parser really wants the types to be declared in the header it's
reading.
|
|
1fcdcb4f
|
2015-05-18T15:51:55
|
|
ssh: read from stderr if stdout is empty
When we fail to read from stdout, it's typically because the URL was
wrong and the server process has sent some output over its stderr
output.
Read that output and set the error message to whatever we read from it.
|
|
c7606541
|
2015-05-15T12:23:27
|
|
fileops: set an error on write error for file copy
We set an error if we get an error when reading, but we don't bother
setting an error message for write failing. This causes a cryptic error
to be shown to the user when the target filesystem is full.
|
|
9e749542
|
2015-05-15T12:18:05
|
|
fileops: set an error message if we fail to link a file
Now that `git_path_direach` lets us specify an error message to report,
set an appropriate error message while linking.
|
|
899716b4
|
2015-05-15T12:15:45
|
|
path: don't let direach overwrite the callback's error message
This function deals with functions doing IO which means the amount of
errors that can happen is quit large. It does not help if it always
ovewrites the underlying error message with a less understandable
version of "something went wrong".
Instead, only use this generic message if there was no error set by the
callback.
|
|
900e5d3b
|
2015-06-15T08:26:06
|
|
Merge pull request #3154 from tkelman/win-openssl-v0.22
Fix MinGW build against openssl on maint/v0.22
|
|
3b9d0717
|
2015-06-02T20:24:57
|
|
Merge pull request #3138 from libgit2/cmn/v22-update
Maintenance updates for v0.22
|
|
ff19d60d
|
2015-05-31T19:21:42
|
|
Include git2/transaction.h
This was forgotten when the feature was implemented.
|
|
9108d13d
|
2015-03-02T11:08:04
|
|
Don't include headers on windows that aren't available
This mainly concerns mingw build.
|
|
98f1b3c3
|
2015-05-13T21:43:58
|
|
Attributes: don't match files for folders
Merge of pull request #3119 from ethomson/ignore as a single commit.
Conflicts:
src/attr.c
tests/attr/ignore.c
|
|
822af039
|
2015-04-29T13:40:42
|
|
Do not call regfree() on an empty regex that is not successfully created by regcomp
(also removed an unused member "has_regex" from all_iter)
|
|
1c01006b
|
2015-04-24T23:56:59
|
|
Fix wrong format string in git_reflog_drop() error message
|
|
b67bc364
|
2015-04-17T18:27:28
|
|
attr_file: fix subdirectory attr case.
Closes #2966.
|
|
657ddf97
|
2015-03-24T16:33:50
|
|
ignore: fix negative ignores without wildcards.
|
|
7661fa12
|
2015-04-10T09:36:38
|
|
Fix checking of return value for regcomp.
The regcomp function returns a non-zero value if compilation of
a regular expression fails. In most places we only check for
negative values, but positive values indicate an error, as well.
Fix this tree-wide, fixing a segmentation fault when calling
git_config_iterator_glob_new with an invalid regexp.
|
|
702ac408
|
2015-04-08T23:51:49
|
|
revwalk: don't insert uninteresting commits into the queue
When a commit is first set as unintersting and then pushed, we must take
care that we do not put it into the commit list as that makes us return
at least that commit (but maybe more) as we've inserted it into the list
because we have the assumption that we want anything in the commit list.
|
|
98e484b9
|
2015-04-14T03:26:45
|
|
revwalk: detect when we're out of interesting commits
When walking backwards and marking parents uninteresting, make sure we
detect when the list of commits we have left has run out of
uninteresting commits so we can stop marking commits as
uninteresting. Failing to do so can mean that we walk the whole history
marking everything uninteresting, which eats up time, CPU and IO for
with useless work.
While pre-marking does look for this, we still need to check during the
main traversal as there are setups for which pre-marking does not leave
enough information in the commits. This can happen if we push a commit
and hide its parent.
|
|
04162eb1
|
2015-03-10T12:02:45
|
|
Fix git_checkout_tree() to do index filemodes correctly on Windows.
git_checkout_tree() has some fallback behaviors for file systems
which don't have full support of filemodes. Generally works fine,
but if a given file had a change of type from a 0644 to 0755 (i.e.,
you add executable permissions), the fallback behavior incorrectly
triggers when writing hte updated index.
This would cause a git_checkout_tree() command, even with the
GIT_CHECKOUT_FORCE option set, to leave a dirty index on Windows.
Also added checks to an existing test to catch this case.
Conflicts:
src/checkout.c
|
|
7dc1b1c4
|
2015-03-30T14:06:21
|
|
Make sure to also update delta->nfiles when merging diffs
When diffs are generated, the value for the 'nfiles' field of 'git_diff_delta'
will be consistent with the value in the 'status' field. Merging diffs can
modify the 'status' field of some deltas and the 'nfiles' field needs to be
updated accordingly.
|
|
fb6df50b
|
2015-03-24T17:10:45
|
|
Bump version to 0.22.2
|
|
928b4cad
|
2015-03-24T16:47:26
|
|
Merge pull request #3005 from libgit2/cmn/maint-update
Backports for the maint branch
|
|
79010d09
|
2015-03-24T15:56:51
|
|
Merge pull request #3015 from ethomson/maint/v0.22
Additional backports
|
|
1f25fe95
|
2015-03-23T11:30:30
|
|
checkout: report correct invalid path
|
|
8633dd90
|
2015-02-03T20:01:24
|
|
win32: further cleanups for 8.3 disabling
|
|
93be89c3
|
2015-02-03T12:16:11
|
|
win32: cleanup 8.3 disabled tests
|
|
728a013b
|
2015-01-28T23:04:50
|
|
Fix test failures when 8.3 is disabled
|
|
1f726d05
|
2015-03-21T21:48:03
|
|
git: make sure to close the network stream
In case of a bad url or other error during the connection setup, we
close the stream via free.
|
|
3e163b67
|
2015-01-23T00:18:42
|
|
checkout: free last created directory
|
|
3440c202
|
2015-03-17T21:38:58
|
|
Initialize refs vector in git_remote_update_tips().
Otherwise, bailing out early when ls_to_vector() fails accesses
uninitialized memory.
|
|
dcf6c0c4
|
2015-03-16T23:08:16
|
|
Lower case the include directive of windows header
Since the Linux platform has a case sensitive file system, the header name should be lower case for cross compiling purposes. (On Linux, the mingw header is called ```windows.h```).
|
|
1dd5e28e
|
2015-03-16T19:41:50
|
|
http: do not try to use the cert callback on unencrypted streams
When the user has a certificate check callback set, we still have to
check whether the stream we're using is even capable of providing a
certificate.
In the case of an unencrypted certificate, do not ask for it from the
stream, and do not call the callback.
|
|
dd243fe1
|
2015-03-13T18:00:15
|
|
indexer: set an error message on duplicate objects in pack
While this is not even close to a fix, we can at least set an error
message so we know which error we are facing. Up to know we just
returned an error without a message.
|
|
3a1dc420
|
2015-03-13T17:52:07
|
|
Put back the number of expected references to 6 from the test repo
This was but down to 5 when GitHub made a change to their server which
made them stop honouring the include-tag request.
This has recently been corrected, so we can bring it back up to six.
|
|
cf688ffd
|
2015-03-05T23:06:31
|
|
Fixed active refspecs not reset by git_remote_upload()
|
|
7a5682f5
|
2015-03-03T17:23:01
|
|
http: enforce the credential types
The user may decide to return any type of credential, including ones we
did not say we support. Add a check to make sure the user returned an
object of the right type and error out if not.
|
|
f008aeb8
|
2015-03-03T13:25:40
|
|
branch: do capture the error code
We want to ignore GIT_ENOTFOUND, but for that we need to capture the
error code from the reflog deletion.
|
|
283f31ab
|
2015-03-02T10:24:54
|
|
git_branch_delete() should ignore errors from non-existing reflogs
|
|
aa409d53
|
2015-02-13T17:28:35
|
|
Fix Mac build without OpenSSL
If OpenSSL is disabled on Mac the SHA1 implementation goes
to the CommonCrypto from the system. In this case we should
not include the generic hash impl. Otherwise there would be
duplicated impls which fail the build.
|
|
d884d1c4
|
2015-02-14T23:43:26
|
|
Fix race in git_packfile_unpack.
Increment refcount of newly added cache entries just like existing
entries looked up from the cache. Otherwise the new entry can be
evicted from the cache and destroyed while it's still in use.
|
|
277d6477
|
2015-02-05T23:39:59
|
|
Reinit `reader` pointer after reading included config file
Fixes #2869. If included file includes more files, it may reallocate
cfg_file->readers, hence invalidate not only `r` pointer, but `result`
pointer as well.
|
|
3bdcea88
|
2015-02-12T15:32:52
|
|
Check rebase options version on public entry points
|
|
7d8e4e30
|
2015-02-04T23:45:22
|
|
mkdir: respect the root path
Don't try to strip trailing paths from the root directory on
Windows (trying to create `C:` will fail).
|
|
69455bc8
|
2015-02-04T18:24:31
|
|
stat: don't remove trailing '/' from root on win32
`p_stat` calls `git_win32_path_from_utf8`, which canonicalizes the
path. Do not further try to modify the path, else we trim the
trailing slash from a root directory and try to access `C:` instead
of `C:/`.
|
|
7aee2489
|
2015-02-05T11:06:01
|
|
repo: ensure we can create repo at filesystem root
Test to ensure that we can create a repository at the filesystem
root. Introduces a new test environment variable,
`GITTEST_INVASIVE_FILESYSTEM` for tests that do terrible things like
escaping the clar sandbox and writing to the root directory. It is
expected that the CI builds will enable this but that normal people
would not want this.
|
|
aa926fb5
|
2015-02-02T16:50:10
|
|
Fix branch creation when branch name matches namespace of previously deleted branch
|
|
31ea8db5
|
2015-01-27T08:17:23
|
|
Clarified git_repository_is_empty() documentation
|
|
ed64a1b2
|
2015-01-24T16:15:12
|
|
Add libssh2's library and include directories.
Follow-up to 4f91bfa ("Find libssh2 via pkg-config"): FindPkgConfig sets
<foo>_INCLUDE_DIRS, not <foo>_INCLUDE_DIR like FindLIBSSH2 did.
Additionally, if using only FindPkgConfig to find libssh2, we have to
call LINK_DIRECTORIES() as well to pass the appropriate -L entries,
otherwise the build will only work if libssh2.so is in a directory
searched automatically by the linker.
|
|
eefe2e8b
|
2015-01-23T15:59:54
|
|
Fixed typo in git_repository_reinit_filesystem() documentation
|
|
8693335b
|
2014-11-13T19:30:47
|
|
Make binary detection work similar to vanilla git
Main change: Don't treat chars > 128 as non-printable (common in UTF-8 files)
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
5c3e01d8
|
2015-01-25T14:40:23
|
|
Ensure the diff hunk callback is specified before trying to dereference it
|
|
fe61bb68
|
2015-01-25T14:08:05
|
|
Ensure git_index_entry is not NULL before trying to free it
|
|
ae0cfacc
|
2015-01-24T16:19:43
|
|
openssl: Add all required includes for AF_INET6 and in6_addr.
This fixes the build at least on FreeBSD, where those types were not
defined indirectly:
src/openssl_stream.c:100:18: error: variable has incomplete type 'struct in6_addr'
struct in6_addr addr6;
^
src/openssl_stream.c:100:9: note: forward declaration of 'struct in6_addr'
struct in6_addr addr6;
^
src/openssl_stream.c:111:18: error: use of undeclared identifier 'AF_INET'
if (p_inet_pton(AF_INET, host, &addr4)) {
^
src/unix/posix.h:31:40: note: expanded from macro 'p_inet_pton'
^
src/openssl_stream.c:115:18: error: use of undeclared identifier 'AF_INET6'
if(p_inet_pton(AF_INET6, host, &addr6)) {
^
src/unix/posix.h:31:40: note: expanded from macro 'p_inet_pton'
^
|
|
4738a337
|
2015-01-23T20:57:13
|
|
Fixed git_repository_set_bare() not setting "core.bare" correctly
|
|
d0db4085
|
2015-01-23T16:04:23
|
|
Make sure sys/repository.h includes the required headers
It was missing "common.h" and "types.h" like other system headers.
This generated compilation errors if including it directly.
|
|
53fc54d5
|
2015-03-17T22:37:19
|
|
Merge pull request #2930 from akikoskinen/maint/v0.22
Fix build on mingw
|
|
d95c949a
|
2015-02-27T10:53:39
|
|
Include ws2tcpip.h in order to get in6_addr
It's currently required in src/openssl_stream.c only.
|
|
e1314dd6
|
2015-02-27T10:49:02
|
|
Include openssl headers last
Windows headers #define some names that openssl uses too. Openssl
headers #undef the offending names before reusing them. But if those
offending Windows headers get included after the openssl headers the
namespace is polluted and nothing good happens.
Fixes issue #2850.
|
|
09c24770
|
2015-02-11T10:31:54
|
|
Fixed error when including git2/include/sys/stream.h
|
|
bd0a5516
|
2015-01-25T00:07:23
|
|
pathspec: do not try to dereference NULL
pathspec_match_free() should not dereference a NULL passed to it.
I found this issue when I tried to run example log program with
nonexistent branch:
./example/log help
Such call leads to segmentation fault.
|
|
1ce9ea3b
|
2015-01-15T17:17:01
|
|
checkout tests: cleanup realpath impl on Win32
|
|
f9df7b62
|
2015-01-14T20:16:01
|
|
checkout tests: emulate p_realpath poorly on Win32
|
|
8d655239
|
2015-01-16T18:37:06
|
|
checkout: remove files before writing new ones
On case insensitive filesystems, we may have files in the working
directory that case fold to a name we want to write. Remove those
files (by default) so that we will not end up with a filename that
has the unexpected case.
|
|
b295294f
|
2015-01-14T13:20:21
|
|
checkout: drop newline in error message
|
|
99367df1
|
2015-01-14T13:15:34
|
|
checkout tests: nasty symlinks
Symbolic links that abuse case insensitivity to write into .git.
|
|
9f1c873e
|
2015-01-16T18:35:13
|
|
checkout: don't recreate previous directory
Don't bother trying to recreate the previously created directory
during checkout, for a modest reduction in the number of stats.
|
|
1ca7fa94
|
2015-01-16T18:33:23
|
|
git_path_join_unrooted: return base len
The documentation for `git_path_join_unrooted` states that the base
length will be returned, so that consumers like checkout know where
to start creating directories instead of always creating directories
at the directory root.
|
|
bd0e8814
|
2015-01-16T18:32:48
|
|
checkout: introduce git_checkout_perfdata
Checkout can now provide performance data about the number of (some)
syscalls performed using an optional callback.
This structure remains internal-only in maintenance branches.
|
|
04bdd97f
|
2015-01-12T08:59:46
|
|
Merge pull request #2815 from ethomson/example
clone example: don't divide by zero
|
|
9af3c416
|
2015-01-10T18:05:01
|
|
clone example: don't divide by zero
Local transports don't have data about the size, avoid dividing by
zero in the callback.
|
|
b91f28be
|
2015-01-10T00:49:20
|
|
Reformat the changelog
This should provide a easier way to see what kinds of changes we have,
and a single place to look at the breaking changes.
|
|
d4b24101
|
2015-01-09T16:47:48
|
|
Merge commit '4b1018d24f980273528743c27c47ceb96cb720bd'
Fix crash in free() when git_buf_grow() fails.
|
|
4b1018d2
|
2015-01-08T17:24:12
|
|
Fix crash in free() when git_buf_grow() fails.
|
|
fe8399fe
|
2015-01-09T16:29:08
|
|
Fix warning
|
|
788c5f1c
|
2015-01-09T10:23:08
|
|
Merge pull request #2810 from ethomson/remove_symlinks
Remove symlinks from the repository
|
|
aebdbcd9
|
2015-01-08T17:27:58
|
|
Merge pull request #2811 from ethomson/remote_leak
remote: plug leak
|
|
365d3672
|
2015-01-08T21:32:44
|
|
submodule::init tests: free some leaks
|
|
a8846da7
|
2015-01-08T13:45:22
|
|
remote: plug leak
|
|
3b40ed89
|
2015-01-08T19:23:37
|
|
repo::init test: create hook symlink
Remove the hook symlink from the test resources, so that we can
have a source tree that is easy to zip up and copy around on systems
that don't support symlinks. Create it dynamically at test execution
instead.
|
|
1646412d
|
2015-01-08T11:20:44
|
|
Merge pull request #2802 from calavera/remote_create_prune_config
Load prune configuration when a remote is created.
|
|
de4a75f9
|
2015-01-07T09:26:36
|
|
Fix more indentation.
|
|
c868981f
|
2015-01-06T13:49:39
|
|
Add extern function to initialize submodule update options.
|
|
6a6c24e0
|
2015-01-07T11:54:08
|
|
Merge pull request #2806 from ethomson/changelog
CHANGELOG: we've added git_describe
|
|
2ce37794
|
2015-01-06T18:34:55
|
|
Merge pull request #2805 from ethomson/msvc
submodule: declare vars at top of func block
|
|
9b22f8b4
|
2015-01-06T18:34:43
|
|
Merge pull request #2803 from ethomson/appveyor
Add appveyor yaml
|
|
61cd037e
|
2015-01-06T17:18:57
|
|
CHANGELOG: we've added git_describe
|
|
388ca7e7
|
2015-01-06T15:16:25
|
|
Add appveyor yaml
|
|
5018e2c6
|
2015-01-06T17:08:38
|
|
submodule: declare vars at top of func block
|
|
007f3ff6
|
2015-01-05T21:34:26
|
|
Merge pull request #2801 from ethomson/changelog
CHANGELOG: add missing 0.22 changes
|
|
66b71ea5
|
2015-01-05T13:33:36
|
|
Fix intentation.
|