- 22 Jun, 2015 13 commits
-
-
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.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
Git inserts a space after the SHA1 (as of 2.1.4 at least), so do the same.
Colomban Wendling committed -
When thickening a pack, avoid loading already loaded bases and trying to insert them all over again.
Edward Thomson committed -
When creating an index, know that we do not have an index for our own packfile, preventing some unnecessary file opens and error reporting.
Edward Thomson committed -
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.
Carlos Martín Nieto committed -
Cristian Oneț committed
-
Our doc parser really wants the types to be declared in the header it's reading.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
Now that `git_path_direach` lets us specify an error message to report, set an appropriate error message while linking.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed
-
- 15 Jun, 2015 1 commit
-
-
Fix MinGW build against openssl on maint/v0.22
Carlos Martín Nieto committed
-
- 02 Jun, 2015 1 commit
-
-
Maintenance updates for v0.22
Carlos Martín Nieto committed
-
- 31 May, 2015 1 commit
-
-
This was forgotten when the feature was implemented.
Carlos Martín Nieto committed
-
- 22 May, 2015 1 commit
-
-
This mainly concerns mingw build.
Aki Koskinen committed
-
- 18 May, 2015 10 commits
-
-
Merge of pull request #3119 from ethomson/ignore as a single commit. Conflicts: src/attr.c tests/attr/ignore.c
Carlos Martín Nieto committed -
(also removed an unused member "has_regex" from all_iter)
Yong Li committed -
Linquize committed
-
Closes #2966.
Mike McQuaid committed -
Patrick Steinhardt committed
-
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.
Patrick Steinhardt committed -
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.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed -
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
John Fultz committed -
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.
Pierre-Olivier Latour committed
-
- 24 Mar, 2015 7 commits
-
-
Carlos Martín Nieto committed
-
Backports for the maint branch
Carlos Martín Nieto committed -
Additional backports
Carlos Martín Nieto committed -
Edward Thomson committed
-
Edward Thomson committed
-
Edward Thomson committed
-
Linquize committed
-
- 21 Mar, 2015 6 commits
-
-
In case of a bad url or other error during the connection setup, we close the stream via free.
Carlos Martín Nieto committed -
Edward Thomson committed
-
Otherwise, bailing out early when ls_to_vector() fails accesses uninitialized memory.
Sebastian Bauer committed -
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```).
Claudiu Olteanu committed -
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.
Carlos Martín Nieto committed -
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.
Carlos Martín Nieto committed
-