capita_git 0.1.3 → 0.1.4
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.
- 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
|