capita_git 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +12 -0
- data/lib/bash_completion.txt +23 -0
- data/lib/capita_git/cli.rb +29 -1
- data/lib/capita_git/man/gitc +8 -1
- data/lib/capita_git/man/gitc-backport +1 -1
- data/lib/capita_git/man/gitc-backport.txt +1 -1
- data/lib/capita_git/man/gitc-check +1 -1
- data/lib/capita_git/man/gitc-check.txt +1 -1
- data/lib/capita_git/man/gitc-close +1 -1
- data/lib/capita_git/man/gitc-close.txt +1 -1
- data/lib/capita_git/man/gitc-create +1 -1
- data/lib/capita_git/man/gitc-create.txt +1 -1
- data/lib/capita_git/man/gitc-install_autocomplete +15 -0
- data/lib/capita_git/man/gitc-install_autocomplete.txt +17 -0
- data/lib/capita_git/man/gitc-update +1 -1
- data/lib/capita_git/man/gitc-update.txt +1 -1
- data/lib/capita_git/man/gitc.txt +5 -1
- data/lib/capita_git/repository.rb +18 -1
- data/lib/capita_git/version.rb +1 -1
- data/lib/capita_git.rb +4 -0
- data/man/gitc-install_autocomplete.ronn +10 -0
- data/man/gitc.ronn +4 -0
- metadata +8 -4
data/README.rdoc
CHANGED
@@ -14,6 +14,10 @@
|
|
14
14
|
|
15
15
|
$ gitc close ([source_branch])
|
16
16
|
|
17
|
+
$ gitc backport ([branch])
|
18
|
+
|
19
|
+
$ gitc install_autocompletion
|
20
|
+
|
17
21
|
=== DESCRIPTION
|
18
22
|
|
19
23
|
*gitc* is a git automation tool used by CAPITA Unternehmensberatung GmbH which comes
|
@@ -37,6 +41,8 @@ return your correct name and email address.
|
|
37
41
|
|
38
42
|
$ gem install capita_git
|
39
43
|
|
44
|
+
$ gitc install_autocomplete
|
45
|
+
|
40
46
|
=== COMMANDS
|
41
47
|
|
42
48
|
For detailed explanation of the various commands, please use *gitc help <command>*.
|
@@ -62,5 +68,11 @@ Available commands currently are:
|
|
62
68
|
* <close>:
|
63
69
|
Closes a feature branch by updating the source branch, rebasing it onto your feature
|
64
70
|
branch and then merging into the source branch.
|
71
|
+
|
72
|
+
* <backport>:
|
73
|
+
Merges changes from a fix branch into master
|
74
|
+
|
75
|
+
* <install_autocomplete>:
|
76
|
+
Installs/updates and loads gitc autocompletion bash extension
|
65
77
|
|
66
78
|
|
@@ -0,0 +1,23 @@
|
|
1
|
+
_gitc()
|
2
|
+
{
|
3
|
+
local cur prev tags base
|
4
|
+
COMPREPLY=()
|
5
|
+
cur="${COMP_WORDS[COMP_CWORD]}"
|
6
|
+
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
7
|
+
local tags="create update close check backport publish"
|
8
|
+
|
9
|
+
case "${prev}" in
|
10
|
+
update|close|publish)
|
11
|
+
local user=`git config user.name | awk '{split($0,a," "); print tolower(substr(a[1],0,1)substr(a[2],0,1))}'`
|
12
|
+
state=`git branch 2>&1 > /dev/null`
|
13
|
+
if [ $? == "0" ]; then
|
14
|
+
local running=$(for x in `git branch | sed s/\*/' '/ | awk '{ print $1 }' | grep ^${user}_`; do echo ${x} ; done )
|
15
|
+
COMPREPLY=($(compgen -W "${running}" ${cur}))
|
16
|
+
return 0
|
17
|
+
fi
|
18
|
+
;;
|
19
|
+
esac
|
20
|
+
|
21
|
+
COMPREPLY=($(compgen -W "${tags}" ${cur}))
|
22
|
+
}
|
23
|
+
complete -F _gitc gitc
|
data/lib/capita_git/cli.rb
CHANGED
@@ -33,7 +33,12 @@ module CapitaGit
|
|
33
33
|
|
34
34
|
manpages = %w(
|
35
35
|
gitc
|
36
|
-
gitc-check
|
36
|
+
gitc-check
|
37
|
+
gitc-create
|
38
|
+
gitc-update
|
39
|
+
gitc-close
|
40
|
+
gitc-backport
|
41
|
+
gitc-install_autocomplete)
|
37
42
|
|
38
43
|
if manpages.include?(command)
|
39
44
|
root = File.expand_path("../man", __FILE__)
|
@@ -53,6 +58,7 @@ module CapitaGit
|
|
53
58
|
|
54
59
|
method_option 'remote', :type => :string
|
55
60
|
desc "check", "Generates a Gemfile into the current working directory"
|
61
|
+
|
56
62
|
def check
|
57
63
|
opts = options.dup
|
58
64
|
log :debug, "[DEBUG] Starting action 'check'"
|
@@ -99,6 +105,7 @@ module CapitaGit
|
|
99
105
|
end
|
100
106
|
|
101
107
|
desc "create", "Creates a new feature branch with the given name and optional source branch"
|
108
|
+
|
102
109
|
def create(name, source_branch=nil)
|
103
110
|
repo = CapitaGit::Repository.open(Dir.pwd)
|
104
111
|
source_branch = source_branch.nil? ? repo.current_branch.to_s : source_branch
|
@@ -109,6 +116,7 @@ module CapitaGit
|
|
109
116
|
end
|
110
117
|
|
111
118
|
desc "update", "Updates a feature branch your currently on or specified by name"
|
119
|
+
|
112
120
|
def update(feature_branch=nil)
|
113
121
|
repo = CapitaGit::Repository.open(Dir.pwd)
|
114
122
|
feature_branch = feature_branch.nil? ? repo.current_branch : feature_branch
|
@@ -119,6 +127,7 @@ module CapitaGit
|
|
119
127
|
end
|
120
128
|
|
121
129
|
desc "close", "Closes a feature branch your currently on or specified by name onto the source branch"
|
130
|
+
|
122
131
|
def close(feature_branch=nil)
|
123
132
|
repo = CapitaGit::Repository.open(Dir.pwd)
|
124
133
|
feature_branch = feature_branch.nil? ? repo.current_branch : feature_branch
|
@@ -128,6 +137,7 @@ module CapitaGit
|
|
128
137
|
end
|
129
138
|
|
130
139
|
desc "backport", "Merges changes from a fixbranch into master"
|
140
|
+
|
131
141
|
def backport(fix_branch=nil)
|
132
142
|
repo = CapitaGit::Repository.open(Dir.pwd)
|
133
143
|
fix_branch = fix_branch.nil? ? repo.current_branch : fix_branch
|
@@ -136,6 +146,24 @@ module CapitaGit
|
|
136
146
|
repo.merge_fixbranch(fix_branch)
|
137
147
|
end
|
138
148
|
|
149
|
+
desc "install_autocomplete", "asd"
|
150
|
+
|
151
|
+
def install_autocomplete
|
152
|
+
root = File.expand_path("../../", __FILE__)
|
153
|
+
system "cp #{root}/bash_completion.txt ~/.gitc_completion"
|
154
|
+
system "if grep -q 'gitc_completion' ~/.bashrc; then echo 'Done'; else echo '. .gitc_completion' >> ~/.bashrc; . ~/.gitc_completion; fi"
|
155
|
+
end
|
156
|
+
|
157
|
+
desc "publish", "Published a local branch to origin"
|
158
|
+
|
159
|
+
def publish(branch_name=nil)
|
160
|
+
repo = CapitaGit::Repository.open(Dir.pwd)
|
161
|
+
branch_name = branch_name.nil? ? repo.current_branch : branch_name
|
162
|
+
|
163
|
+
log :confirm, "--> Publishing '#{branch_name}' to 'origin"
|
164
|
+
repo.publish_branch(branch_name)
|
165
|
+
end
|
166
|
+
|
139
167
|
desc "runner", "Generates a Gemfile into the current working directory"
|
140
168
|
|
141
169
|
def runner(command)
|
data/lib/capita_git/man/gitc
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GITC" "5" "February 2011" "GITC 0.1.
|
4
|
+
.TH "GITC" "5" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBgitc\fR \- git helper for CAPITA Unternehmensberatung GmbH
|
@@ -28,6 +28,9 @@
|
|
28
28
|
\fBgitc\fR backport [branch]
|
29
29
|
.
|
30
30
|
.br
|
31
|
+
\fBgitc\fR install_autocomplete
|
32
|
+
.
|
33
|
+
.br
|
31
34
|
.
|
32
35
|
.SH "DESCRIPTION"
|
33
36
|
\fBgitc\fR is a git automation tool used by CAPITA Unternehmensberatung GmbH\.
|
@@ -75,4 +78,8 @@ closes a feature branch by updating and merging into the source branch
|
|
75
78
|
.TP
|
76
79
|
\fIbackport\fR
|
77
80
|
merges changes from a fix branch into master
|
81
|
+
.
|
82
|
+
.TP
|
83
|
+
\fIinstall_autocomplete\fR
|
84
|
+
installs/updates and loads gitc autocompletion bash extension
|
78
85
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GITC\-BACKPORT" "1" "February 2011" "GITC 0.1.
|
4
|
+
.TH "GITC\-BACKPORT" "1" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBgitc\-backport\fR \- Ports changes from a fix branch into master
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GITC\-CHECK" "1" "February 2011" "GITC 0.1.
|
4
|
+
.TH "GITC\-CHECK" "1" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBgitc\-check\fR \- Check for releases and create branches
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GITC\-CLOSE" "1" "February 2011" "GITC 0.1.
|
4
|
+
.TH "GITC\-CLOSE" "1" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBgitc\-close\fR \- Closes a feature branch
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GITC\-CREATE" "1" "February 2011" "GITC 0.1.
|
4
|
+
.TH "GITC\-CREATE" "1" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBgitc\-create\fR \- Creates a feature branch
|
@@ -0,0 +1,15 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
+
.
|
4
|
+
.TH "GITC\-INSTALL_AUTOCOMPLETE" "1" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBgitc\-install_autocomplete\fR \- Installs gitc autocompletion
|
8
|
+
.
|
9
|
+
.SH "SYNOPSIS"
|
10
|
+
\fBgitc\fR install_autocomplete
|
11
|
+
.
|
12
|
+
.br
|
13
|
+
.
|
14
|
+
.SH "DESCRIPTION"
|
15
|
+
\fBgitc autocomplete\fR installs a script in ~/\.gitc_autocomplete, appends inclusion in ~/\.bashrc and sources into current shell\.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
GITC-INSTALL_AUTOCOMPLETE(1) GITC Manual GITC-INSTALL_AUTOCOMPLETE(1)
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
NAME
|
6
|
+
gitc-install_autocomplete - Installs gitc autocompletion
|
7
|
+
|
8
|
+
SYNOPSIS
|
9
|
+
gitc install_autocomplete
|
10
|
+
|
11
|
+
DESCRIPTION
|
12
|
+
gitc autocomplete installs a script in ~/.gitc_autocomplete, appends
|
13
|
+
inclusion in ~/.bashrc and sources into current shell.
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
GITC 0.1.4 February 2011 GITC-INSTALL_AUTOCOMPLETE(1)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "GITC\-UPDATE" "1" "February 2011" "GITC 0.1.
|
4
|
+
.TH "GITC\-UPDATE" "1" "February 2011" "GITC 0.1.4" "GITC Manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBgitc\-update\fR \- Update a feature branch
|
data/lib/capita_git/man/gitc.txt
CHANGED
@@ -13,6 +13,7 @@ SYNOPSIS
|
|
13
13
|
gitc update [branch]
|
14
14
|
gitc close [branch]
|
15
15
|
gitc backport [branch]
|
16
|
+
gitc install_autocomplete
|
16
17
|
|
17
18
|
DESCRIPTION
|
18
19
|
gitc is a git automation tool used by CAPITA Unternehmensberatung GmbH.
|
@@ -52,7 +53,10 @@ COMMANDS
|
|
52
53
|
backport
|
53
54
|
merges changes from a fix branch into master
|
54
55
|
|
56
|
+
install_autocomplete
|
57
|
+
installs/updates and loads gitc autocompletion bash extension
|
55
58
|
|
56
59
|
|
57
60
|
|
58
|
-
|
61
|
+
|
62
|
+
GITC 0.1.4 February 2011 GITC(5)
|
@@ -92,8 +92,21 @@ module CapitaGit
|
|
92
92
|
system "git merge -m 'Backporting changes of fix branch \'#{branch}\' into master' #{branch}"
|
93
93
|
end
|
94
94
|
|
95
|
+
def publish_branch(branch)
|
96
|
+
raise "Can't publish '#{branch}' since it doesn't exist!" unless has_local_branch?(branch)
|
97
|
+
raise "'#{remote_name(branch)}' already exists remotely!" if has_remote_branch?(remote_name(branch))
|
98
|
+
push_local_branch_to_remote('origin', branch, remote_name(branch))
|
99
|
+
create_local_branch(remote_name(branch), "origin/#{remote_name(branch)}", true)
|
100
|
+
checkout_local_branch remote_name(branch)
|
101
|
+
system "git branch -D #{branch}"
|
102
|
+
end
|
103
|
+
|
95
104
|
def has_local_branch?(name)
|
96
|
-
!@repository.branches.local.detect { |b| b.full =~
|
105
|
+
!@repository.branches.local.detect { |b| b.full =~ /^#{name}.*/ }.nil?
|
106
|
+
end
|
107
|
+
|
108
|
+
def has_remote_branch?(name)
|
109
|
+
!@repository.branches.remote.detect { |b| b.full =~ /^#{name}.*/ }.nil?
|
97
110
|
end
|
98
111
|
|
99
112
|
def is_local_feature_branch?(name)
|
@@ -165,6 +178,10 @@ module CapitaGit
|
|
165
178
|
name.split('_')[1]
|
166
179
|
end
|
167
180
|
|
181
|
+
def remote_name(name)
|
182
|
+
name.gsub(/#{user_shortcut}_/, '').gsub(/_/,'-')
|
183
|
+
end
|
184
|
+
|
168
185
|
private
|
169
186
|
|
170
187
|
def log(message)
|
data/lib/capita_git/version.rb
CHANGED
data/lib/capita_git.rb
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
gitc-install_autocomplete(1) -- Installs gitc autocompletion
|
2
|
+
=======================================================
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`gitc` install_autocomplete<br>
|
7
|
+
|
8
|
+
## DESCRIPTION
|
9
|
+
|
10
|
+
**gitc autocomplete** installs a script in ~/.gitc_autocomplete, appends inclusion in ~/.bashrc and sources into current shell.
|
data/man/gitc.ronn
CHANGED
@@ -10,6 +10,7 @@ gitc(5) -- git helper for CAPITA Unternehmensberatung GmbH
|
|
10
10
|
`gitc` update [branch]<br>
|
11
11
|
`gitc` close [branch]<br>
|
12
12
|
`gitc` backport [branch]<br>
|
13
|
+
`gitc` install_autocomplete<br>
|
13
14
|
|
14
15
|
## DESCRIPTION
|
15
16
|
|
@@ -49,3 +50,6 @@ Available commands currently are:
|
|
49
50
|
|
50
51
|
* <backport>:
|
51
52
|
merges changes from a fix branch into master
|
53
|
+
|
54
|
+
* <install_autocomplete>:
|
55
|
+
installs/updates and loads gitc autocompletion bash extension
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capita_git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sebastian Georgi
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-02-
|
19
|
+
date: 2011-02-04 00:00:00 +01:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -115,6 +115,7 @@ files:
|
|
115
115
|
- Rakefile
|
116
116
|
- bin/gitc
|
117
117
|
- capita_git.gemspec
|
118
|
+
- lib/bash_completion.txt
|
118
119
|
- lib/capita_git.rb
|
119
120
|
- lib/capita_git/cli.rb
|
120
121
|
- lib/capita_git/repository.rb
|
@@ -124,15 +125,18 @@ files:
|
|
124
125
|
- man/gitc-check.ronn
|
125
126
|
- man/gitc-close.ronn
|
126
127
|
- man/gitc-create.ronn
|
128
|
+
- man/gitc-install_autocomplete.ronn
|
127
129
|
- man/gitc-update.ronn
|
128
130
|
- man/gitc.ronn
|
129
131
|
- test/cli_test.rb
|
130
132
|
- test/shoulda_macros.rb
|
131
133
|
- test/test_helper.rb
|
132
134
|
- lib/capita_git/man/gitc
|
135
|
+
- lib/capita_git/man/gitc-install_autocomplete
|
133
136
|
- lib/capita_git/man/gitc-check
|
134
137
|
- lib/capita_git/man/gitc-close
|
135
138
|
- lib/capita_git/man/gitc-update
|
139
|
+
- lib/capita_git/man/gitc-install_autocomplete.txt
|
136
140
|
- lib/capita_git/man/gitc-create.txt
|
137
141
|
- lib/capita_git/man/gitc-backport.txt
|
138
142
|
- lib/capita_git/man/gitc-check.txt
|