summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* remote: rename _load() to _lookup()cmn/remote-lookupCarlos Martín Nieto2014-11-0819-42/+45
| | | | This brings it in line with the rest of the lookup functions.
* Merge pull request #2691 from libgit2/cmn/submodule-and-dirEdward Thomson2014-11-0712-31/+167
|\ | | | | submodules: stale module entries
| * iterator: submodules are determined by an index or treecmn/submodule-and-dirCarlos Martín Nieto2014-11-0711-31/+119
| | | | | | | | | | | | | | | | | | | | | | | | We cannot know from looking at .gitmodules whether a directory is a submodule or not. We need the index or tree we are comparing against to tell us. Otherwise we have to assume the entry in .gitmodules is stale or otherwise invalid. Thus we pass the index of the repository into the workdir iterator, even if we do not want to compare against it. This follows what git does, which even for `git diff <tree>`, it will consider staged submodules as such.
| * submodules: add failing test for stale module entriesCarlos Martín Nieto2014-11-071-0/+48
|/ | | | | | | | | We consider an entry in .gitmodules to mean that we have a submodule at a particular path, even if HEAD^{tree} and the index do not contain any reference to it. We should ignore that submodule entry and simply consider that path to be a regular directory.
* Merge pull request #2692 from ethomson/bug2515Carlos Martín Nieto2014-11-073-64/+280
|\ | | | | checkout_index: handle other stages
| * checkout_index: Remove stage 0 when checking out conflictsEdward Thomson2014-11-062-13/+56
| |
| * checkout_index: remove conflicts when checking out new filesEdward Thomson2014-11-062-51/+224
|/
* Merge pull request #2598 from libgit2/cmn/stacked-ignoreEdward Thomson2014-11-063-0/+60
|\ | | | | ignore: don't leak rules into higher directores
| * ignore: don't leak rules into higher directoriescmn/stacked-ignoreCarlos Martín Nieto2014-11-062-0/+28
| | | | | | | | | | | | | | | | | | | | A rule "src" in src/.gitignore must only match subdirectories of src/. The current code does not include this context in the match rule and would thus consider this rule to match the top-level src/ directory instead of the intended src/src/. Keep track fo the context in which the rule was defined so we can perform a prefix match.
| * ignore: add failing test for a file mentioning the parentCarlos Martín Nieto2014-11-061-0/+32
| | | | | | | | | | When we mention "src" in src/.gitignore, we wrongly consider src/ itself to be ignored.
* | Merge pull request #2676 from libgit2/cmn/threadingEdward Thomson2014-11-064-18/+124
|\ \ | | | | | | Threading and crypto libraries
| * | docs: explicitly document the threading caveatscmn/threadingCarlos Martín Nieto2014-11-012-0/+84
| | | | | | | | | | | | | | | | | | Talk about sharing objects and error messages; but the most important part is about what to do with the cryptographic libraries, which sadly have to become to responsibility of the application.
| * | ssl: separate locking init from general initCarlos Martín Nieto2014-11-012-18/+39
| | | | | | | | | | | | | | | Extract the lock-setting functions into their own, as we cannot assume that it's ok for us to set this unconditionally.
| * | ssl: clear the OpenSSL locking functionCarlos Martín Nieto2014-11-011-0/+1
| | | | | | | | | | | | | | | We're freeing the memory which holds the locks so we must make sure that the locking function doesn't try to use it.
* | | Merge pull request #2682 from libgit2/cmn/fetch-tags-refspecEdward Thomson2014-11-062-0/+28
|\ \ \ | |_|/ |/| | remote: check for the validity of the refspec when updating FETCH_HEAD
| * | remote: check the relevance of the refspec when updating FETCH_HEADcmn/fetch-tags-refspecCarlos Martín Nieto2014-11-031-0/+1
| | | | | | | | | | | | | | | | | | Before trying to rtransform using the given refspec to figure out what the name of the upstream branch is on the remote, we must make sure that the target of the refspec applies to the current branch's upstream.
| * | remote: add a failing test for checking the current branch's upstreamCarlos Martín Nieto2014-11-021-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we update FETCH_HEAD we check whether the remote is the current branch's upstream remote. The code does not check whether the current refspec is relevant for this reference but always tries to perform the reverse transformation, which causes it to error out if the refspec doesn't match the reference. Thanks to Pierre-Olivier Latour for the reproduction recipe.
* | | Merge pull request #2688 from libgit2/cmn/ignore-file-trailing-crEdward Thomson2014-11-052-1/+42
|\ \ \ | | | | | | | | ignore: consider files with a CR in their names
| * | | ignore: consider files with a CR in their namescmn/ignore-file-trailing-crCarlos Martín Nieto2014-11-052-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently consider CR to start the end of the line, but that means that we miss cases with CR CR LF which can be used with git to match files whose names have CR at the end of their names. The fix from the patch comes from Russell's comment in the issue. This fixes #2536.
* | | | Merge pull request #2686 from ethomson/rename_notfoundCarlos Martín Nieto2014-11-032-1/+10
|\ \ \ \ | | | | | | | | | | Propogate GIT_ENOTFOUND from git_remote_rename
| * | | | git_remote_rename: propogate GIT_ENOTFOUNDEdward Thomson2014-11-032-1/+10
|/ / / /
* | | | Merge pull request #2679 from jfultz/missing-includeEdward Thomson2014-11-032-6/+28
|\ \ \ \ | | | | | | | | | | Make config reading continue after hitting a missing include file.
| * | | | Clean up issues include.path issues found during code review.John Fultz2014-11-022-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Error-handling is cleaned up to only let a file-not-found error through, not other sorts of errors. And when a file-not-found error happens, we clean up the error. * Test now checks that file-not-found introduces no error. And other minor cleanups.
| * | | | Make config reading continue after hitting a missing include file.John Fultz2014-11-012-7/+21
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, if you have [include] path = foo and foo didn't exist, git_config_open_ondisk() would just give up on the rest of the file. Now it ignores the unresolved include without error and continues reading the rest of the file.
* | | | Merge pull request #2661 from swisspol/2656Edward Thomson2014-11-033-3/+8
|\ \ \ \ | |_|/ / |/| | | Changed context_lines and interhunk_lines to uint32_t to match struct s_xdemitconf
| * | | Changed context_lines and interhunk_lines to uint32_t to match struct ↵Pierre-Olivier Latour2014-10-273-3/+8
| | | | | | | | | | | | | | | | s_xdemitconf
* | | | Merge pull request #2683 from libgit2/cmn/remote-unifyEdward Thomson2014-11-031-21/+2
|\ \ \ \ | | | | | | | | | | remote: unify the creation code
| * | | | remote: unify the creation codecmn/remote-unifyCarlos Martín Nieto2014-11-021-21/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The create function with default refspec is the same as the one with a custom refspec, but it has the default refspec, so we can create the one on top of the other.
* | | | | Merge pull request #2680 from libgit2/cmn/invalid-cert-returnEdward Thomson2014-11-031-1/+1
|\ \ \ \ \ | | | | | | | | | | | | netops: return GIT_ECERTIFICATE when it fails the basic tests
| * | | | | netops: return GIT_ECERTIFICATE when it fails the basic testscmn/invalid-cert-returnCarlos Martín Nieto2014-11-021-1/+1
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we first ask OpenSSL to verify the certfiicate itself (rather than the HTTPS specifics), we should also return GIT_ECERTIFICATE. Otherwise, the caller would consider this as a failed operation rather than a failed validation and not call the user's own validation.
* | | | | Merge pull request #2685 from libgit2/cmn/mmap-readableEdward Thomson2014-11-031-4/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix segmentation fault observed on OpenBSD/sparc64
| * | | | | Fix segmentation fault observed on OpenBSD/sparc64cmn/mmap-readableStefan Sperling2014-11-031-4/+2
| | |/ / / | |/| | | | | | | | | | | | | | | | | | A non-readable mapping of a file causes an access violation in the pack tests. Always use PROT_READ to work around this.
* | | | | Merge pull request #2684 from jacquesg/openssl-windowsEdward Thomson2014-11-031-7/+8
|\ \ \ \ \ | |/ / / / |/| | | | Make the Visual Studio compiler happy
| * | | | Make the Visual Studio compiler happyJacques Germishuys2014-11-031-7/+8
|/ / / /
* | | | remote: fix tagopt testCarlos Martín Nieto2014-11-021-7/+7
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | An anonymous remote wouldn't create remote-tracking branches, so testing we don't create them for TAGS_ALL is nonsensical. Furthermore, the name of the supposed remote-tracking branch was also not one which would have been created had it had a name. Give the remote a name and test that we only create the tags when we pass TAGS_ALL and that we do create the remote-branch branch when given TAGS_AUTO.
* | | merge: talk about the merging state after git_merge()Carlos Martín Nieto2014-11-021-0/+5
|/ / | | | | | | | | Since it's not necessarily obvious, mention the merging state and how to clear it.
* | Merge pull request #2669 from ethomson/revert_test_fixEdward Thomson2014-10-2713-12/+8
|\ \ | | | | | | revert tests: always use core.autocrlf=false in tests
| * | revert tests: always use core.autocrlf=false in testsEdward Thomson2014-10-2713-12/+8
|/ /
* | Merge pull request #2659 from swisspol/static_analysisEdward Thomson2014-10-275-8/+3
|\ \ | |/ |/| Fixed the most obvious Clang static analyzer warnings
| * Fixed potential crash with uninitialized variablesPierre-Olivier Latour2014-10-272-2/+2
| |
| * Removed some useless variable assignmentsPierre-Olivier Latour2014-10-274-6/+1
|/
* Merge pull request #2666 from libgit2/cmn/threadsafe-onEdward Thomson2014-10-273-2/+5
|\ | | | | Flip THREADSAFE's default to ON
| * Flip THREADSAFE's default to ONcmn/threadsafe-onCarlos Martín Nieto2014-10-273-2/+5
| | | | | | | | | | | | Threads are here to stay; and for a while now, users have had to call the initialization function which sets up threads and crypto regardless of whether the library was built threadsafe or not.
* | Merge commit 'refs/pull/2366/head' of github.com:libgit2/libgit2Carlos Martín Nieto2014-10-278-24/+29
|\ \ | |/ |/|
| * Fix compiler warning (git_off_t cast to size_t).Albert Meltzer2014-05-198-24/+29
| | | | | | | | | | | | Use size_t for page size, instead of long. Check result of sysconf. Use size_t for page offset so no cast to size_t (second arg to p_mmap). Use mod instead div/mult pair, so no cast to size_t is necessary.
* | Merge branch 'csware/cleanup'Edward Thomson2014-10-261-8/+6
|\ \
| * | Minor cleanup: Use defined no_check_cert_flags instead of C&P them againSven Strickroth2014-10-261-8/+6
|/ / | | | | | | Signed-off-by: Sven Strickroth <email@cs-ware.de>
* | Merge pull request #2482 from libgit2/ed/rebaseEdward Thomson2014-10-26169-566/+3381
|\ \ | | | | | | Rebase (merge)
| * | rebase: add information to the CHANGELOGed/rebaseEdward Thomson2014-10-261-0/+14
| | |
| * | rebase: updates based on PR commentsEdward Thomson2014-10-263-34/+47
| | |