summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* local: let the packbuilder perform smarter object insertioncmn/pack-objects-walkCarlos Martín Nieto2015-03-111-32/+10
| | | | | | | | | | 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.
* pack-objects: fill a packbuilder from a walkCarlos Martín Nieto2015-03-112-1/+252
| | | | | | | | | | | 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.
* Reorder some khash declarationsCarlos Martín Nieto2015-03-117-4/+13
| | | | | | 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.
* 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.
* | | | reset: remove reflog message overrideCarlos Martín Nieto2015-03-032-9/+6
| | | | | | | | | | | | | | | | | | | | This function is meant to simulate what git does in the reset command, so we should include the reflog message in that.
* | | | Remove the signature from ref-modifying functionsCarlos Martín Nieto2015-03-0316-148/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
* | | | Merge pull request #2908 from ethomson/safe_createCarlos Martín Nieto2015-03-034-8/+14
|\ \ \ \ | | | | | | | | | | Allow checkout to handle newly cloned repositories, remove `GIT_CHECKOUT_SAFE_CREATE`
| * | | | checkout: remove `GIT_CHECKOUT_SAFE_CREATE` as a strategyEdward Thomson2015-02-272-9/+8
| | | | |
| * | | | checkout: upgrade to `SAFE_CREATE` when no index fileEdward Thomson2015-02-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the repository does not contain an index, emulate git's behavior and upgrade to `SAFE_CREATE`. This allows us to check out repositories created with `git clone --no-checkout`.
| * | | | cherrypick, revert: drop unnecessary SAFE_CREATEEdward Thomson2015-02-272-2/+2
| | |_|/ | |/| |
* | | | branch: do capture the error codeCarlos Martín Nieto2015-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | We want to ignore GIT_ENOTFOUND, but for that we need to capture the error code from the reflog deletion.
* | | | Merge pull request #2937 from git-up/branch_delete_reflogCarlos Martín Nieto2015-03-031-1/+6
|\ \ \ \ | | | | | | | | | | git_branch_delete() should ignore errors from non-existing reflogs
| * | | | git_branch_delete() should ignore errors from non-existing reflogsPierre-Olivier Latour2015-03-021-1/+6
| | |_|/ | |/| |
* | | | win32: add the patch level to the .dll fileversionEdward Thomson2015-03-021-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Win32 DLLs have four fields for the version number (major, minor, teeny, patch). If a consumer wants to build a custom DLL, it may be useful to set the patchlevel version number in the DLL. This value only affects the DLL version number, it does not affect the resultant "version number", which remains major.minor.teeny.
* | | rebase: check alloc resultEdward Thomson2015-02-271-0/+1
|/ /