git_curate 1.2.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 50c509c86ea95a040e7585fe963ddf1dcc393a5119ca88b13f0b80979e8cd228
4
- data.tar.gz: c5d43923dbd54b153d087680f25e8af9b9428f63fce7c72a6371d9b30a9ae080
3
+ metadata.gz: b33e072a71943724778d39da1a00e03c8f35c35880ae4c17eb15195a22847529
4
+ data.tar.gz: 45cb3068e500a04742c5514aa1b06e8aae2b0dfeff3796a6e4669555e23aa611
5
5
  SHA512:
6
- metadata.gz: c73b1abed7812ef99ca538d6d68946feda57320f0b4ee37885bd083b00ea8e675d6aa0c0a696dff6ffa881fa8fc9d7758c6e4ce73cb0ad4aeea5c9c5435e5b9d
7
- data.tar.gz: 36c31763289bb4a50de7bb585d32308ffab6593a0116fce702578deddd8f8ea6e3268ae4dbd71d7a97727edf977a4d584e9f042a80ff5b57ec678c0c8b32f3e1
6
+ metadata.gz: 85bab3c9cc97daf93ddf278713b8a7aad010c406cdcc940af7e100aebd7aa99d5c5b69a613ea736f990076718e628d7be7b92b18706ca35c63482980d9e11248
7
+ data.tar.gz: 4da0223e68e991c394ea88df0a8c0238100234ddc92d3a95c8823e52be428997835fc820ee23286ae9b3363dd9b49fedd541e2955668d1c66afd1800bb95bc8e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ### v1.3.0
4
+
5
+ * Add --merged and --no-merged options
6
+ * Dependency version upgrades
7
+
3
8
  ### v1.2.1
4
9
 
5
10
  * Dependency version upgrades
data/README.md CHANGED
@@ -75,6 +75,9 @@ If you just want to view the information about your local branches without stepp
75
75
  them interactively, enter `git curate --list` or `git curate -l`. Your current branch _will_
76
76
  be included in this list in this case.
77
77
 
78
+ You can also pass `--merged` to see only those branches merged into current `HEAD`; or `--no-merged`
79
+ to see only those branches _not_ merged into current `HEAD`.
80
+
78
81
  ## Contributing
79
82
 
80
83
  Bug reports and pull requests are welcome on [GitHub](https://github.com/matt-harvey/git_curate).
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.1
1
+ 1.3.0
data/git_curate.gemspec CHANGED
@@ -29,8 +29,8 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ["lib"]
30
30
 
31
31
  spec.add_runtime_dependency "highline", "2.0.3"
32
- spec.add_runtime_dependency "rugged", "1.4.3"
33
- spec.add_runtime_dependency "tabulo", "2.8.0"
32
+ spec.add_runtime_dependency "rugged", "1.5.0.1"
33
+ spec.add_runtime_dependency "tabulo", "2.8.1"
34
34
  spec.add_runtime_dependency "tty-screen", "0.8.1"
35
35
 
36
36
  spec.add_development_dependency "bundler"
@@ -60,14 +60,16 @@ module GitCurate
60
60
  end
61
61
 
62
62
  # Returns the local branches
63
- def self.local
63
+ def self.local(merged_opt)
64
64
  toplevel_dir = Util.command_output("git rev-parse --show-toplevel").strip
65
65
  repo = Rugged::Repository.new(toplevel_dir)
66
66
 
67
67
  rugged_branches = repo.branches
68
68
  repo_head_target = repo.head.target
69
69
 
70
- Util.command_to_a("git branch").map do |line|
70
+ command = "git branch" + (merged_opt ? " #{merged_opt}" : "")
71
+
72
+ Util.command_to_a(command).map do |line|
71
73
  raw_branch_name = line.strip
72
74
  proper_branch_name = raw_branch_name.gsub(CURRENT_BRANCH_REGEX, "")
73
75
  rugged_branch = rugged_branches[proper_branch_name]
@@ -38,6 +38,20 @@ module GitCurate
38
38
  self.parsed_options[:list] = true
39
39
  end
40
40
 
41
+ opts.on(
42
+ "--merged",
43
+ "Only list branches whose tips are reachable from HEAD",
44
+ ) do
45
+ self.parsed_options[:merged_opt] = "--merged"
46
+ end
47
+
48
+ opts.on(
49
+ "--no-merged",
50
+ "Only list branches whose tips are not reachable from HEAD",
51
+ ) do
52
+ self.parsed_options[:merged_opt] = "--no-merged"
53
+ end
54
+
41
55
  opts.on("-h", "Print this help message") do
42
56
  puts opts
43
57
  return false
@@ -26,7 +26,7 @@ module GitCurate
26
26
  return EXIT_FAILURE
27
27
  end
28
28
 
29
- branches = Branch.local
29
+ branches = Branch.local(@opts[:merged_opt])
30
30
  branches.reject!(&:current?) if interactive?
31
31
 
32
32
  table = Tabulo::Table.new(branches, border: :reduced_ascii, column_padding: 0, align_header: :left) do |t|
@@ -47,7 +47,7 @@ module GitCurate
47
47
  branches_to_delete = []
48
48
 
49
49
  if !interactive?
50
- puts table
50
+ puts table if branches.any?
51
51
  return EXIT_SUCCESS
52
52
  end
53
53
 
@@ -1,3 +1,3 @@
1
1
  module GitCurate
2
- VERSION = "1.2.1"
2
+ VERSION = "1.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git_curate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Harvey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-01 00:00:00.000000000 Z
11
+ date: 2022-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.4.3
33
+ version: 1.5.0.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.4.3
40
+ version: 1.5.0.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: tabulo
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 2.8.0
47
+ version: 2.8.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 2.8.0
54
+ version: 2.8.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: tty-screen
57
57
  requirement: !ruby/object:Gem::Requirement