summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* http: do not try to use the cert callback on unencrypted streamscmn/stream-check-ecCarlos Martín Nieto2015-03-162-1/+7
| | | | | | | | | 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.
* Merge pull request #2975 from git-up/diff_index_retainCarlos Martín Nieto2015-03-151-2/+1
|\ | | | | Avoid retaining / releasing the index more than necessary when GIT_DIFF_...
| * Avoid retaining / releasing the index more than necessary when ↵Pierre-Olivier Latour2015-03-111-2/+1
| | | | | | | | GIT_DIFF_UPDATE_INDEX is enabled
* | indexer: bring back the error message on duplcate commitsCarlos Martín Nieto2015-03-131-0/+7
| | | | | | | | | | | | | | | | 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.
* | indexer: don't worry about duplicate objectsCarlos Martín Nieto2015-03-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | indexer: set an error message on duplicate objects in packCarlos Martín Nieto2015-03-131-0/+1
| | | | | | | | | | | | 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.
* | Merge pull request #2973 from libgit2/cmn/local-pack-threadingEdward Thomson2015-03-121-0/+3
|\ \ | |/ |/| local: create pack with multiple threads
| * local: create pack with multiple threadscmn/local-pack-threadingCarlos Martín Nieto2015-03-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge commit 'refs/pull/2879/head' of ssh://github.com/libgit2/libgit2Carlos Martín Nieto2015-03-111-8/+52
|\ \ | |/ |/|
| * Add API to add a memory buffer to an indexDamien PROFETA2015-02-251-8/+52
| | | | | | | | | | | | git_index_add_frombuffer enables now to store a memory buffer in the odb and to store an entry in the index directly if the index is attached to a repository.
* | Merge pull request #2969 from adrienthebo/remote_add_invalid_refspecCarlos Martín Nieto2015-03-111-0/+3
|\ \ | | | | | | refspec: report errors when parsing an invalid refspec
| * | refspec: set err message on invalid refspecAdrien Thebo2015-03-101-0/+3
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2970 from ethomson/inmemory_bareCarlos Martín Nieto2015-03-111-1/+7
|\ \ \ | |/ / |/| | "In-memory" repos are bare by default
| * | repository: in-memory repos are bare by defaultEdward Thomson2015-03-101-1/+7
| | |
* | | Merge pull request #2964 from git-up/fixesEdward Thomson2015-03-091-1/+1
|\ \ \ | | | | | | | | Fixes
| * | | Removed unnecessary GIT_CHECKOUT_SKIP_UNMERGED for GIT_RESET_HARDPierre-Olivier Latour2015-03-081-1/+1
| | | |
* | | | Merge pull request #2946 from tkelman/appveyor-mingwEdward Thomson2015-03-094-3/+11
|\ \ \ \ | |/ / / |/| | | RFC: add mingw to appveyor matrix
| * | | Use secure API if available.Matti Virolainen2015-03-061-1/+1
| | | |
| * | | Add some missing definitions for mingw.orgTony Kelman2015-03-061-0/+7
| | | | | | | | | | | | | | | | these shouldn't be necessary if _WIN32_WINNT >= _WIN32_WINNT_VISTA
| * | | Move definitions of strcasecmp and strncasecmp to msvc-compat.hTony Kelman2015-03-062-2/+3
| |/ / | | | | | | | | | should cut down on compiler warnings with mingw
* | | refdb: use the same id for old and new when renaming a referencecmn/rename-reflogCarlos Martín Nieto2015-03-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #2961 from ethomson/filter_relative_pathsEdward Thomson2015-03-061-2/+1
|\ \ \ | | | | | | | | Filter relative paths
| * | | filter: accept relative paths in apply_to_fileEdward Thomson2015-03-061-1/+1
| | | |
| * | | filter: drop old TODOEdward Thomson2015-03-061-1/+0
| |/ /
* | | Drop trailing whitespacesntk/reflog_branch_createnulltoken2015-03-041-1/+1
| | |
* | | branch: fix generated reflog message upon renamingnulltoken2015-03-041-1/+1
| | |
* | | branch: fix generated reflog message upon creationnulltoken2015-03-041-1/+1
|/ /
* | Merge pull request #2932 from jeffhostetler/jeffhostetler/big_clone_crashCarlos Martín Nieto2015-03-042-5/+21
|\ \ | | | | | | Fix crash in git_clone on extremely large repos
| * | Change ifdef for MINGW32.Jeff Hostetler2015-03-031-4/+2
| | |
| * | Fix p_ftruncate to handle big files for git_cloneJeff Hostetler2015-03-032-4/+22
| |/
* | libgit2_shutdown: free TLS data (win32)Edward Thomson2015-03-041-0/+11
| | | | | | | | Free TLS data on thread exit (win32)
* | libgit2_shutdown: clear err message on shutdownEdward Thomson2015-03-041-9/+27
| | | | | | | | | | | | Clear the error message on git_libgit2_shutdown for all versions of the library (no threads and Win32 threads). Drop the giterr_clear in clar, as that shouldn't be necessary.
* | Fix leak of TLS error message in shutdown (ptherad version)Leo Yang2015-03-041-3/+3
| |
* | Merge pull request #2945 from ethomson/empty_hashsig_heapCarlos Martín Nieto2015-03-041-1/+16
|\ \ | | | | | | diff_tform: don't compare empty hashsig_heaps
| * | diff_tform: account for whitespace optionsEdward Thomson2015-03-041-4/+16
| | | | | | | | | | | | | | | When comparing seemingly blank files, take whitespace options into account.
| * | diff_tform: don't compare empty hashsig_heapsEdward Thomson2015-03-031-0/+3
| | | | | | | | | | | | Don't try to compare two empty hashsig_heaps.
* | | Plug a few leaksCarlos Martín Nieto2015-03-044-7/+14
| | |
* | | Merge pull request #2941 from libgit2/cmn/http-enforce-credEdward Thomson2015-03-031-0/+5
|\ \ \ | | | | | | | | http: enforce the credential types
| * | | http: enforce the credential typescmn/http-enforce-credCarlos Martín Nieto2015-03-031-0/+5
| |/ / | | | | | | | | | | | | | | | 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.
* | | config: borrow refcounted referencescmn/config-borrow-entryCarlos Martín Nieto2015-03-0312-68/+165
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the get_entry() method to return a refcounted version of the config entry, which you have to free when you're done. This allows us to avoid freeing the memory in which the entry is stored on a refresh, which may happen at any time for a live config. For this reason, get_string() has been forbidden on live configs and a new function get_string_buf() has been added, which stores the string in a git_buf which the user then owns. The functions which parse the string value takea advantage of the borrowing to parse safely and then release the entry.
* | Remove swp filesCarlos Martín Nieto2015-03-031-0/+0
| |
* | Merge pull request #2934 from akikoskinen/mingw_build_fixEdward Thomson2015-03-032-7/+11
|\ \ | | | | | | Fix build on mingw (master branch)
| * | Include ws2tcpip.h in order to get in6_addrAki Koskinen2015-03-021-0/+1
| | | | | | | | | | | | It's currently required in src/openssl_stream.c only.
| * | Include openssl headers lastAki Koskinen2015-03-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Don't include headers on windows that aren't availableAki Koskinen2015-03-021-3/+6
| | | | | | | | | | | | This mainly concerns mingw build.
* | | Merge pull request #2913 from ethomson/stash_fixupEdward Thomson2015-03-031-2/+1
|\ \ \ | | | | | | | | stash: correctly stash wd modified/index deleted
| * | | stash: correctly stash wd modified/index deletedEdward Thomson2015-02-181-2/+1
| | | |
* | | | repository: remove log message override for switching the active branchCarlos Martín Nieto2015-03-035-35/+72
| | | | | | | | | | | | | | | | | | | | | | | | We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
* | | | push: remove reflog message overrideCarlos Martín Nieto2015-03-033-13/+6
| | | | | | | | | | | | | | | | We always use "update by push".
* | | | branch: don't accept a reflog message overrideCarlos Martín Nieto2015-03-032-19/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This namespace is about behaving like git's branch command, so let's do exactly that instead of taking a reflog message. This override is still available via the reference namespace.