githole 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +31 -9
- data/bin/githole +1 -1
- data/lib/githole/git.rb +18 -8
- data/lib/githole/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf9e813cda8dd4a093678ce4daa99c0264a6f44b
|
4
|
+
data.tar.gz: 10b2641ad26cc0eb3936cc176a993fa2e92246a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01a840bc71e8b286656a6c34639d7503af51a3e8bc955750266985771e2eba559aec2de285d884a3d4054c94e7cec483b5c073a48a35ae39cdb04bdffe2ca082
|
7
|
+
data.tar.gz: 31644ef0660500851f7e9c037636089cb5af43ecd7083536ac366627849fea316714960a52b2bee6bad21a5f3b25083da6875a18f6e2cdee27570aa69088a6ca
|
data/README.md
CHANGED
@@ -24,7 +24,7 @@ branches are rolled into one. In other words, every remote branch (other than
|
|
24
24
|
master) reflects the bleeding edge relevant to the version after which that
|
25
25
|
branch is named.
|
26
26
|
|
27
|
-
### 2: No
|
27
|
+
### 2: No Committing to Master
|
28
28
|
|
29
29
|
There should be no commits to the master branch. Ever.
|
30
30
|
|
@@ -42,9 +42,10 @@ To bring a feature branch up to date (required before you merge into version
|
|
42
42
|
branch), you need to bring in changes from master and the remote version branch
|
43
43
|
that you might not have.
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
To keep history clean, we *rebase* the version branch onto the feature branch.
|
46
|
+
Unfortunately, to keep a consistent point in history, we need to *merge*
|
47
|
+
updates from master onto the version branch (at least that's worked the best at
|
48
|
+
the moment).
|
48
49
|
|
49
50
|
Installation
|
50
51
|
----------------
|
@@ -93,12 +94,25 @@ This creates a *version branch* -- `v1.4.1` -- and a *local feature branch* --
|
|
93
94
|
> branches. You only merge into them after you have rebased them to your loacl
|
94
95
|
> branch.**
|
95
96
|
|
96
|
-
|
97
|
+
If the remote branch already exists, then we run the following commands:
|
97
98
|
|
98
99
|
```text
|
100
|
+
$ git checkout master
|
101
|
+
$ git fetch
|
102
|
+
$ git checkout -b v1.4.1 origin/v1.4.1
|
103
|
+
$ git pull origin v1.4.1
|
104
|
+
$ git checkout -b local-v1.4.1
|
105
|
+
```
|
106
|
+
|
107
|
+
If the remote branch doesn't exist at the origin, we need to create it and push
|
108
|
+
it.
|
109
|
+
|
110
|
+
```text
|
111
|
+
$ git checkout master
|
112
|
+
$ git fetch
|
99
113
|
$ git checkout -b v1.4.1
|
100
|
-
$ git pull origin v1.4.1 # if remote branch already exists
|
101
114
|
$ git push origin v1.4.1
|
115
|
+
$ git branch -u origin/v1.4.1
|
102
116
|
$ git checkout -b local-v1.4.1
|
103
117
|
```
|
104
118
|
|
@@ -117,15 +131,14 @@ you begin a dev session.
|
|
117
131
|
$ githole update v1.4.1
|
118
132
|
```
|
119
133
|
|
120
|
-
This runs the following commands
|
134
|
+
This runs the following commands:
|
121
135
|
|
122
136
|
```text
|
123
137
|
$ git checkout master
|
124
138
|
$ git pull origin master
|
125
|
-
$ git checkout local-v1.4.1
|
126
|
-
$ git rebase master
|
127
139
|
$ git checkout v1.4.1
|
128
140
|
$ git pull origin v1.4.1
|
141
|
+
$ git merge master
|
129
142
|
$ git checkout local-v1.4.1
|
130
143
|
$ git rebase v1.4.1
|
131
144
|
```
|
@@ -217,6 +230,15 @@ $ git push origin release
|
|
217
230
|
$ git checkout master
|
218
231
|
```
|
219
232
|
|
233
|
+
### Count
|
234
|
+
|
235
|
+
This is the only action that doesn't require a version argument. It simply
|
236
|
+
gives you the total number of commits in the current branch.
|
237
|
+
|
238
|
+
```text
|
239
|
+
$ githole count
|
240
|
+
```
|
241
|
+
|
220
242
|
Contributing
|
221
243
|
----------------
|
222
244
|
|
data/bin/githole
CHANGED
@@ -8,7 +8,7 @@ version = ARGV[1]
|
|
8
8
|
if cmd.nil? || cmd == ''
|
9
9
|
puts "Please specify your command."
|
10
10
|
exit
|
11
|
-
elsif version.nil? || version == ''
|
11
|
+
elsif cmd != 'count' && (version.nil? || version == '')
|
12
12
|
puts "Please specify the version you are working with."
|
13
13
|
else
|
14
14
|
githole = Githole::Git.new(version)
|
data/lib/githole/git.rb
CHANGED
@@ -6,29 +6,35 @@ module Githole
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def respond_to?(cmd)
|
9
|
-
['add','update','push','remove',
|
9
|
+
['add','update','push','remove','tag','release','count'].include?(cmd)
|
10
10
|
end
|
11
11
|
|
12
12
|
def add
|
13
13
|
checkout master
|
14
14
|
fetch
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
if branch_exists?("remotes/origin/#{remote}")
|
16
|
+
git "checkout -b #{remote} origin/#{remote}"
|
17
|
+
pull remote
|
18
|
+
else
|
19
|
+
create remote
|
20
|
+
git_push remote
|
21
|
+
git "branch -u origin/#{remote}"
|
22
|
+
end
|
18
23
|
create local
|
19
24
|
end
|
20
25
|
|
21
26
|
def update
|
22
27
|
verify remote
|
23
28
|
verify local
|
24
|
-
#
|
29
|
+
# update master
|
25
30
|
checkout master
|
26
31
|
pull master
|
27
|
-
|
28
|
-
rebase master
|
29
|
-
# rebase remote onto local
|
32
|
+
# update remote
|
30
33
|
checkout remote
|
31
34
|
pull remote
|
35
|
+
# merge master into remote
|
36
|
+
merge master
|
37
|
+
# rebase remote onto local
|
32
38
|
checkout local
|
33
39
|
rebase remote
|
34
40
|
end
|
@@ -63,6 +69,10 @@ module Githole
|
|
63
69
|
checkout master
|
64
70
|
end
|
65
71
|
|
72
|
+
def count
|
73
|
+
git "rev-list HEAD --count"
|
74
|
+
end
|
75
|
+
|
66
76
|
private
|
67
77
|
|
68
78
|
def git(cmd)
|
data/lib/githole/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: githole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean C Davis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -77,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
77
|
version: '0'
|
78
78
|
requirements: []
|
79
79
|
rubyforge_project:
|
80
|
-
rubygems_version: 2.
|
80
|
+
rubygems_version: 2.4.6
|
81
81
|
signing_key:
|
82
82
|
specification_version: 4
|
83
83
|
summary: A simple git workflow to help develop for multiple releases.
|