stud-finder 0.5.0 → 0.5.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: faa8060a75346fc7a402adf203764c650d1596c2c6b3f4cb25571b3b21ecfa7a
4
- data.tar.gz: 9c26eed3cb20c42d0155a730ba0ff70f9893a43493bf49d633aea4a0a2036a79
3
+ metadata.gz: 6e14a94cc20570cd7eb6b592b62b0cbf7268d8be02f546a3f1f343146f6b3c6f
4
+ data.tar.gz: a49e0535ae4dc3f97958e2758773a04ceb7b486e7f7582a3048562dafbcfeaf4
5
5
  SHA512:
6
- metadata.gz: 863567f3e6dedd1808075bf9ae272cdb3f2e5b3b849b0eaa3b7b829a0db56873b757e6587d4fc82b6460fe6ab993407de24742fdde86d6bea6cb9809eb388ec0
7
- data.tar.gz: a0a6d9b9fb0ad35bd88e22e26c24eb72957d22c46fd138e0e4c8b7da2bbcc885c5fb7f23bc58db547b826c754a478d72aa9b6cf0b3b04c81fa1801ef11fc903a
6
+ metadata.gz: d036d77feaec9b455cf6abe8d5f2578f25a91f7948bb91d7a97150d94b007c38fd4daa4b4ea0bce21c41168b31f3f70cb03779657af4c156a7c4225d17fa6020
7
+ data.tar.gz: ff082727ae14f9dbd27a0a11528a4f3223df541218ab58f4ac7420adae66b405eef05ae541c20da3ad3a97cd738c2104bc5b916ad1846ac6066f361576e2f3a2
data/CHANGELOG.md CHANGED
@@ -5,7 +5,17 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [0.5.0] - Unreleased
8
+ ## [0.5.1] - Unreleased
9
+
10
+ ### Added
11
+
12
+ - Auto-unshallow now emits a stderr progress line before fetching, so users aren't surprised by the silent clone mutation. `--no-auto-unshallow` still skips the whole attempt.
13
+
14
+ ### Fixed
15
+
16
+ - Auto-unshallow no longer leaks the child `git fetch` process on timeout. `Open3.popen3` + explicit `TERM`/`KILL` reap replaces the prior `Open3.capture3` + `Timeout.timeout` pattern that unwound the parent stack while leaving the child orphaned.
17
+
18
+ ## [0.5.0] - 2026-07-12
9
19
 
10
20
  ### Changed
11
21
 
@@ -20,7 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
20
30
  - `--no-auto-unshallow` flag: opt out of the automatic `git fetch --unshallow` on shallow clones. When set, Stud Finder behaves as before — shallow clone disables newness and emits only `shallow_clone_newness_disabled`.
21
31
  - `shallow_clone_unshallow_failed` warning code: fires when auto-unshallow was attempted but failed (network error, timeout, or non-zero exit). Appears alongside `shallow_clone_newness_disabled` so consumers can distinguish "unshallow was never tried" from "unshallow was tried and failed".
22
32
 
23
- ## [0.4.0] - Unreleased
33
+ ## [0.4.0] - 2026-07-11
24
34
 
25
35
  ### Changed
26
36
 
@@ -531,10 +531,14 @@ module StudFinder
531
531
  end
532
532
 
533
533
  def attempt_unshallow(files)
534
- require 'timeout'
535
- Timeout.timeout(45) do
536
- _stdout, _stderr, status = Open3.capture3('git', 'fetch', '--unshallow', chdir: @repo_path)
537
- raise 'unshallow failed' unless status.success?
534
+ progress('auto-unshallow: fetching full history to compute evidence (use --no-auto-unshallow to skip)')
535
+ Open3.popen3('git', '-C', @repo_path, 'fetch', '--unshallow') do |_stdin, _stdout, _stderr, wait_thread|
536
+ unless wait_thread.join(45)
537
+ Process.kill('TERM', wait_thread.pid)
538
+ Process.kill('KILL', wait_thread.pid) unless wait_thread.join(5)
539
+ raise 'unshallow timed out'
540
+ end
541
+ raise 'unshallow failed' unless wait_thread.value.success?
538
542
 
539
543
  Newness.new(repo_path: @repo_path, files: files, days: @options[:new_file_days],
540
544
  min_commits: @options[:new_file_min_commits]).call
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module StudFinder
4
- VERSION = '0.5.0'
4
+ VERSION = '0.5.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stud-finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - bazfer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-12 00:00:00.000000000 Z
11
+ date: 2026-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: csv