git-dd 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/git-dd.rb +24 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 562eabc3a7f3fd637d288a411e945901465abccf
|
4
|
+
data.tar.gz: 11463fec56a906f9a9f08e6d16ebf86aa743791b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8822502d974cf99b5c5a52ba498740157d0b578b6ed5cf34bf52c3e8a1b017de0b41cc7afbca75a818eb17b784897bb8b2b99d14a606676f887d14006e295eb
|
7
|
+
data.tar.gz: 63cfd3aa24afde3ff38cb63ffb7e110bd38b0cbd9a26429072f56c032ff8e1bda8252bc54676c2ac71ba3617d9da38b56236e2112b46ffbe2f6e9383d9aabc9c
|
data/lib/git-dd.rb
CHANGED
@@ -5,16 +5,26 @@ require 'rainbow/ext/string'
|
|
5
5
|
|
6
6
|
class GitDD
|
7
7
|
def run
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
branch_names = `git branch`
|
9
|
+
return if $?.exitstatus != 0
|
10
|
+
|
11
|
+
branch_names = branch_names.split("\n")
|
12
|
+
|
13
|
+
branches_with_more_info = `git branch -vv`
|
14
|
+
branches_with_more_info = branches_with_more_info.split("\n")
|
15
|
+
|
16
|
+
return if branch_names.size != branches_with_more_info.size
|
17
|
+
|
18
|
+
branches = {}
|
19
|
+
branch_names.each_with_index { |b, i| branches[b] = branches_with_more_info[i] }
|
12
20
|
|
13
|
-
if branches.size ==
|
21
|
+
if branches.size == 1
|
14
22
|
puts "You only have one branch."
|
15
23
|
return
|
16
24
|
end
|
17
25
|
|
26
|
+
branches = branches.select { |k, v| k != current_branch_with_mark && !k.include?("* (HEAD detached at") }
|
27
|
+
|
18
28
|
puts "Current branch is: #{current_branch.color(:green)}"
|
19
29
|
|
20
30
|
prompt = TTY::Prompt.new(interrupt: :exit)
|
@@ -25,12 +35,18 @@ class GitDD
|
|
25
35
|
end
|
26
36
|
end
|
27
37
|
|
28
|
-
branches_to_delete = prompt.multi_select("Choose branches to delete:",
|
38
|
+
branches_to_delete = prompt.multi_select("Choose branches to delete:", per_page: 20, help: '',echo: false) do |menu|
|
39
|
+
branches.each { |k, v| menu.choice v, k}
|
40
|
+
end
|
41
|
+
|
42
|
+
branches_to_delete.each { |b| puts b.color(:red) }
|
29
43
|
|
30
44
|
ensure_delete = !prompt.no?('Are you sure?')
|
31
45
|
|
32
46
|
if ensure_delete
|
33
|
-
branches_to_delete.each
|
47
|
+
branches_to_delete.each do |b|
|
48
|
+
puts `git branch -D #{b}`.chomp.color(:yellow)
|
49
|
+
end
|
34
50
|
end
|
35
51
|
end
|
36
52
|
|
@@ -41,8 +57,6 @@ class GitDD
|
|
41
57
|
end
|
42
58
|
|
43
59
|
def current_branch
|
44
|
-
|
45
|
-
@current_branch ||= `git rev-parse --abbrev-ref HEAD`
|
46
|
-
@current_branch = @current_branch.gsub("\n", '')
|
60
|
+
@current_branch ||= `git rev-parse --abbrev-ref HEAD`.chomp
|
47
61
|
end
|
48
62
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-dd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Weiqing Chu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-prompt
|