- 06 Nov, 2017 3 commits
-
-
appveyor: build examples
Edward Thomson committed -
The getline(3) function call is not part of ISO C and, most importantly, it is not implemented on Microsoft Windows platforms. As our networking example code makes use of getline, this breaks builds on MSVC and MinGW. As this code wasn't built prior to the previous commit, this was never noticed. Fix the error by instead implementing a `readline` function, which simply reads the password from stdin until it reads a newline character.
Patrick Steinhardt committed -
By default, CMake will not build our examples directory. As we do not instruct either the MinGW or MSVC builds on AppVeyor to enable building these examples, we cannot verify that those examples at least build on Windows systems. Fix that by passing `-DBUILD_EXAMPLES=ON` to AppVeyor's CMake invocation.
Patrick Steinhardt committed
-
- 04 Nov, 2017 5 commits
-
-
ignore spaces in .gitignore files
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Conditional includes
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
- 31 Oct, 2017 1 commit
-
-
We put our repository in the temporary directory which makes macOS map the path into a virtual path. `realpath(3)` can resolve it and we do so during repository opening, but that makes its path have a different prefix from the sandbox path clar thinks we have. Resolve the sandbox path before putting it into the test config files so the paths match as expected.
Carlos Martín Nieto committed
-
- 30 Oct, 2017 7 commits
-
-
travis: grab pgp key from www.edwardthomson.com
Carlos Martín Nieto committed -
Preserve the input casing when writing config files
Carlos Martín Nieto committed -
www.edwardthomson.com
Getting the key from the MIT keyserver is surprisingly unreliable. Try getting it from my website instead...
Edward Thomson committed -
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
For sections we will still use the existing one even if the case disagrees, but the variable always gets written with the case given by the caller.
Carlos Martín Nieto committed -
While most parts of a configuration key are case-insensitive, we should still be case-preserving and write down whatever string the caller provided.
Carlos Martín Nieto committed
-
- 29 Oct, 2017 4 commits
-
-
David Turner committed
-
example-log: add support for --log-size
Carlos Martín Nieto committed -
Implement a diff indent heuristic
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
- 28 Oct, 2017 2 commits
-
-
Ask for SSH credentials again when passphrase is wrong
Edward Thomson committed -
examples: remove Makefile
Edward Thomson committed
-
- 20 Oct, 2017 4 commits
-
-
When trying to decode the private key it looks like LibSSH2 returns a LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED when the passphrase is incorrect.
Curtis Vogt committed -
Back in the days when libgit2 was still young, libgit2 was using plain Makefiles as build infrastructure. We later changed that to instead use the CMake build system to make cross-platform development easier. In the process, we forgot to remove the Makefile from our examples directory, which is fixed by this commit here. Furthermore, remove the accompanying .gitignore file, which ignores build outputs. As we do out-of-tree builds only nowadays, no output is generated in that directory anymore.
Patrick Steinhardt committed -
cmake: use project-relative binary and source directories
Edward Thomson committed -
Due to our split of CMake files into multiple modules, we had to replace some uses of the `${CMAKE_CURRENT_SOURCE_DIR}` and `${CMAKE_CURRENT_BINARY_DIR}` variables and replace them with `${CMAKE_SOURCE_DIR}` and `${CMAKE_BINARY_DIR}`. This enabled us to still be able to refer to top-level files when defining build instructions inside of a subdirectory. When replacing all variables, it was assumed that the absolute set of variables is always relative to the current project. But in fact, this is not the case, as these variables always point to the source and binary directory as given by the top-levl project. So the change actually broke the ability to include libgit2 directly as a subproject, as source files cannot be found anymore. Fix this by instead using project-specific source and binary directories with `${libgit2_SOURCE_DIR}` and `${libgit2_BINARY_DIR}`.
Patrick Steinhardt committed
-
- 19 Oct, 2017 1 commit
-
-
Fix compilation for CMake versions 3.0.x where x >= 1
Patrick Steinhardt committed
-
- 14 Oct, 2017 2 commits
-
-
`inline` is not portable enough, and the `xdiff` code doesn't import the `GIT_INLINE` macro. So introduce a new `XDL_INLINE` macro (with the same definition as `GIT_INLINE`). Use the new macro to inline two functions in `xdiffi.c`.
Michael Haggerty committed -
Apparently policy CMP0015 was added in CMake 3.1. With CMake 3.0.2, the build was failing with CMake Error at CMakeLists.txt:18 (CMAKE_POLICY): Policy "CMP0051" is not known to this version of CMake. This patch makes it work.
Michael Haggerty committed
-
- 13 Oct, 2017 1 commit
-
-
Cleaned up the PR to address styling issues.
Carson Howard committed
-
- 12 Oct, 2017 2 commits
-
-
Carson Howard committed
-
Carson Howard committed
-
- 09 Oct, 2017 8 commits
-
-
cmake: use static dependencies when building static libgit2
Edward Thomson committed -
cmake: fix linking in Xcode with object libraries only
Edward Thomson committed -
transports: smart: fix memory leak when skipping symbolic refs
Edward Thomson committed -
Next to the "gitdir" conditional for including other configuration files, there's also a "gitdir/i" conditional. In contrast to the former one, path matching with "gitdir/i" is done case-insensitively. This commit implements the case-insensitive condition.
Patrick Steinhardt committed -
Upstream git.git has implemented the ability to include other configuration files based on conditions. Right now, this only includes the ability to include a file based on the gitdir-location of the repository the currently parsed configuration file belongs to. This commit implements handling these conditional includes for the case-sensitive "gitdir" condition.
Patrick Steinhardt committed -
tests: checkout::tree: verify status entrycount changes on chmod
Carlos Martín Nieto committed -
The reader machinery will be extended to handle conditional includes. The only conditions that currently exist all match the against the git directory of the repository the config file belongs to. As such, we need to have access to the repository when reading configuration files to properly handle these conditions. One specialty of thes conditional includes is that the actual pattern may also be a relative pattern starting with "./". In this case, we have to match the pattern against the path relative to the config file which is currently being parsed. So besides the repository, we also have to pass down the path to the current config file that is being parsed.
Patrick Steinhardt committed -
The logic inside this function will be required later on, when implementing conditional includes. Extract it into its own function to ease the implementation.
Patrick Steinhardt committed
-