summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* config: add parsing and getter for pathscmn/config-get-pathCarlos Martín Nieto2015-01-141-0/+41
|
* Merge branch 'pr/2740'Edward Thomson2015-01-143-44/+28
|\
| * Always use GIT_HASHSIG_SMART_WHITESPACE when diffing for mergesPierre-Olivier Latour2015-01-141-7/+1
| | | | | | | | git_merge_tree_flag_t cannot contain any GIT_DIFF_FIND_xxx flags so there's not point in checking for them
| * Added GIT_HASHSIG_ALLOW_SMALL_FILES to allow computing signatures for small ↵Pierre-Olivier Latour2015-01-142-37/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | files The implementation of the hashsig API disallows computing a signature on small files containing only a few lines. This new flag disables this behavior. git_diff_find_similar() sets this flag by default which means that rename / copy detection of small files will now work. This in turn affects the behavior of the git_status and git_blame APIs which will now detect rename of small files assuming the right options are passed.
* | Merge commit '4b1018d24f980273528743c27c47ceb96cb720bd'Carlos Martín Nieto2015-01-091-1/+2
|\ \ | | | | | | | | | Fix crash in free() when git_buf_grow() fails.
| * | Fix crash in free() when git_buf_grow() fails.Jeff Hostetler2015-01-091-1/+2
| | |
* | | remote: plug leakEdward Thomson2015-01-081-5/+5
| | |
* | | Merge pull request #2802 from calavera/remote_create_prune_configEdward Thomson2015-01-081-13/+33
|\ \ \ | | | | | | | | Load prune configuration when a remote is created.
| * | | Fix intentation.David Calavera2015-01-051-1/+1
| | | |
| * | | Load prune configuration when a remote is created.David Calavera2015-01-051-14/+34
| | | |
* | | | Add extern function to initialize submodule update options.David Calavera2015-01-071-0/+7
| | | |
* | | | submodule: declare vars at top of func blockEdward Thomson2015-01-061-1/+4
| | | |
* | | | Merge commit 'refs/pull/2632/head' of github.com:libgit2/libgit2Carlos Martín Nieto2015-01-051-18/+219
|\ \ \ \ | |/ / / |/| | |
| * | | Introduce a convenience function for submodule updatejamill/submodule_updateJameson Miller2014-12-221-10/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces the functionality of submodule update in 'git_submodule_do_update'. The existing 'git_submodule_update' function is renamed to 'git_submodule_update_strategy'. The 'git_submodule_update' function now refers to functionality similar to `git submodule update`, while `git_submodule_update_strategy` is used to get the configured value of submodule.<name>.update.
| * | | submodule init should resolve relative url pathsJameson Miller2014-12-221-10/+24
| | |/ | |/| | | | | | | | | | Submodule init should handle relative paths in .gitmodules files and resolve these urls when updating the git config file.
* | | Fixed internal push state not being cleared on downloadPierre-Olivier Latour2015-01-011-0/+5
| |/ |/| | | | | git_remote_download() must also clear the internal push state resulting from a possible earlier push operation. Otherwise calling git_remote_update_tips() will execute the push version instead of the fetch version and among other things, tags won't be updated.
* | Merge pull request #2761 from libgit2/cmn/fetch-pruneEdward Thomson2014-12-302-0/+168
|\ \ | | | | | | Remote-tracking branch prunning
| * | fetch: remove the prune setterCarlos Martín Nieto2014-12-141-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | This option does not get persisted to disk, which makes it different from the rest of the setters. Remove it until we go all the way. We still respect the configuration option, and it's still possible to perform a one-time prune by calling the function.
| * | fetch: perform prune in separate stepsCarlos Martín Nieto2014-12-141-45/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each remote-tracking branch we want to remove, we need to consider it against every other refspec in case we have overlapping refspecs, such as with refs/heads/*:refs/remotes/origin/* refs/pull/*/head:refs/remotes/origin/pr/* as we'd otherwise remove too many refspecs. Create a list of condidates, which are the references matching the rhs of any active refspec and then filter that list by removing those entries for which we find a remove reference with any active refspec. Those which are left after this are removed.
| * | fetch: prune after updating tipsCarlos Martín Nieto2014-12-141-3/+6
| | | | | | | | | | | | | | | This makes a fetch+prune more similar to a connect+prune and makes it more likely that we see errors in the decision to prune a reference.
| * | Test that prune overlapping works as expected.David Calavera2014-12-141-1/+0
| | |
| * | remote: prune refs when fetchingLinquize2014-12-142-0/+104
| | |
* | | Merge pull request #2762 from libgit2/cmn/hide-pushEdward Thomson2014-12-303-12/+152
|\ \ \ | | | | | | | | remote: remove git_push from the public API
| * | | remote: remove git_push from the public APIcmn/hide-pushCarlos Martín Nieto2014-12-303-12/+152
| |/ / | | | | | | | | | | | | Instead we provide git_remote_upload() and git_remote_update_tips() in order to have a parallel API for fetching and pushing.
* | | Merge pull request #2785 from jacquesg/coverityCarlos Martín Nieto2014-12-3012-21/+48
|\ \ \ | | | | | | | | Coverity fixes
| * | | Check for OOMJacques Germishuys2014-12-302-0/+4
| | | |
| * | | Added missing error handling pathJacques Germishuys2014-12-301-0/+1
| | | |
| * | | Check the result of git_buf_joinpathJacques Germishuys2014-12-302-4/+9
| | | |
| * | | Plug some leaksJacques Germishuys2014-12-298-17/+34
| | | |
* | | | Merge pull request #2784 from jacquesg/undef-statEdward Thomson2014-12-291-0/+2
|\ \ \ \ | | | | | | | | | | Undef stat for Mingw
| * | | | Undef stat firstJacques Germishuys2014-12-291-0/+2
| |/ / /
* | | | Merge pull request #2783 from libgit2/cmn/treebuilder-newEdward Thomson2014-12-292-3/+3
|\ \ \ \ | | | | | | | | | | treebuilder: rename _create() to _new()
| * | | | treebuilder: rename _create() to _new()cmn/treebuilder-newCarlos Martín Nieto2014-12-272-3/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | This function is a constructor, so let's name it like one and leave _create() for the reference functions, which do create/write the reference.
* | | | Added AmigaOS-specific implementation of git__timer().Sebastian Bauer2014-12-281-0/+11
|/ / / | | | | | | | | | | | | | | | | | | The clock_gettime() function is normally not available under AmigaOS, hence another solution is required. We are using now GetUpTime() that is present in current versions of this operating system.
* | | Merge pull request #2772 from ethomson/case_changing_renameCarlos Martín Nieto2014-12-241-1/+1
|\ \ \ | | | | | | | | Case changing rename
| * | | Always checkout with case sensitive iteratorEdward Thomson2014-12-231-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | On a case-insensitive filesystem, we need to deal with case-changing renames (eg, foo -> FOO) by removing the old and adding the new, exactly as if we were on a case-sensitive filesystem. Update the `checkout::tree::can_cancel_checkout_from_notify` test, now that notifications are always sent case sensitively.
* | | Merge pull request #2778 from ethomson/whitespace_85Carlos Martín Nieto2014-12-241-2/+2
|\ \ \ | | | | | | | | don't treat 0x85 as whitespace
| * | | don't treat 0x85 as whitespaceEdward Thomson2014-12-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | A byte value of 0x85 is not whitespace, we were conflating that with U+0085 (UTF8: 0xc2 0x85). This caused us to incorrectly treat valid multibyte characters like U+88C5 (UTF8: 0xe8 0xa3 0x85) as whitespace.
* | | | global: include sys/openssl.h for GIT_EXPORT of fnEdward Thomson2014-12-231-0/+1
|/ / / | | | | | | | | | | | | | | | The openssl setup function needs to be GIT_EXPORT'ed, be sure to include the `sys/openssl.h` header so that it is appropriately decorated as an export function.
* | | index: reuc and name entrycounts should be size_tEdward Thomson2014-12-221-4/+4
|/ / | | | | | | | | | | For the REUC and NAME entries, we use size_t internally, and we take size_t for the get_byindex() functions, but the entrycount() functions strangely cast to an unsigned int instead.
* | Merge pull request #2759 from libgit2/cmn/openssl-sysEdward Thomson2014-12-201-1/+0
|\ \ | | | | | | Make OpenSSL locking warnings more severe
| * | Make the OpenSSL locking function warnings more severeCarlos Martín Nieto2014-12-121-1/+0
| |/ | | | | | | | | Our git_openssl_set_locking() would ideally not exist. Make it clearer that we provide it as a last resort and you should prefer anything else.
* | Merge pull request #2763 from libgit2/cmn/local-proto-progressEdward Thomson2014-12-201-0/+52
|\ \ | | | | | | Show progress output on fetch for the local transport
| * | local: send 'counting objects' outputcmn/local-proto-progressCarlos Martín Nieto2014-12-161-0/+52
| |/ | | | | | | | | Pretend we have a git process at the other end by creating a similar progress output when inserting objects into the packbuilder.
* | COM0 is a valid path, although Windows Explorer does not allow to create thisLinquize2014-12-191-1/+1
| |
* | Fix ming32 compilationCarlos Martín Nieto2014-12-191-0/+2
| | | | | | | | | | We need to know what wchar_t and MAX_PATH are. Including common.h takes care of that for us.
* | treebuilder: take a repository for path validationEdward Thomson2014-12-173-16/+19
| | | | | | | | | | | | Path validation may be influenced by `core.protectHFS` and `core.protectNTFS` configuration settings, thus treebuilders can take a repository to influence their configuration.
* | Introduce core.protectHFS and core.protectNTFSEdward Thomson2014-12-174-41/+100
| | | | | | | | | | | | Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
* | path: Use UTF8 iteration for HFS charsVicent Marti2014-12-163-81/+132
| |
* | checkout: disallow bad paths on HFSEdward Thomson2014-12-162-0/+98
| | | | | | | | | | | | | | | | HFS filesystems ignore some characters like U+200C. When these characters are included in a path, they will be ignored for the purposes of comparison with other paths. Thus, if you have a ".git" folder, a folder of ".git<U+200C>" will also match. Protect our ".git" folder by ensuring that ".git<U+200C>" and friends do not match it.