summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ssl: init everything all the timecmn/init-ssl-onceCarlos Martín Nieto2014-06-123-87/+51
| | | | | | | | Bring together all of the OpenSSL initialization to git_threads_init() so it's together and doesn't need locks. Moving it here also gives us libssh2 thread safety (when built against openssl).
* ssl: init also without threadsCarlos Martín Nieto2014-06-121-9/+10
|
* ssl: cargo-cult thread safetyCarlos Martín Nieto2014-06-124-23/+46
| | | | OpenSSL's tests init everything in the main thread, so let's do that.
* ssl: use lockingCarlos Martín Nieto2014-06-111-0/+42
| | | | | | | | When using in a multithreaded context, OpenSSL needs to lock, and leaves it up to application to provide said locks. We were not doing this, and it's just luck that's kept us from crashing up to now.
* netops: init OpenSSL once under lockCarlos Martín Nieto2014-06-113-2/+37
| | | | | | | | The OpenSSL init functions are not reentrant, which means that running multiple fetches in parallel can cause us to crash. Use a mutex to init OpenSSL, and since we're adding this extra checks, init it only once.
* Merge pull request #2404 from libgit2/cmn/remote-rename-fixesVicent Marti2014-06-062-7/+39
|\ | | | | Remote rename fixes
| * remote: tighten up reference renamingcmn/remote-rename-fixesCarlos Martín Nieto2014-06-061-7/+9
| | | | | | | | | | | | | | | | Tighten up which references we consider for renaming so we don't try to rename unrelated ones and end up with unexplained references. If there is a reference on the target namespace, git overwrites it, so let's do the same.
| * remote: failing test for renameCarlos Martín Nieto2014-06-061-0/+30
| | | | | | | | | | When there is a reference in the target namespace, we should overwrite it. Instead it gets a different name under the current code.
* | Merge pull request #2405 from arthurschreiber/patch-4Vicent Marti2014-06-061-0/+1
|\ \ | |/ |/| Update AUTHORS
| * Update AUTHORSArthur Schreiber2014-06-061-0/+1
|/ | | | Add me. :)
* Merge pull request #2399 from libgit2/cmn/path-to-pathVicent Marti2014-06-034-35/+26
|\ | | | | clone: re-use the local transport's path resolution
| * clone: re-use the local transport's path resolutioncmn/path-to-pathCarlos Martín Nieto2014-06-034-35/+26
| | | | | | | | | | | | Whe already worked out the kinks with the function used in the local transport. Expose it and make use of it in the local clone method instead of trying to work it out again.
* | Merge pull request #2395 from libgit2/cmn/ref-iter-concurrentRussell Belfer2014-06-032-8/+49
|\ \ | |/ |/| Concurrent ref iterator access
| * refs: copy the packed refs on iterationcmn/ref-iter-concurrentCarlos Martín Nieto2014-06-021-8/+16
| | | | | | | | | | This lets us work without worrying about what's happening but work on a snapshot.
| * refs: failing test for concurrent ref accessCarlos Martín Nieto2014-06-021-0/+33
| | | | | | | | | | If we remove a reference while we're iterating through the packed refs, the position in the iterator will be off.
* | Merge pull request #2389 from ↵Vicent Marti2014-06-032-0/+10
|\ \ | | | | | | | | | | | | arthurschreiber/arthur/set-error-when-no-remote-found Remote: Set an error when a remote cannot be found.
| * | Remote: Set an error when a remote cannot be found.Arthur Schreiber2014-05-302-0/+10
| | | | | | | | | | | | | | | | | | | | | Inside `git_remote_load`, the calls to `get_optional_config` use `giterr_clear` to unset any errors that are set due to missing config keys. If neither a fetch nor a push url config was found for a remote, we should set an error again.
* | | Merge pull request #2396 from libgit2/cmn/docstuffVicent Marti2014-06-035-86/+89
|\ \ \ | | | | | | | | Documentation formatting fixes
| * | | index: split GIT_IDXENTRY into two flag enumscmn/docstuffCarlos Martín Nieto2014-06-031-28/+31
| | | | | | | | | | | | | | | | | | | | | | | | The documentation has shown this as a single enum for a long time. These should in fact be two enums. One with the bits for the flags and another with the bits for the extended flags.
| * | | Formatting fixes for the docsCarlos Martín Nieto2014-06-035-58/+58
| | |/ | |/| | | | | | | | | | These are some issues I found while playing around with the new parser for docurium.
* | | Plug a leak in the testsCarlos Martín Nieto2014-06-031-0/+2
|/ /
* | Merge pull request #2392 from libgit2/cmn/remote-deleteVicent Marti2014-06-011-8/+34
|\ \ | | | | | | remote: build up the list of refs to remove
| * | remote: build up the list of refs to removecmn/remote-deleteCarlos Martín Nieto2014-06-011-8/+34
|/ / | | | | | | | | | | When removing the remote-tracking branches, build up the list and remove in two steps, working around an issue with the iterator. Removing while we're iterating over the refs can cause us to miss references.
* | Merge pull request #2391 from libgit2/rb/clean-up-diff-binary-printVicent Marti2014-05-312-38/+55
|\ \ | | | | | | Minor fixes to binary diff code
| * | minor cleanupsRussell Belfer2014-05-311-5/+5
| | |
| * | Clean up the handling of large binary diffsRussell Belfer2014-05-312-38/+55
|/ /
* | Merge pull request #2388 from ethomson/safecrlf_ignore_warnVicent Marti2014-05-302-1/+48
|\ \ | |/ |/| Ignore core.safecrlf=warn until we have a warn infrastructure
| * Ignore core.safecrlf=warn until we have a warn infrastructureEdward Thomson2014-05-302-1/+48
|/
* Merge pull request #2358 from ↵Vicent Marti2014-05-304-34/+37
|\ | | | | | | | | arthurschreiber/arthur/normalize-ref-names-on-creation Respect core.precomposeunicode = true in more cases.
| * Refs: Extend unicode test for branch creation.Arthur Schreiber2014-05-301-0/+3
| | | | | | | | | | | | This adds another assertion to ensure that the reference name inside the git_reference struct returned by `git_branch_create` is returned as precomposed if `core.precomposeunicode` is enabled.
| * Refs: Add a unicode test for git_branch_move.Arthur Schreiber2014-05-301-0/+17
| | | | | | | | | | This tests that decomposed branch names are correctly precomposed when passed to `git_branch_move` and `core.precomposeunicode` is enabled.
| * Refs: Introduce `git_refname_t`.Arthur Schreiber2014-05-302-13/+12
| |
| * Refs: Fix some issue when core.precomposeunicode = true.Arthur Schreiber2014-05-302-25/+9
|/ | | | | | | | | | | This fixes two issues I found when core.precomposeunicode is enabled: * When creating a reference with a NFD string, the returned git_reference would return this NFD string as the reference’s name. But when looking up the reference later, the name would then be returned as NFC string. * Renaming a reference would not honor the core.precomposeunicode and apply no normalization to the new reference name.
* config: initialize the errorCarlos Martín Nieto2014-05-301-1/+1
| | | | | The error would be uninitialized if we take a snapshot of a config with no backends.
* Merge pull request #2381 from ecoffey/example_log_author_filterVicent Marti2014-05-292-8/+47
|\ | | | | Add support for --author flag in example log implementation
| * examples/log.c: invert filtering impl and conditionalEoin Coffey2014-05-281-14/+14
| |
| * Remove simple --author, --committer, and --grep from PROJECTSEoin Coffey2014-05-231-6/+0
| |
| * Add support for --grepEoin Coffey2014-05-231-1/+23
| |
| * Add --committer option, and break out helper functionEoin Coffey2014-05-231-7/+21
| |
| * Add support for --author flag in example log implementationEoin Coffey2014-05-221-1/+10
| |
* | Merge pull request #2011 from libgit2/cmn/clone-localVicent Marti2014-05-297-13/+347
|\ \ | | | | | | Local clone
| * | clone: more explicit local testscmn/clone-localCarlos Martín Nieto2014-05-291-14/+29
| | | | | | | | | | | | | | | Assert the exact amount of links we expect. While there, check that a plain git_clone() automatically chooses to link.
| * | clone: allow for linking in local cloneCarlos Martín Nieto2014-05-283-5/+94
| | | | | | | | | | | | | | | | | | | | | | | | If requested, git_clone_local_into() will try to link the object files instead of copying them. This only works on non-Windows (since it doesn't have this) when both are on the same filesystem (which are unix semantics).
| * | fileops: allow linking files when copying directory structuresCarlos Martín Nieto2014-05-283-2/+32
| | | | | | | | | | | | | | | When passed the LINK_FILES flag, the recursive copy will hardlink files instead of copying them.
| * | clone: add flag not to linkCarlos Martín Nieto2014-05-283-1/+4
| | |
| * | clone: add flags to override whether to perform a local cloneCarlos Martín Nieto2014-05-284-1/+72
| | |
| * | clone: store the realpath when given a relative oneCarlos Martín Nieto2014-05-281-1/+10
| | | | | | | | | | | | | | | | | | | | | A call like git_clone("./foo", "./foo1") writes origin's url as './foo', which makes it unusable, as they're relative to different things. Go with git's behaviour and store the realpath as the url.
| * | clone: perform a "local clone" when given a local pathCarlos Martín Nieto2014-05-282-11/+128
| | | | | | | | | | | | | | | | | | | | | | | | When git is given such a path, it will perform a "local clone", bypassing the git-aware protocol and simply copying over all objects that exist in the source. Copy this behaviour when given a local path.
* | | Merge pull request #2386 from Therzok/patch-2Russell Belfer2014-05-281-1/+1
|\ \ \ | | | | | | | | [Blob] Update documentation for is_binary.
| * | | [Blob] Update documentation for is_binary.Ungureanu Marius2014-05-281-1/+1
|/ / / | | | | | | filter.h tells me that we check the first 8000 bytes.