- 17 Mar, 2015 5 commits
-
-
When there is a tag, we must make sure that we get all referenced objects from this tag as well. This failing test shows that e.g. when there is a tagged tree, we insert the top tree but do not descend, thus causing the clone to have broken links.
Carlos Martín Nieto committed -
Add annotated versions of ref-modying functions
Edward Thomson committed -
[WIP] Smarter pack-building
Edward Thomson committed -
Don't ask for a stream's certificate unless it's encrypted
Edward Thomson committed -
Fix git_submodule_sync writing URL to wrong key.
Edward Thomson committed
-
- 16 Mar, 2015 6 commits
-
-
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 -
When we have an HTTP stream and have set the certificatre check callback, we currently fail as we ask the unencrypted stream for its certificate.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
This also brings the soft-reset tests back to life. The function name was missing an underscore, meaning they had not been running.
Carlos Martín Nieto committed -
This extra constructor will be useful for the annotated versions of ref-modifying functions, as it allows us to create a commit with the extended sha syntax which was used to retrieve it.
Carlos Martín Nieto committed -
We do not always want to put the id directly into the reflog, but we want to speicfy what a user typed. For this use-case we provide annotated version of a few functions which let the caller specify what user-friendly name was used when asking for the operation.
Carlos Martín Nieto committed
-
- 14 Mar, 2015 1 commit
-
-
Avoid retaining / releasing the index more than necessary when GIT_DIFF_...
Carlos Martín Nieto committed
-
- 13 Mar, 2015 4 commits
-
-
It turns out that erroring out on duplicate commits is the right thing to do, but git was not hitting the bug on the server-side. Bring back a descriptive error message in case of duplicate entries and error out.
Carlos Martín Nieto committed -
If a packfile includes duplicate objects, we can choose to use the secon copy instead of the first by using the same logic as if it were the first. Change the error condition from 0 to -1, which indicates a bad resize, and set the OOM message in that case. This does mean we will leak the first copy of the object. We can deal with that later, but making fetches work is more important.
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 -
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.
Carlos Martín Nieto committed
-
- 12 Mar, 2015 3 commits
-
-
local: create pack with multiple threads
Edward Thomson committed -
Currently git_submodule_sync writes the submodule's URL to the key 'branch.<REMOTE_NAME>.remote' while the reference implementation of `git submodule sync` writes to 'remote.<REMOTE_NAME>.url', which is the intended behavior according to git-submodule(1).
Patrick Steinhardt committed -
Pierre-Olivier Latour committed
-
- 11 Mar, 2015 8 commits
-
-
The default behaviour for the packbuilder is to perform the work in a single thread, which is fine for the public API, but we currently have no way for a user to determine the number of threads to use when creating the packfile, which makes our clone behaviour over the filesystem quite a bit slower than what git offers. This is a very particular scenario, in which we avoid spawning git by being ourselves the server-side, so it's probably ok to auto-set the threading, as the upload-pack process would do if we were talking to git.
Carlos Martín Nieto committed -
refspec: report errors when parsing an invalid refspec
Carlos Martín Nieto committed -
"In-memory" repos are bare by default
Carlos Martín Nieto committed -
Currently we use the most naïve and inefficient method for figuring out which objects to send to the remote whereby we end up trying to insert subdirs which have not changed multiple times. Instead, make use of the packbuilder's built-in more efficient method which uses the walk to feed the object list and avoids inserting an object and its descendants.
Carlos Martín Nieto committed -
Most use-cases for the object packer communicate in terms of commits which each side has. We already have an object to specify this relationship between commits, namely git_revwalk. By knowing which commits we want to pack and which the other side already has, we can perform similar optimisations to git, by marking each tree as interesting or uninteresting only once, and not sending those trees which we know the other side has.
Carlos Martín Nieto committed -
Keep the definitions in the headers, while putting the declarations in the C files. Putting the function definitions in headers causes them to be duplicated if you include two headers with them.
Carlos Martín Nieto committed -
Revert "fastfail" from the mingw PR
Carlos Martín Nieto committed
- 10 Mar, 2015 5 commits
-
-
Edward Thomson committed
-
If a refspec could not be parsed, the git_refspec__parse function would return an error value but would not provide additional error information for the callers. This commit amends that function to set a more useful error message.
Adrien Thebo committed -
This reverts commit 8008ab6a.
Edward Thomson committed -
This reverts commit ba6c53b9.
Edward Thomson committed -
Edward Thomson committed
-
- 09 Mar, 2015 2 commits
-
-
Fixes
Edward Thomson committed -
RFC: add mingw to appveyor matrix
Edward Thomson committed
-
- 08 Mar, 2015 4 commits
-
-
Pierre-Olivier Latour committed
-
Pierre-Olivier Latour committed
-
refdb: use the same id for old and new when renaming a reference
Carlos Martín Nieto committed -
When we rename a reference, we want the old and new ids to be the same one (as we did not change it). The normal code path looks up the old id from the current value of the brtanch, but by the time we look it up, it does not exist anymore and thus we write a zero id. Pass the old id explicitly instead.
Carlos Martín Nieto committed
-
- 06 Mar, 2015 2 commits
-
-
Filter relative paths
Edward Thomson committed -
branch: fix generated reflog message upon creation
Carlos Martín Nieto committed
-