git 4.4.4 → 4.4.6
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 +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +14 -0
- data/README.md +13 -0
- data/lib/git/errors.rb +10 -0
- data/lib/git/version.rb +1 -1
- data/lib/git.rb +9 -0
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 92cc763ef58f6b7edb58f8212de310dfd064d66572ccdabbdf24342b78c47401
|
|
4
|
+
data.tar.gz: d3ae3f122e97723ad9ef1179314a155d3b3e3d22467c31f6fe7bef44e1fb9aaf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2eb8c6a72e815cae09980035295fb0fe5435f8406e4d4deb023ade5ee4e375cbafc286e262589546725a6b62e383def83c6e24a64e34573539bf7d21b621bbde
|
|
7
|
+
data.tar.gz: 70e29c8086669ac54c92704f528d0e8220fcfe7a94596a4ff419bcf398a6ee7acb00fb7817f3e6d652940ade929e435e7ff438ce2ffc355b228b1e30a6e1b023
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@
|
|
|
5
5
|
|
|
6
6
|
# Change Log
|
|
7
7
|
|
|
8
|
+
## [4.4.6](https://github.com/ruby-git/ruby-git/compare/v4.4.5...v4.4.6) (2026-09-16)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Other Changes
|
|
12
|
+
|
|
13
|
+
* **errors:** Document that filesystem and gzip errors can escape unconverted ([87d270f](https://github.com/ruby-git/ruby-git/commit/87d270f4f3a81c08c9727cc5106248d32b856c75)), closes [#1809](https://github.com/ruby-git/ruby-git/issues/1809)
|
|
14
|
+
|
|
15
|
+
## [4.4.5](https://github.com/ruby-git/ruby-git/compare/v4.4.4...v4.4.5) (2026-09-10)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Other Changes
|
|
19
|
+
|
|
20
|
+
* **export:** Describe what a failed .git removal leaves behind ([8a596f0](https://github.com/ruby-git/ruby-git/commit/8a596f00e032170ad6a48af2337dad71b7418069)), closes [#1823](https://github.com/ruby-git/ruby-git/issues/1823)
|
|
21
|
+
|
|
8
22
|
## [4.4.4](https://github.com/ruby-git/ruby-git/compare/v4.4.3...v4.4.4) (2026-09-10)
|
|
9
23
|
|
|
10
24
|
|
data/README.md
CHANGED
|
@@ -507,6 +507,19 @@ end
|
|
|
507
507
|
The git gem will only raise an `ArgumentError` or an error that is a subclass of
|
|
508
508
|
`Git::Error`. It does not explicitly raise any other types of errors.
|
|
509
509
|
|
|
510
|
+
The gem's own filesystem operations, such as reading a `.git` pointer file,
|
|
511
|
+
creating a temporary file, or changing directory, do not convert operating system
|
|
512
|
+
errors. These can be raised as a bare `SystemCallError` (for example `Errno::ENOENT`
|
|
513
|
+
or `Errno::EACCES`) rather than `Git::Error`. Gzip compression in `archive` can
|
|
514
|
+
likewise raise a `Zlib::Error`. Rescue `SystemCallError` and `Zlib::Error` alongside
|
|
515
|
+
`Git::Error` if your code needs to handle them. Any method that captures git
|
|
516
|
+
output can also raise `Encoding::ConverterNotFoundError` when the output contains
|
|
517
|
+
a line whose detected encoding, such as UTF-7, has no Ruby converter.
|
|
518
|
+
|
|
519
|
+
Starting with v6.0.0, the filesystem and gzip errors are raised as `Git::Error`
|
|
520
|
+
with the original error available through `cause`, and lines with no Ruby
|
|
521
|
+
converter are scrubbed instead of raising.
|
|
522
|
+
|
|
510
523
|
It is recommended to rescue `Git::Error` to catch any runtime error raised by this
|
|
511
524
|
gem unless you need more specific error handling.
|
|
512
525
|
|
data/lib/git/errors.rb
CHANGED
|
@@ -8,6 +8,16 @@ module Git
|
|
|
8
8
|
# The git gem will only raise an `ArgumentError` or an error that is a subclass of
|
|
9
9
|
# `Git::Error`. It does not explicitly raise any other types of errors.
|
|
10
10
|
#
|
|
11
|
+
# The gem's own filesystem operations, such as reading a `.git` pointer file,
|
|
12
|
+
# creating a temporary file, or changing directory, do not convert operating
|
|
13
|
+
# system errors. These can be raised as a bare `SystemCallError` (for example
|
|
14
|
+
# `Errno::ENOENT` or `Errno::EACCES`) rather than `Git::Error`. Gzip compression
|
|
15
|
+
# in `archive` can likewise raise a `Zlib::Error`. Rescue `SystemCallError` and
|
|
16
|
+
# `Zlib::Error` alongside `Git::Error` if your code needs to handle them. Any
|
|
17
|
+
# method that captures git output can also raise
|
|
18
|
+
# `Encoding::ConverterNotFoundError` when a line's detected encoding has no Ruby
|
|
19
|
+
# converter.
|
|
20
|
+
#
|
|
11
21
|
# It is recommended to rescue `Git::Error` to catch any runtime error raised by
|
|
12
22
|
# this gem unless you need more specific error handling.
|
|
13
23
|
#
|
data/lib/git/version.rb
CHANGED
data/lib/git.rb
CHANGED
|
@@ -312,6 +312,15 @@ module Git # rubocop:disable Style/OneClassPerFile
|
|
|
312
312
|
# <tt>options[:branch]</tt> is the short name of the ref: a branch name such as
|
|
313
313
|
# 'main' or a tag name such as 'v1.0.0'. A full ref path such as
|
|
314
314
|
# 'refs/tags/v1.0.0' or a commit SHA is not accepted.
|
|
315
|
+
#
|
|
316
|
+
# Removing +.git+ is not atomic. If it fails, the exported files are complete and
|
|
317
|
+
# usable, but the directory keeps whatever part of +.git+ could not be deleted.
|
|
318
|
+
# Nothing is cleaned up, because the exported files are the deliverable and the
|
|
319
|
+
# leftover has to be removed by hand once the cause of the failure is fixed.
|
|
320
|
+
#
|
|
321
|
+
# @raise [SystemCallError] if the +.git+ directory cannot be removed. The exported
|
|
322
|
+
# files are left in place, and the directory keeps whatever part of +.git+ could
|
|
323
|
+
# not be deleted.
|
|
315
324
|
def self.export(repository, name, options = {})
|
|
316
325
|
options.delete(:remote)
|
|
317
326
|
repo = clone(repository, name, { depth: 1 }.merge(options))
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: git
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.4.
|
|
4
|
+
version: 4.4.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Scott Chacon and others
|
|
@@ -310,8 +310,8 @@ licenses:
|
|
|
310
310
|
metadata:
|
|
311
311
|
homepage_uri: http://github.com/ruby-git/ruby-git
|
|
312
312
|
source_code_uri: http://github.com/ruby-git/ruby-git
|
|
313
|
-
changelog_uri: https://rubydoc.info/gems/git/4.4.
|
|
314
|
-
documentation_uri: https://rubydoc.info/gems/git/4.4.
|
|
313
|
+
changelog_uri: https://rubydoc.info/gems/git/4.4.6/file/CHANGELOG.md
|
|
314
|
+
documentation_uri: https://rubydoc.info/gems/git/4.4.6
|
|
315
315
|
rubygems_mfa_required: 'true'
|
|
316
316
|
rdoc_options: []
|
|
317
317
|
require_paths:
|
|
@@ -328,7 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
328
328
|
version: '0'
|
|
329
329
|
requirements:
|
|
330
330
|
- git 2.28.0 or greater
|
|
331
|
-
rubygems_version: 4.0.
|
|
331
|
+
rubygems_version: 4.0.20
|
|
332
332
|
specification_version: 4
|
|
333
333
|
summary: An API to create, read, and manipulate Git repositories
|
|
334
334
|
test_files: []
|