git_remote_set_pushurl()gains anaddargument to append push URLs instead of replacing them. (@robitalec, #128)git_branch_create():forcenow also applies to the checkout step, allowing branch creation even when local changes would be overwritten (@MichaelChirico, #177).- Improve manual pages (@olivroy, #227)
- Fix badge links in
README.md(@dpprdan, #189) - Use
NEWS.mdinstead ofNEWS(@olivroy, #209) - Add git_revert() function (#206)
- git_stat_files() gains a 'max' parameter
- Fix function declaration error
- Add git_worktree() family of functions (#252)
- Reformat code with air
- Workaround for accidental API change in libgit2 1.8.0
- Disable a non-api call in R >= 4.5.0 for now
- Fix a printf warning for cran
- Windows: update to libgit2-1.7.1 + libssh-1.11.0 + openssl-3.1.2
- Add
git_commit_stats()function - Add
git_ignore_path_is_ignored()function - Fix protect bug in
git_submodule_list()
- Replace sprintf with snprintf for CRAN
- Fix the Wstrict-prototype warnings
- Use special static libgit2 bundle for openssl-3 distros.
- Add support for the new ED25519 keys when authenticating over SSH
- The static libgit2 for win/mac/linux are all 1.4.2 with a patched version of libssh 1.10.1. This should fix problems with the latest release versions of libgit2 and libssh2.
- The patched libssh2 builds should now support RSA-SHA2, which re-enables authentication with GitHub using an RSA key.
- On production Linux systems (x64 RHEL/Ubuntu) default to building using the
static libgit2 because of above reasons. Set
USE_SYSTEM_LIBGIT2=1to force building against a local libgit2 on these platforms.
- The static libgit2 for linux has been updated to 1.5.0 (this is only used on linux systems where no sufficient libgit2 is available).
git_status()gains parameter pathspecgit_ls()gains paremeter 'ref' and works with bare repositories
- We recommend at least libgit2 1.0 now
- Windows: update to libgit2 1.4.2
- Tests: switch to ECDSA keys for ssh remote unit tests
git_log()gains a parameter 'after'
- Windows: use ${HOMEDRIVE}${HOMEPATH} path as home if it exists, to match git-for-windows. On most systems this is the same as ${USERPROFILE}.
-
git_commit_info()no longer includes $diff by default because it can be huge. Please usegit_diff()instead if you need it.
- Fix a unit test for some older versions of libgit2
- Make unit tests more robust against network fail and renamed branches
- Windows / MacOS: update to libgit2 1.3.0
- Fix compile error with some older version of libgit2
- MacOS: automatically use static libs when building in CI
- Windows / MacOS: update to libgit2 1.2.0
- New function
git_branch_move() git_branch_checkout()gains 'orphan' parameter
- Fix unit test because GitHub has disabled user/pass auth
- Windows: fix build for ucrt toolchains
- Solaris: disable https cert verfication
- Some encoding fixes for latin1 paths, especially non-ascii Windows usernames.
- New
git_stat_files()function.
- On x86_64 Linux systems where libgit2 is too old or unavailable, we automatically try to download a precompiled static version of libgit2. This includes CentOS 7/8 as well as Ubuntu 16.04 and 18.04. Therefore the PPA should no longer be needed. You can opt-out of this by setting an envvar: USE_SYSTEM_LIBGIT2=1
- Add tooling to manually find and set the location of the system SSL certificates on such static builds, and also for Solaris.
- Add several functions to work with submodules.
- Globally enable submodule-caching for faster diffing.
- Refactor internal code to please rchk analysis tool.
git_branch_list()gains a parameter 'local'- Windows / MacOS: update to libgit2 1.1.0
- Do not use bash in configure
git_branch_list()andgit_commit_info()gain a date field- Bug fixes
- Lots of new functions
- Windows and MacOS now ship with libgit2-1.0.0
- Do not advertise HTTPS support in startup message because it should always be supported.
- Config setters return previous value invisibly (#37)
- Conflicted files are reported by
git_status()(#40) - Windows: libgit2 now finds ~/.gitconfig under $USERPROFILE (instead of Documents)
- A git_signature object is now stored as a string instead of an externalptr
- The 'name' parameter in git_remote_ functions has been renamed to 'remote'
- Support for clone --mirror and push --mirror (#12)
git_open()now searches parent directories for .git repositorygit_push()sets upstream if unset- workaround for ASAN problem in libssh2
- lots of tweaks and bug fixes
- Initial CRAN release.