git2r 0.18.0 ------------ BUG FIXES * This is a bug-fix release to solve an error introduced in the build configuration on mac in version 0.17.0. The package failed with 'unable to load shared object', see issue #267. git2r 0.17.0 ------------ IMPROVEMENTS * Updated the bundled libgit2 source code to commit (6b0510e) from 20 December 2016. * Static linking of LibSSH2 on mac to support redistributable binary package with SSH transport enabled. Version 1.8.0 of LibSSH2 is downloaded and built from 'https://www.libssh2.org/download/'. git2r 0.16.0 ------------ IMPROVEMENTS * Updated libgit2 source code to commit (6b0510e) from 17 November 2016. * Add the option 'all_untracked' to the 'status' method to show individual files in untracked directories if the 'untracked' option is TRUE. * Add the 'tag_delete' method to delete an existing tag reference. * Update build configuration to support OpenSSL 1.1.0. * If the the 'getPass' package is installed the 'cred_ssh_key' method to create a new passphrase-protected ssh key credential object will call the 'getPass::getPass()' method if the private key is passphrase protected to allow for interactive input of the passphrase. The 'getPass' package is a suggested package. (Peter Meissner in PR #254) * Add 'path' argument to the 'reset' method to enable path-specific unstage, i.e. resets the index entries for all paths to their state at HEAD BUG FIXES * Build configuration: use portable string equality comparison operator. This fixes the build e.g. for those without Bash as /bin/sh. (Sander Maijers in PR #243). git2r 0.15.0 ------------ IMPROVEMENTS * Build configuration: 'pkg-config' is now used to find 'libssl', if possible (Elias Pipping in PR #231). * Added a method to coerce a 'git_commit' object to a 'data.frame'. * Added the method 'is_branch' to check if an object is a 'git_branch'. BUG FIXES * Build configuration: fixed installation with parallel make (Kirill Müller in PR #228). git2r 0.14.0 ------------ IMPROVEMENTS * Updated libgit2 source code to commit (785d8c48) from 2016-03-04. This is release v0.24.0 of libgit2. * Refactoring of the build scripts. * Added a check that the configuration key is valid when setting a configuration variable and output a warning if the key is invalid. * The status method now prints "working directory clean" instead of nothing when the working directory is clean. * Added the 'refspec' argument to the 'fetch' method to specify the refs to fetch and which local refs to update. * Added a workaround to the 'commit' method to list commits in a shallow clone since the libgit2 library does not yet support this. git2r 0.13.1 ------------ BUG FIXES * This is a bug-fix release to solve problems introduced in version 0.12.1: - The bundled libgit2 source code has been reverted to commit (98f7bd2) from 2015-08-05 (same as in v0.11.0) to fix memory alignment errors (clang-UBSAN and gcc-UBSAN). - OpenSSL is now used again on OS X to provide the cryptographic support for HTTPS connections to fix a significant compiler warning (arithmetic on a pointer to void is a GNU extension [-Wpointer-arith]) on r-devel-osx-x86_64-clang. - Several fixes to the build configuration on non-Windows platforms. git2r 0.12.1 ------------ NEW FEATURES * Add 'remote_ls' method to list references in a remote repository akin to the `git ls-remote` command. * Add 'remote_set_url' method to set the remote's url in the configuration. * Add 'cred_token' S4 class to hold the name of the environmental variable with the secret. Default value for the name is GITHUB_PAT. * It is now possible to checkout a specific file with the 'checkout' method. * Add 'ssl_cert_locations' method to set libgit2 global option 'GIT_OPT_SET_SSL_CERT_LOCATIONS' * Add 'ceiling' argument to 'discover_repository' method to prevent search from walking up the parent directories. CHANGES * Improvments to the cred_* functions documentation. * Add the following default arguments to the 'cred_ssh_key' method: publickey = '~/.ssh/id_rsa.pub' and privatekey = '~/.ssh/id_rsa' * On OSX, cascade CPPFLAGS and LDFLAGS to libssh2 build to allow libssh2 to be built against a user-installed openssl, discovered by configure or from R's Makeconf. Necessary to build on OS X ≥ 10.11 * On OS X, SecureTransport is now used to provide the cryptographic support for HTTPS connections insead of OpenSSL. * The search for libssh2 during configuration (non Windows) is now done via pkg-config. * Update OpenSSL on Windows to v1.0.2d * Update libgit2 source code to commit (3f5877d) from 2015-11-12. BUG FIXES * Add missing credentials argument to pull method. * Fix config failure when user.name or user.email are passed as variables. * Include 'configure.ac' in the distribution. git2r 0.11.0 ------------ NEW FEATURES * Add punch card plot. * Add branch argument to clone with name of the branch to checkout. * Add 'force' argument to 'add' method to add ignored files. * The following methods can now be called without the repository argument: 'branches', 'references', 'remotes', 'tags' and 'workdir'. When these methods are called without the repository argument, the repository is searched for with 'discover_repository' in the current working directory. * Add name of branch to each item in branch_list. * Add name of tag to each item in tags list. * Add S4 class 'cred_env' to pass credentials in environment variables. * SSH transport on Windows. This requires 'LibSSH2' and 'OpenSSL'. These two libraries are downloaded from 'https://github.com/rwinlib' during configuration of the package. * Static linking of LibSSH2 on OSX to support redistributable binary package with SSH transport enabled. Version 1.6.0 of LibSSH2 is downloaded and built from 'https://github.com/libssh2/libssh2'. IMPROVEMENTS * Better summary output from S4 classes 'git_commit' and 'git_repository'. * Updated libgit2 source code to commit (98f7bd2) from 2015-08-05. BUG FIXES * Add imports to DESCRIPTION to fix CRAN notes. * Fix plot function to use the repository argument 'x' * Update configuration to build on OpenBSD. * Fix checkout branch in empty repository. * Fix path argument in rm_file. * Internal refactoring of C code that raise error to prevent segfault. git2r 0.10.1 ------------ CHANGES * Rename 'bundle_repo' method to 'bundle_r_package' git2r 0.10.0 ------------ NEW FEATURES * Added method libgit2_sha that returns the commit id of the libgit2 library that the bundled source code is based on. * Added the method in_repository to determine if a directory is in a git repository. CHANGES * Add brief summary of the five latest commits when summarizing a git_respository. * Added argument 'n' to the commits method to limit the number of commits in the output. * Added the following methods with missing repository signature; commits, is_shallow, is_empty, is_detached, repository and status. Internally, these methods use getwd and discover_repository to open a repository. * Changed configuration to raise error if the OpenSSL library is not found on non-Windows systems. * Changed configuration to raise error if the iconv library is not found on OSX. * Removed print of the configuration in the config method. Changed to return S3 class git_config. * Removed print of the status in the status method. Changed to return S3 class git_status. BUG FIXES * Use OPENSSL_INCLUDES variable to build on Solaris. * Use bundled regex library on Solaris. git2 0.9 -------- CHANGES * Single quote 'libgit2' and 'Git' in Description field git2 0.8 -------- CHANGES * Added bare argument to clone method to create a bare repository * Added force argument to push to force local revision to the remote repo * Updated libgit2 source code (2a0f67f) * Internal refactoring of push NEW FEATURES * Added method rm_file to remove files * Added 'all' argument to commit method to stage modified and deleted files * Added shortcut to checkout previous branch with "-" which is synonymous with "@{-1}" * Added session argument to commit method to add sessionInfo to commit message * Added session argument to tag method to add sessionInfo to tag message * Added method to coerce POSIXlt to S4 class git_time * Added method 'revparse_single' to find object specified by revision * Added plot method git2 0.7 --------- CHANGES * Update libgit2 source code to commit (366e53d) * Fix configuration of compiler options when the OpenSSL library is found on non-Windows platforms git2r 0.6 --------- CHANGES * Update Title and Description field in DESCRIPTION file. git2r 0.5 --------- CHANGES * Update libgit2 source code to commit (a291790) * Use Alice and Bob as placeholder names in examples. * Add COPYRIGHTS file to list all copyright holders. * Fix significant compiler warnings from R CMD check with pedantic flag. git2r 0.4 --------- CHANGES * Fix build on Windows git2r 0.3 --------- CHANGES * Internal refactoring of merge method and merge tests. * Update libgit2 source code to version v0.22.0 BUG FIXES * Fix build on OSX. git2r 0.2 --------- NEW FEATURES * Add method 'odb_objects' to list all objects available in the database as a data.frame * Add method 'odb_blobs' to list all blobs reachable from the commits in the object database. DOCUMENTATION * Added examples to all exported methods. CHANGES * Removed ggplot2 dependency. Moved plot functionality to the ggit package (https://github.com/ropensci/ggit). * Renamed note_list method to notes * Removed markdown_link method * Renamed diff and merge arguments IMPROVMENTS * Better performance when summarizing contributions. * Improved build of package. BUG FIXES * Fixed memory leaks. * Fixed use of allocVector without protection. * Added unload hook to unload DLL. * Fix tree and blob tests to use writeChar instead of writeLines to have more control over line endings. git2r 0.1 --------- NEW FEATURES * Many new features and methods added, see the documention for a description of the methods below: - Blob: content, blob_create, hash, hashfile, is_binary, is_blob, length, show, summary. - Branch: branch_create, branch_delete, branch_get_upstream, branch_remote_name, branch_remote_url, branch_rename, branch_set_upstream and branch_target. - Commit: is_commit and parents. - Diff: diff and diff_print. - Fetch: fetch and fetch_heads. - Libgit2: libgit2_features and libgit2_version. - Merge: merge. - Note: note_create, note_default_ref, note_list and note_remove. - Pull: pull. - Push: push. - Remote: remote_add, remote_remove, remote_rename and remote_url. - Repository: discover_repository and is_shallow - Reset: reset. - Stash: stash, stash_drop, stash_list, show and summary. * Improved error messages to give more detailed information including which function raised the error. NEW S4 CLASSES * The following new S4 classes to handle the libgit2 data structures: - cred_ssh_key - cred_user_pass - git_blame - git_blame_hunk - git_blob - git_diff - git_diff_file - git_diff_hunk - git_diff_line - git_fetch_head - git_merge_result - git_note - git_reflog_entry - git_stash - git_transfer_progress - git_tree CHANGES * Renamed methods: - is.bare to is_bare - is.empty to is_empty - is.head to is_head - is.local to is_local * Rename hex to sha for the 40-character SHA-1 hash in method arguments and S4 class slots. git2r 0.0.8 ----------- NEW FEATURES * Added method to clone repository * Added method config to set user.name and user.email in a repository * Added method status to display state of a repository git2r 0.0.7 ----------- NEW FEATURES * Added method to create a commit CHANGES * Improved error checking git2r 0.0.6 ----------- NEW FEATURES * Added method init to create a new Git repository CHANGES * Removed usage of testthat package when testing the package * Removed bundled zlib in src/zlib and instead link against zlib shipped with R. * Dropped usage of external pointers, S4 git_repository now keeps track of the path of the repository. git2r 0.0.5 ----------- CHANGES * Renamed S4 class repository to git_repository NEW FEATURES * Added method commits to list all commits in repository * Added S4 class git_commit to hold infformation of a commit * Added S4 class git_time to hold time of an action * Added slot walker to S4 class git_repository git2r 0.0.4 ----------- NEW FEATURES * Added method remote_url to get the url a remote in a repository * Added method workdir to get workdir of a repository * Added method remotes to list remotes of a repository * Added S4 class git_signature to hold information of an action signature (e.g. for committers, taggers, etc) CHANGES * Renamed S4 class tag to git_tag * Renamed S4 class branch to git_branch * Renamed S4 class reference to git_reference git2r 0.0.3 ----------- NEW FEATURES * Added method branches to list branches * Added method head to retrieve head * Added method is.head to check if a branch is head * Added method is.local to check if a branch is local * Added S4 class branch to hold information of a git branch * Added method to show a reference * Added method to list all references in a repository * Added S4 class reference to hold information of a git reference git2r 0.0.2 ----------- NEW FEATURES * Added is.bare method to check if a repository is bare * Added is.empty method to check if a repository is empty git2r 0.0.1 ----------- NEW FEATURES * Added S4 class repository to work with a git repository * Initial package structure