Change Log

v1.19.1 (2024-01-13)

Full Changelog

Changes since v1.19.0:

  • f97c57c Announce the 2.0.0 pre-release (#682)

v1.19.0 (2023-12-28)

Full Changelog

Changes since v1.18.0:

  • 3bdb280 Add option to push all branches to a remote repo at one time (#678)
  • b0d89ac Remove calls to Dir.chdir (#673)
  • e64c2f6 Refactor tests for read_tree, write_tree, and commit_tree (#679)
  • 0bb965d Explicitly name remote tracking branch in test (#676)
  • 8481f8c Document how to delete a remote branch (#672)
  • dce6816 show .log example with count in README, fixes #667 (#668)
  • b1799f6 Update test of 'git worktree add' with no commits (#670)
  • dd5a24d Add --filter to Git.clone for partial clones (#663)

v1.18.0 (2023-03-19)

Full Changelog

Changes since v1.17.2:

  • 3c70 Add support for --update-head-ok to fetch (#660)
  • b53d Do not generate yard documentation when building in TruffleRuby (#659)
  • 5af1 Correctly report command output when there is an error (#658)
  • b27a Add test to ensure that Git.open works to open a submodule (#655)
  • 5b0e Update Git.clone to set multiple config variables (#653)

v1.17.2 (2023-03-07)

Full Changelog

Changes since v1.17.1:

  • f43d6 Fix branch name parsing to handle names that include slashes (#651)

v1.17.1 (2023-03-06)

Full Changelog

Changes since v1.17.0:

  • 774e Revert introduction of ActiveSupport dependency (#649)

v1.17.0 (2023-03-05)

Full Changelog

Changes since v1.16.0:

  • 1311 Add deprecation mechanism (introduces runtime dependency on ActiveSupport) (#645)
  • 50b8 Add the push_option option for Git::Lib#push (#644)
  • a799 Make Git::Base#ls_tree handle commit objects (#643)
  • 6db3 Implememt Git.default_branch (#571)

v1.16.0 (2023-03-03)

Full Changelog

Changes since v1.15.0:

  • 536d Fix parsing when in detached HEAD state in Git::Lib#branches_all (#641)
  • 5c68 Fix parsing of symbolic refs in Git::Lib#branches_all (#640)
  • 7d88 Remote#branch and #merge should default to current branch instead of "master" (#639)
  • 3dda0 #branch name should default to current branch instead of master (#638)
  • d33d #checkout without args should do same as git checkout with no args (#637)
  • 0c90 #push without args should do same as git push with no args (#636)
  • 2b19 Make it easier to run test files from the command line (#635)

v1.15.0 (2023-03-01)

Full Changelog

Changes since v1.14.0:

  • b40d #pull with no options should do the same thing as git pull with no options (#633)
  • 9c5e Fix error when calling Git::Lib#remove with recursive or cached options (#632)
  • 806e Add Git::Log#all option (#630)
  • d905 Allow a repo to be opened giving a non-root repo directory (#629)
  • 1ccd Rewrite worktree tests (#628)
  • 4409 Fix Git::Branch#update_ref (#626)

v1.14.0 (2023-02-25)

Full Changelog

Changes since v1.13.2:

  • 0f7c4a5 Allow the use of an array of path_limiters and add extended_regexp option to grep (#624)
  • 8992701 Refactor error thrown when a git command fails (#622)
  • cf74b91 Simplify how temp files are used when testing Git::Base#archive (#621)
  • a8bfb9d Set init.defaultBranch when running tests if it is not already set (#620)
  • 9ee7ca9 Create a null logger if a logger is not provided (#619)
  • 872de4c Internal refactor of Git::Lib command (#618)
  • 29e157d Simplify test running and fixture repo cloning (#615)
  • 08d04ef Use dynamically-created repo for signed commits test (#614)

v1.13.2 (2023-02-02)

Full Changelog

Changes since v1.13.1:

  • b6e031d Fix Git::Lib#commit_data for GPG-signed commits (#610)
  • b12b820 Fix escaped path decoding (#612)

v1.13.1 (2023-01-12)

Full Changelog

  • 667b830 Update the GitHub Action step "actions/checkout" from v2 to v3 (#608)
  • 23a0ac4 Fix version parsing (#605)
  • 429f0bb Update release instructions (#606)
  • 68d76b8 Drop ruby 2.3 build and add 3.1 and 3.2 builds (#607)

v1.13.0 (2022-12-10)

Full Changelog

  • 8349224 Update list of maintainers (#598)
  • 4fe8738 In ls-files do not unescape file paths with eval (#602)
  • 74b8e11 Add start_point option for checkout command (#597)
  • ff6dcf4 Do not assume the default branch is 'master' in tests
  • 8279298 Fix exception when Git is autoloaded (#594)

v1.12.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.12.0

v1.11.0

  • 292087e Supress unneeded test output (#570)
  • 19dfe5e Add support for fetch options "--force/-f" and "--prune-tags/-P". (#563)
  • 018d919 Fix bug when grepping lines that contain numbers surrounded by colons (#566)
  • c04d16e remove from maintainer (#567)
  • 291ca09 Address command line injection in Git::Lib#fetch
  • 521b8e7 Release v1.10.2 (#561)

See https://github.com/ruby-git/ruby-git/releases/tag/v1.11.0

v1.10.2

See https://github.com/ruby-git/ruby-git/releases/tag/v1.10.2

1.10.1

See https://github.com/ruby-git/ruby-git/releases/tag/v1.10.1

1.10.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.10.0

1.9.1

See https://github.com/ruby-git/ruby-git/releases/tag/v1.9.1

1.9.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.9.0

1.8.1

See https://github.com/ruby-git/ruby-git/releases/tag/v1.8.1

1.8.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.8.0

1.7.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.7.0

1.6.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.6.0

1.6.0.pre1

See https://github.com/ruby-git/ruby-git/releases/tag/v1.6.0.pre1

1.5.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.5.0

1.4.0

See https://github.com/ruby-git/ruby-git/releases/tag/v1.4.0

1.3.0

  • Dropping Ruby 1.8.x support

1.2.10

  • Adding Git::Diff.name_status
  • Checking and fixing encoding on commands output to prevent encoding errors afterwards

1.2.9

  • Adding Git.configure (to configure the git env)
  • Adding Git.ls_remote [Git.ls_remote(repo_path_or_url='.')]
  • Adding Git.describe [repo.describe(objectish, opts)]
  • Adding Git.show [repo.show(objectish=nil, path=nil)]
  • Fixing Git::Diff to support default references (implicit references)
  • Fixing Git::Diff to support diff over git .patch files
  • Fixing Git.checkout when using :new_branch opt
  • Fixing Git::Object::Commit to preserve its sha after fetching metadata
  • Fixing Git.is_remote_branch? to actually check against remote branches
  • Improvements over how ENV variables are modified
  • Improving thrade safety (using --git-dir and --work-tree git opts)
  • Improving Git::Object::Tag. Adding annotated?, tagger and message
  • Supporting a submodule path as a valid repo
  • Git.checkout - supporting -f and -b
  • Git.clone - supporting --branch
  • Git.fetch - supporting --prune
  • Git.tag - supporting

1.2.8

  • Keeping the old escape format for windows users
  • revparse: Supporting ref names containing SHA like substrings (40-hex strings)
  • Fix warnings on Ruby 2.1.2

1.2.7

  • Fixing mesages encoding
  • Fixing -f flag in git push
  • Fixing log parser for multiline messages
  • Supporting object references on Git.add_tag
  • Including dotfiles on Git.status
  • Git.fetch - supporting --tags
  • Git.clean - supporting -x
  • Git.add_tag options - supporting -a, -m and -s
  • Added Git.delete_tag

1.2.6

  • Ruby 1.9.X/2.0 fully supported
  • JRuby 1.8/1.9 support
  • Rubinius support
  • Git.clone - supporting --recursive and --config
  • Git.log - supporting last and [] over the results
  • Git.add_remote - supporting -f and -t
  • Git.add - supporting --fore
  • Git.init - supporting --bare
  • Git.commit - supporting --all and --amend
  • Added Git.remote_remote, Git.revert and Git.clean
  • Added Bundler to the formula
  • Travis configuration
  • Licence included with the gem

1.0.4

  • added camping/gitweb.rb frontend
  • added a number of speed-ups

1.0.3

  • Sped up most of the operations
  • Added some predicate functions (commit?, tree?, etc)
  • Added a number of lower level operations (read-tree, write-tree, checkout-index, etc)
  • Fixed a bug with using bare repositories
  • Updated a good amount of the documentation

1.0.2

  • Added methods to the git objects that might be helpful

1.0.1

  • Initial version