git 1.13.0 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df0d52946aa19627fbff62a47b86f694763e957e1f6d87b9a5e14e6cae46ff1d
4
- data.tar.gz: f2b9e31a9cfb944da55c25b22b54aacd54d788e77ef2808d7cfba0a466cedb8a
3
+ metadata.gz: 8d000b5ac2ceebebeb6c84eae6aa1c6f4b3d58dd444f15c70390baadf7bb3c8e
4
+ data.tar.gz: f45ef489fb3aa2d3cff1a45cb127bb27fe380693af5e322220322fd8aa6dfd33
5
5
  SHA512:
6
- metadata.gz: 0a812bbdc6aabf7c63d30f96659edfe4a65a141dce613046d3f7e537f5105a80e48f6ae03cb30c4d806243cfd130b49bbc852f43df493191e26dfec2f03551f2
7
- data.tar.gz: b0a634418e93055e3f3c2c5256176515aa990950f4927e2b0ee82055a87543f0695cf13ae4a1f5bd99ab1cec9f8e264153b8aa2ec3f4392c88c5890c17ce7c13
6
+ metadata.gz: 6128142518501bce8bd4e5f40e178ac063359916daf544005bdc6187160619b74c6236a7f56b29438f3b5ebb547a5759b59b3140ee260ebd179bc8a4124d1a15
7
+ data.tar.gz: 56e9d4940992d8feab68502815563d6d16967c1d659748271bdd27e0e1a382f81ce4be4dd7682645b562f8b616be791f79437fdaaa072778aca724c91e40b4d1
@@ -13,7 +13,7 @@ jobs:
13
13
  strategy:
14
14
  fail-fast: false
15
15
  matrix:
16
- ruby: [2.3, 2.7, 3.0]
16
+ ruby: [2.7, 3.0, 3.1, 3.2]
17
17
  operating-system: [ubuntu-latest]
18
18
  include:
19
19
  - ruby: head
@@ -34,7 +34,7 @@ jobs:
34
34
 
35
35
  steps:
36
36
  - name: Checkout Code
37
- uses: actions/checkout@v2
37
+ uses: actions/checkout@v3
38
38
 
39
39
  - name: Setup Ruby
40
40
  uses: ruby/setup-ruby@v1
data/CHANGELOG.md CHANGED
@@ -5,6 +5,15 @@
5
5
 
6
6
  # Change Log
7
7
 
8
+ ## v1.13.1 (2023-01-12)
9
+
10
+ [Full Changelog](https://github.com/ruby-git/ruby-git/compare/v1.13.0...v1.13.1)
11
+
12
+ * 667b830 Update the GitHub Action step "actions/checkout" from v2 to v3 (#608)
13
+ * 23a0ac4 Fix version parsing (#605)
14
+ * 429f0bb Update release instructions (#606)
15
+ * 68d76b8 Drop ruby 2.3 build and add 3.1 and 3.2 builds (#607)
16
+
8
17
  ## v1.13.0 (2022-12-10)
9
18
 
10
19
  [Full Changelog](https://github.com/ruby-git/ruby-git/compare/v1.12.0...v1.13.0)
data/RELEASING.md CHANGED
@@ -8,61 +8,63 @@
8
8
  Releasing a new version of the `git` gem requires these steps:
9
9
 
10
10
  - [How to release a new git.gem](#how-to-release-a-new-gitgem)
11
- - [Prepare the release](#prepare-the-release)
12
- - [Create a GitHub release](#create-a-github-release)
13
- - [Build and release the gem](#build-and-release-the-gem)
14
-
15
- These instructions use an example where the current release version is `1.5.0`
16
- and the new release version to be created is `1.6.0.pre1`.
17
-
18
- ## Prepare the release
19
-
20
- From a fork of ruby-git, create a PR containing changes to (1) bump the
21
- version number, (2) update the CHANGELOG.md, and (3) tag the release.
22
-
23
- - Bump the version number in lib/git/version.rb following [Semantic Versioning](https://semver.org)
24
- guidelines
25
- - Add a link in CHANGELOG.md to the release tag which will be created later
26
- in this guide
27
- - Create a new tag using [git-extras](https://github.com/tj/git-extras/blob/master/Commands.md#git-release)
28
- `git release` command
29
- - For example: `git release v1.6.0.pre1`
30
- - These should be the only changes in the PR
31
- - An example of these changes for `v1.6.0.pre1` can be found in [PR #435](https://github.com/ruby-git/ruby-git/pull/435)
32
- - Get the PR reviewed, approved and merged to master.
33
-
34
- ## Create a GitHub release
35
-
36
- On [the ruby-git releases page](https://github.com/ruby-git/ruby-git/releases),
37
- select `Draft a new release`
38
-
39
- - Select the tag corresponding to the version being released `v1.6.0.pre1`
40
- - The Target should be `master`
41
- - For the release description, use the output of [changelog-rs](https://github.com/perlun/changelog-rs)
42
- - A Docker image is provided in [Dockerfile.changelog-rs](https://github.com/ruby-git/ruby-git/blob/master/Dockerfile.changelog-rs)
43
- so you don't have to install changelog-rs or the Rust tool chain. To build the
44
- Docker image, run this command from this project's root directory:
45
- - `docker build --file Dockerfile.changelog-rs --tag changelog-rs .`
46
- - To run the changelog-rs command using this image, run the following command
47
- from this project's root directory (replace the tag names appropriate for the
48
- current release):
49
- - `docker run --rm --volume "$PWD:/worktree" changelog-rs v1.5.0 v1.6.0.pre1`
50
- - Copy the output, omitting the tag header `## v1.6.0.pre1` and paste into
51
- the release description
52
- - The release description can be edited later if needed
53
- - Select the appropriate value for `This is a pre-release`
54
- - Since `v1.6.0.pre1` is a pre-release, check `This is a pre-release`
55
-
56
- ## Build and release the gem
57
-
58
- Clone [ruby-git/ruby-git](https://github.com/ruby-git/ruby-git) directly (not a
59
- fork) and ensure your local working copy is on the master branch
60
-
61
- - Verify that you are not on a fork with the command `git remote -v`
62
- - Verify that the version number is correct by running `rake -T` and inspecting
63
- the output for the `release[remote]` task
64
-
65
- Build the git gem and push it to rubygems.org with the command `rake release`
66
-
67
- - Ensure that your `gem sources list` includes `https://rubygems.org` (in my
68
- case, I usually have my work’s internal gem repository listed)
11
+ - [Install Prerequisites](#install-prerequisites)
12
+ - [Prepare the Release](#prepare-the-release)
13
+ - [Review and Merge the Release](#review-and-merge-the-release)
14
+ - [Build and Release the Gem](#build-and-release-the-gem)
15
+
16
+ These instructions use an example where:
17
+
18
+ - The default branch is `master`
19
+ - The current release version is `1.5.0`
20
+ - You want to create a new *minor* release, `1.6.0`
21
+
22
+ ## Install Prerequisites
23
+
24
+ The following tools need to be installed in order to create the release:
25
+
26
+ - [git](https://git-scm.com) is used to interact with the local and remote repositories
27
+ - [gh](https://cli.github.com) is used to create the release and PR in GitHub
28
+ - [Docker](https://www.docker.com) is used to run the script to create the release notes
29
+
30
+ On a Mac, these tools can be installed using [brew](https://brew.sh):
31
+
32
+ ```shell
33
+ $ brew install git
34
+ ...
35
+ $ brew install gh
36
+ ...
37
+ $ brew install --cask docker
38
+ ...
39
+ $
40
+ ```
41
+
42
+ ## Prepare the Release
43
+
44
+ Bump the version, create release notes, tag the release and create a GitHub release and PR which can be used to review the release.
45
+
46
+ Steps:
47
+
48
+ - Check out the code with `git clone https://github.com/ruby-git/ruby-git ruby-git-v1.6.0 && cd ruby-git-v1.6.0`
49
+ - Install development dependencies using bundle `bundle install`
50
+ - Based upon the nature of the changes, decide on the type of release: `major`, `minor`, or `patch` (in this example we will use `minor`)
51
+ - Run the release script `bundle exec create-github-release minor`
52
+
53
+ ## Review and Merge the Release
54
+
55
+ Have the release PR approved and merge the changes into the `master` branch.
56
+
57
+ **IMPORTANT** DO NOT merge to the `master` branch using the GitHub UI. Instead use the instructions below.
58
+
59
+ Steps:
60
+
61
+ - Get the release PR reviewed and approved in GitHub
62
+ - Merge the changes with the command `git checkout master && git merge --ff-only v1.6.0 && git push`
63
+
64
+ ## Build and Release the Gem
65
+
66
+ Build the gem and publish it to [rubygems.org](https://rubygems.org/gems/git)
67
+
68
+ Steps:
69
+
70
+ - Build and release the gem using rake `bundle exec rake release`
data/git.gemspec CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_runtime_dependency 'rchardet', '~> 1.8'
31
31
 
32
32
  s.add_development_dependency 'bump', '~> 0.10'
33
+ s.add_development_dependency 'create_github_release', '~> 0.2'
33
34
  s.add_development_dependency 'minitar', '~> 0.9'
34
35
  s.add_development_dependency 'rake', '~> 13.0'
35
36
  s.add_development_dependency 'test-unit', '~> 3.3'
data/lib/git/lib.rb CHANGED
@@ -63,8 +63,6 @@ module Git
63
63
  @git_work_dir = base[:working_directory]
64
64
  end
65
65
  @logger = logger
66
-
67
- Git::Lib.warn_if_old_command(self)
68
66
  end
69
67
 
70
68
  # creates or reinitializes the repository
@@ -1029,8 +1027,9 @@ module Git
1029
1027
  # returns the current version of git, as an Array of Fixnums.
1030
1028
  def current_command_version
1031
1029
  output = command('version')
1032
- version = output[/\d+\.\d+(\.\d+)+/]
1033
- version.split('.').collect {|i| i.to_i}
1030
+ version = output[/\d+(\.\d+)+/]
1031
+ version_parts = version.split('.').collect { |i| i.to_i }
1032
+ version_parts.fill(0, version_parts.length...3)
1034
1033
  end
1035
1034
 
1036
1035
  def required_command_version
@@ -1043,10 +1042,11 @@ module Git
1043
1042
 
1044
1043
  def self.warn_if_old_command(lib)
1045
1044
  return true if @version_checked
1045
+ @version_checked = true
1046
1046
  unless lib.meets_required_version?
1047
1047
  $stderr.puts "[WARNING] The git gem requires git #{lib.required_command_version.join('.')} or later, but only found #{lib.current_command_version.join('.')}. You should probably upgrade."
1048
1048
  end
1049
- @version_checked = true
1049
+ true
1050
1050
  end
1051
1051
 
1052
1052
  private
@@ -1104,6 +1104,8 @@ module Git
1104
1104
  end
1105
1105
 
1106
1106
  def command(cmd, *opts, &block)
1107
+ Git::Lib.warn_if_old_command(self)
1108
+
1107
1109
  command_opts = { chomp: true, redirect: '' }
1108
1110
  if opts.last.is_a?(Hash)
1109
1111
  command_opts.merge!(opts.pop)
data/lib/git/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Git
2
2
  # The current gem version
3
3
  # @return [String] the current gem version.
4
- VERSION='1.13.0'
4
+ VERSION='1.13.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.13.0
4
+ version: 1.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chacon and others
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-14 00:00:00.000000000 Z
11
+ date: 2023-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.10'
55
+ - !ruby/object:Gem::Dependency
56
+ name: create_github_release
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.2'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: minitar
57
71
  requirement: !ruby/object:Gem::Requirement