hiiro 0.1.83 → 0.1.85

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/h-branch +33 -11
  3. data/lib/hiiro/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 599e565871c2afc37ae659954e4ccf01568bed4375032fb9d8ba21007e7e2673
4
- data.tar.gz: 4fdcbf43a79f2b63ec3f95ecd003973cb3175b4ef0b6cdbb0cbc36444439b259
3
+ metadata.gz: 711ddf464139bf62e19c852705b3bc4663f563d5513ad5d254d82225ed18622a
4
+ data.tar.gz: 407f809d3cd61e38badea49d6a0aa07da9e37bea82a2b51a8490fe38c380b8b4
5
5
  SHA512:
6
- metadata.gz: e8945bc066927371fa804f6b0deef00ee36f84be0fc9178033e52d5228ce5f6b895b114cb3a0a37129e491f2c8d4a1156cfce36e18740d28048fa7885ad1f792
7
- data.tar.gz: 31acaf4e204e3be5f8c6fddbf6009f0e757bad86e3dcbe5c770637c05d848a6c4a65c42552617e015bd8b55171aecc9d2fde86b58e6b16ed06ef23f8bdef6179
6
+ metadata.gz: 6c3d6e03f0d0fecc10ee37035c445a4f5cd127c8c657e741a269a1901ab947aee813a6d71eb73e164cef6232fe5fd939362c7c8d503c1db30adbcd1834265367
7
+ data.tar.gz: c5b40ea4b56ad100bca2d0670d3338187ff1effcde9c24b63695652b46056e5704366f5fb16364fa01906e945412e478bd35fd69dd0eec6988ac95c067e0119f
data/bin/h-branch CHANGED
@@ -14,14 +14,6 @@ class BranchManager
14
14
  @hiiro = hiiro
15
15
  end
16
16
 
17
- def help
18
- puts "Usage: h branch <subcommand> [args]"
19
- puts
20
- puts "Subcommands:"
21
- puts " save Record current branch for this task"
22
- puts " current Show current branch info"
23
- end
24
-
25
17
  def save
26
18
  branch_name = current_branch
27
19
  unless branch_name
@@ -129,7 +121,9 @@ manager = BranchManager.new(hiiro)
129
121
 
130
122
  hiiro.add_subcmd(:edit) { system(ENV['EDITOR'] || 'nvim', __FILE__) }
131
123
  hiiro.add_subcmd(:save) { manager.save }
132
- hiiro.add_subcmd(:current) { manager.current }
124
+ hiiro.add_subcmd(:history) { |*args| manager.history(args) }
125
+ hiiro.add_subcmd(:current) { print `git branch --show-current` }
126
+ hiiro.add_subcmd(:info) { manager.current }
133
127
  hiiro.add_subcmd(:select) do |*args|
134
128
  branches = hiiro.git.branches(sort_by: 'authordate', ignore_case: true)
135
129
 
@@ -265,6 +259,36 @@ hiiro.add_subcmd(:diff) { |*args|
265
259
  system('git', 'log', '--oneline', '--decorate', range)
266
260
  }
267
261
 
262
+ hiiro.add_subcmd(:changed) { |*args|
263
+ show_all = args.delete('-a') || args.delete('--all')
264
+ upstream = args.first
265
+
266
+ upstream ||= %w[origin/master master origin/main main].find { |ref|
267
+ system("git rev-parse --verify #{ref} >/dev/null 2>&1")
268
+ }
269
+
270
+ unless upstream
271
+ puts "Cannot find master or origin/master"
272
+ next
273
+ end
274
+
275
+ forkpoint = `git merge-base --fork-point #{upstream} HEAD 2>/dev/null`.strip
276
+ if forkpoint.empty?
277
+ forkpoint = `git merge-base #{upstream} HEAD 2>/dev/null`.strip
278
+ end
279
+
280
+ if forkpoint.empty?
281
+ puts "Could not find fork point"
282
+ next
283
+ end
284
+
285
+ if show_all
286
+ system('git', 'diff', '--name-only', "#{forkpoint}...HEAD")
287
+ else
288
+ system('git', 'diff', '--name-only', '--relative', "#{forkpoint}...HEAD")
289
+ end
290
+ }
291
+
268
292
  hiiro.add_subcmd(:ahead) { |*args|
269
293
  case args.length
270
294
  when 0
@@ -434,6 +458,4 @@ hiiro.add_subcmd(:ancestor) { |*args|
434
458
  end
435
459
  }
436
460
 
437
- hiiro.add_default { manager.help }
438
-
439
461
  hiiro.run
data/lib/hiiro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.83"
2
+ VERSION = "0.1.85"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.83
4
+ version: 0.1.85
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota