story_branch 0.2.6 → 0.2.7

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
  SHA1:
3
- metadata.gz: 27b478138908ff36d93a8c9c641136de6b789f1d
4
- data.tar.gz: b7435c40b8257bb544f1379436a7559115100f2c
3
+ metadata.gz: 9c0e160a81842521457a2ef968e48f3960b2681d
4
+ data.tar.gz: a1a816524e43ce91699ca78b0f772c6e89a2795a
5
5
  SHA512:
6
- metadata.gz: aa08dfe184feb00523a32995ea457952ef7881d34473d2aaf3423c4dbf2aedfa83050786090d1f84b2651bcf64061c2809ea0ef01eed3f052d53947f629af4e3
7
- data.tar.gz: acec4e4033a5b0a6deff313be9b34253e89c379b614a0374c4e0b9a91d424e6377fb03644ecaf9867c14b964721a13d7314ab736509308bd6f44745bd8f6409f
6
+ metadata.gz: 8328b3529fb52fd129fe8a936b1c07e940c094c6aa3d03d297ff1a9da0b0471e5d228f180ee1accfa2f0a8ff1c858136179cf111f9384e0b655bb6f1c917745d
7
+ data.tar.gz: 99e3f567048af4d348d0b510d09f3aca8e1147cb9afd00708614d4f079b5295517ff9c47a62dc594cbb0735edf345a76105087dd69db671660ee5cf9800d1bc6
data/README.md CHANGED
@@ -2,32 +2,37 @@
2
2
 
3
3
  # Story Branch
4
4
 
5
- A small collection of tools for working with git branches for
6
- Pivotal Tracker stories. Story branch, start, finish
5
+ A small collection of tools for working with git branches and Pivotal
6
+ Tracker stories. `git story`, `git finish`, `git start` and `git
7
+ unstart`.
7
8
 
8
9
  ### Commentary
9
10
 
10
- `git story`: Create a git branch with automatic reference to a
11
+ `git story`: Creates a git branch with automatic reference to a
11
12
  Pivotal Tracker Story. It will get started stories from your active
12
13
  project. You can enter text and press TAB to search for a story
13
14
  name, or TAB to show the full list. It will then suggest an editable
14
15
  branch name. When the branch is created the `story_id` will
15
- be appended to it. Enter a blank to exit.
16
+ be appended to it.
17
+
18
+ e.g. `my-story-name-1234567`
19
+
20
+ `git finish`: Creates a git commit message for the staged changes.
21
+
22
+ e.g: `[Finishes #1234567] My Story Title`
23
+
24
+ You must stage all changes (or stash them) first. Note the commit will not
25
+ be pushed. Note: You'll be able to bail out before.
16
26
 
17
27
  `git start`: Start a story in Pivotal Tracker from the terminal.
18
28
  It'll get all unstarted stories in your current project. You can
19
29
  enter text and press TAB to search for a story name, or TAB to show
20
- the full list. Enter blank to exit.
30
+ the full list.
21
31
 
22
- `git unstart`: Unstart a started story in Pivotal Tracker from the terminal.
32
+ `git unstart`: Unstart a story in Pivotal Tracker from the terminal.
23
33
  It'll get all started stories in your current project. You can
24
34
  enter text and press TAB to search for a story name, or TAB to show
25
- the full list. Enter blank to exit.
26
-
27
- `git finish`: Create commit/message for the staged changes, e.g:
28
- "[Finishes #1234567] My Story Title" - optionally Finishes the story
29
- via pivotal tracker's api. You must stage all changes (or stash
30
- them) first.
35
+ the full list.
31
36
 
32
37
  ### Installing
33
38
 
@@ -35,47 +40,34 @@ Install the gem:
35
40
 
36
41
  gem install story_branch
37
42
 
38
- **Settings:** You must have a `PIVOTAL_API_KEY` environment variable set
43
+ #### Settings
44
+
45
+ You must have a `PIVOTAL_API_KEY` environment variable set
39
46
  to your Pivotal api key, plus either a `.story_branch` file or
40
47
  `PIVOTAL_PROJECT_ID` environment variable set. Note, values in
41
48
  `.story_branch` will override environment variable settings.
42
49
 
43
- **.story_branch file**
50
+ #### .story_branch file
44
51
 
45
52
  A YAML file with either/both of:
46
53
 
47
54
  api: YOUR.PIVOTAL.API.KEY.STRING
48
55
  project: YOUR.PROJECT.ID.NUMBER
49
56
 
50
- Can be saved to `~/` or `./`
57
+ Can be saved to `~/` or `./` (ie. your project folder)
51
58
 
52
59
  ### Usage
53
60
 
54
61
  You run story_branch from the git/project root folder.
55
62
 
56
- `start`, `unstart` and `story`, are run interactively and will display a
57
- list of stories to work with.
63
+ `git story`, `git start` and `git unstart` are run interactively and
64
+ will display a list of stories to work with.
58
65
 
59
- `finish` will scan the current branch name for a story id (as its
66
+ `git finish` will scan the current branch name for a story id (as its
60
67
  suffix) and if a valid, active story is found on pivotal tracker it
61
68
  will create a commit with a message to trigger pivotal's git
62
69
  integraton features.
63
70
 
64
- All text entry supports Readline keyboard shortcuts / bindings, (word fwd/back, undo etc.)
65
-
66
- ### Command names
67
-
68
- It's possible to the commands in a few ways, we have deprecated the
69
- old commmand names, and now encourage only the use of the `git`
70
- style usage.
71
-
72
- git style | deprecated
73
- ------------+---------------+--------------
74
- git story | story_branch | story-branch
75
- git start | story_start | story-start
76
- git unstart| story_unstart | story-unstart
77
- git finish | story_finish | story-finish
78
-
79
71
  ## Contributing
80
72
 
81
73
  All pull requests are welcome and will be reviewed.
data/lib/story_branch.rb CHANGED
@@ -3,33 +3,43 @@
3
3
  # Authors: Jason Milkins <jason@opsmanager.com>
4
4
  # Rui Baltazar <rui.p.baltazar@gmail.com>
5
5
  # Dominic Wong <dominic.wong.617@gmail.com>
6
+ # Ranhiru Cooray <ranhiru@gmail.com>
6
7
  # Gabe Hollombe <gabe@neo.com>
7
8
  #
8
- # Version: 0.2.6
9
+ # Version: 0.2.7
9
10
  #
10
11
  # ## Description
11
- #
12
- # A small collection of tools for working with git branches for
13
- # Pivotal Tracker stories. Story branch, start, finish
12
+ # A small collection of tools for working with git branches and Pivotal
13
+ # Tracker stories. `git story`, `git finish`, `git start` and `git
14
+ # unstart`.
14
15
  #
15
16
  # ### Commentary
16
17
  #
17
- # `git story`: Create a git branch with automatic reference to a
18
+ # `git story`: Creates a git branch with automatic reference to a
18
19
  # Pivotal Tracker Story. It will get started stories from your active
19
20
  # project. You can enter text and press TAB to search for a story
20
21
  # name, or TAB to show the full list. It will then suggest an editable
21
22
  # branch name. When the branch is created the `story_id` will
22
23
  # be appended to it.
23
24
  #
25
+ # e.g. `my-story-name-1234567`
26
+ #
27
+ # `git finish`: Creates a git commit message for the staged changes.
28
+ #
29
+ # e.g: `[Finishes #1234567] My Story Title`
30
+ #
31
+ # You must stage all changes (or stash them) first. Note the commit will not
32
+ # be pushed. Note: You'll be able to bail out before.
33
+ #
24
34
  # `git start`: Start a story in Pivotal Tracker from the terminal.
25
35
  # It'll get all unstarted stories in your current project. You can
26
36
  # enter text and press TAB to search for a story name, or TAB to show
27
37
  # the full list.
28
-
29
- # `git finish`: Create commit/message for the staged changes, e.g:
30
- # "[Finishes #1234567] My Story Title" - optionally Finishes the story
31
- # via pivotal tracker's api. You must stage all changes (or stash
32
- # them) first.
38
+ #
39
+ # `git unstart`: Unstart a story in Pivotal Tracker from the terminal.
40
+ # It'll get all started stories in your current project. You can
41
+ # enter text and press TAB to search for a story name, or TAB to show
42
+ # the full list.
33
43
  #
34
44
  # ### Installing
35
45
  #
@@ -37,44 +47,34 @@
37
47
  #
38
48
  # gem install story_branch
39
49
  #
40
- # **Settings:** You must have a `PIVOTAL_API_KEY` environment variable set
50
+ # #### Settings
51
+ #
52
+ # You must have a `PIVOTAL_API_KEY` environment variable set
41
53
  # to your Pivotal api key, plus either a `.story_branch` file or
42
54
  # `PIVOTAL_PROJECT_ID` environment variable set. Note, values in
43
55
  # `.story_branch` will override environment variable settings.
44
56
  #
45
- # **.story_branch file**
57
+ # #### .story_branch file
46
58
  #
47
59
  # A YAML file with either/both of:
48
60
  #
49
61
  # api: YOUR.PIVOTAL.API.KEY.STRING
50
62
  # project: YOUR.PROJECT.ID.NUMBER
51
63
  #
52
- # Can be saved to `~/` or `./`
64
+ # Can be saved to `~/` or `./` (ie. your project folder)
53
65
  #
54
66
  # ### Usage
55
67
  #
56
68
  # You run story_branch from the git/project root folder.
57
69
  #
58
- # `start`, `branch`, are run interactively and will display a
59
- # list of stories to work with.
70
+ # `git story`, `git start` and `git unstart` are run interactively and
71
+ # will display a list of stories to work with.
60
72
  #
61
- # `finish` will scan the current branch name for a story id (as its
73
+ # `git finish` will scan the current branch name for a story id (as its
62
74
  # suffix) and if a valid, active story is found on pivotal tracker it
63
75
  # will create a commit with a message to trigger pivotal's git
64
76
  # integraton features.
65
77
  #
66
- # ### Command names
67
- #
68
- # It's possible to the commands in a few ways, we have deprecated the
69
- # old commmand names, and now encourage only the use of the `git`
70
- # style usage.
71
- #
72
- # git style | deprecated
73
- # ------------+--------------+--------------
74
- # git story | story_branch | story-branch
75
- # git start | story_start | story-start
76
- # git finish | story_finish | story-finish
77
- #
78
78
  # ## Contributing
79
79
  #
80
80
  # All pull requests are welcome and will be reviewed.
@@ -91,40 +91,44 @@ require 'levenshtein'
91
91
  trap('INT') {exit}
92
92
 
93
93
  module StoryBranch
94
+
94
95
  class Main
96
+
95
97
  ERRORS = {
96
- 'Stories in the started state must be estimated.' =>
98
+ "Stories in the started state must be estimated." =>
97
99
  "Error: Pivotal won't allow you to start an unestimated story"
98
100
  }
99
101
 
100
- PIVOTAL_CONFIG_FILES = ['.story_branch', "#{ENV['HOME']}/.story_branch"]
101
- PIVOTAL_API_CONFIG_FILES = ['.pivotal_api_key', "#{ENV['HOME']}/.pivotal_api_key"]
102
+ PIVOTAL_CONFIG_FILES = ['.story_branch',"#{ENV['HOME']}/.story_branch"]
102
103
 
103
104
  attr_accessor :p
104
105
 
105
106
  def initialize
106
- @pivotal_info = YAML.load_file config_file(PIVOTAL_CONFIG_FILES) if config_file(PIVOTAL_CONFIG_FILES)
107
- @pivotal_api_info = YAML.load_file config_file(PIVOTAL_API_CONFIG_FILES) if config_file(PIVOTAL_API_CONFIG_FILES)
108
- @p = PivotalUtils.new
109
- @p.api_key = api_config_value
110
- @p.project_id = config_value 'project', 'PIVOTAL_PROJECT_ID'
107
+ if config_file
108
+ @pivotal_info = YAML.load_file config_file
109
+ end
110
+ @p = PivotalUtils.new
111
+ @p.api_key = config_value "api", 'PIVOTAL_API_KEY'
112
+ @p.project_id = config_value "project", 'PIVOTAL_PROJECT_ID'
111
113
  exit unless @p.valid?
112
114
  end
113
115
 
114
116
  def create_story_branch
115
117
  begin
116
- puts 'Connecting with Pivotal Tracker'
118
+ puts "Connecting with Pivotal Tracker"
117
119
  @p.get_project
118
- puts 'Getting stories...'
120
+ puts "Getting stories..."
119
121
  stories = @p.display_stories :started, false
120
122
  if stories.length < 1
121
- puts 'No stories started, exiting'
123
+ puts "No stories started, exiting"
122
124
  exit
123
125
  end
124
- story = @p.select_story stories
125
- @p.create_feature_branch story if story
126
+ story = @p.select_story stories
127
+ if story
128
+ @p.create_feature_branch story
129
+ end
126
130
  rescue RestClient::Unauthorized
127
- $stderr.puts 'Pivotal API key or Project ID invalid'
131
+ $stderr.puts "Pivotal API key or Project ID invalid"
128
132
  return nil
129
133
  end
130
134
  end
@@ -169,48 +173,43 @@ module StoryBranch
169
173
 
170
174
  unless @p.is_current_branch_a_story?
171
175
  puts "Your current branch: '#{GitUtils.current_branch}' is not linked to a Pivotal Tracker story."
172
- return
176
+ return nil
173
177
  end
174
178
 
175
179
  if GitUtils.has_status? :untracked or GitUtils.has_status? :modified
176
- puts 'There are unstaged changes'
177
- puts 'Use git add to stage changes before running git finish'
178
- puts 'Use git stash if you want to hide changes for this commit'
179
- return
180
+ puts "There are unstaged changes"
181
+ puts "Use git add to stage changes before running git finish"
182
+ puts "Use git stash if you want to hide changes for this commit"
183
+ return nil
180
184
  end
181
185
 
182
186
  unless GitUtils.has_status? :added or GitUtils.has_status? :staged
183
- puts 'There are no staged changes.'
184
- puts 'Nothing to do'
185
- return
187
+ puts "There are no staged changes."
188
+ puts "Nothing to do"
189
+ return nil
186
190
  end
187
191
 
188
- puts 'Use standard finishing commit message: [y/N]?'
192
+ puts "Use standard finishing commit message: [y/N]?"
189
193
  commit_message = "[Finishes ##{GitUtils.current_branch_story_parts[:id]}] #{StringUtils.undashed GitUtils.current_branch_story_parts[:title]}"
190
194
  puts commit_message
191
195
 
192
- if gets.chomp!.downcase == 'y'
196
+ if gets.chomp!.downcase == "y"
193
197
  GitUtils.commit commit_message
194
198
  else
195
199
  puts "Aborted"
196
200
  end
197
201
  rescue RestClient::Unauthorized
198
- $stderr.puts 'Pivotal API key or Project ID invalid'
202
+ $stderr.puts "Pivotal API key or Project ID invalid"
199
203
  return nil
200
204
  end
201
205
  end
202
206
 
203
- def config_file file_set
204
- file_set.select{|conf| File.exists? conf}.first
205
- end
206
-
207
- def api_config_value
208
- return @pivotal_api_info['api'] if @pivotal_api_info && @pivotal_api_info['api']
209
- config_value 'api', 'PIVOTAL_API_KEY'
207
+ def config_file
208
+ PIVOTAL_CONFIG_FILES.select{|conf| File.exists? conf}.first
210
209
  end
211
210
 
212
211
  def config_value key, env
213
- value = @pivotal_info[key] if @pivotal_info && @pivotal_info[key]
212
+ value = @pivotal_info[key] if @pivotal_info and @pivotal_info[key]
214
213
  value ||= env_required env
215
214
  value
216
215
  end
@@ -222,52 +221,62 @@ module StoryBranch
222
221
  end
223
222
  ENV[var_name]
224
223
  end
224
+
225
225
  end
226
226
 
227
227
  class StringUtils
228
+
228
229
  def self.dashed s
229
230
  s.tr(' _,./:;+&', '-')
230
231
  end
231
232
 
232
233
  def self.simple_sanitize s
233
- strip_newlines s.tr '\'"%!@#$(){}[]*\\?', ''
234
+ strip_newlines (s.tr '\'"%!@#$(){}[]*\\?', '')
234
235
  end
235
236
 
236
237
  def self.normalised_branch_name s
237
- StringUtils.simple_sanitize StringUtils.dashed(s).downcase.squeeze('-')
238
+ simple_sanitize((dashed s).downcase).squeeze("-")
238
239
  end
239
240
 
240
241
  def self.strip_newlines s
241
- s.tr "\n", '-'
242
+ s.tr "\n", "-"
242
243
  end
243
244
 
244
245
  def self.undashed s
245
- s.underscore.humanize
246
+ s.gsub(/-/, " ").capitalize
246
247
  end
248
+
247
249
  end
248
250
 
249
251
  class GitUtils
252
+
250
253
  def self.g
251
- Git.open '.'
254
+ Git.open "."
252
255
  end
253
256
 
254
257
  def self.is_existing_branch? name
255
258
  branch_names.each do |n|
256
- return true if Levenshtein.distance(n, name) < 3
259
+ if Levenshtein.distance(n, name) < 3
260
+ return true
261
+ end
257
262
  existing_branch_name = n.match(/(.*)(-[1-9][0-9]+$)/)
258
263
  if existing_branch_name
259
264
  levenshtein_distance = Levenshtein.distance existing_branch_name[1], name
260
- return true if levenshtein_distance < 3
265
+ if levenshtein_distance < 3
266
+ return true
267
+ end
261
268
  end
262
269
  end
263
- false
270
+ return false
264
271
  end
265
272
 
266
273
  def self.is_existing_story? id
267
274
  branch_names.each do |n|
268
275
  branch_id = n.match(/-[1-9][0-9]+$/)
269
276
  if branch_id
270
- return true if branch_id.to_s == "-#{id}"
277
+ if branch_id.to_s == "-#{id}"
278
+ return true
279
+ end
271
280
  end
272
281
  end
273
282
  false
@@ -286,8 +295,12 @@ module StoryBranch
286
295
  end
287
296
 
288
297
  def self.current_branch_story_parts
289
- matches = current_branch.match(/(.*)-(\d+$)/)
290
- { title: matches[1], id: matches[2] } if matches.length == 3
298
+ matches = current_story
299
+ if matches.length == 3
300
+ { title: matches[1], id: matches[2] }
301
+ else
302
+ nil
303
+ end
291
304
  end
292
305
 
293
306
  def self.create_branch name
@@ -296,7 +309,11 @@ module StoryBranch
296
309
  end
297
310
 
298
311
  def self.status_collect status, regex
299
- status.select { |s| s.match(regex) }.map { |e| e.match(regex)[1] }
312
+ status.select{|e|
313
+ e.match(regex)
314
+ }.map{|e|
315
+ e.match(regex)[1]
316
+ }
300
317
  end
301
318
 
302
319
  def self.status
@@ -322,9 +339,11 @@ module StoryBranch
322
339
  def self.commit message
323
340
  g.commit(message)
324
341
  end
342
+
325
343
  end
326
344
 
327
345
  class PivotalUtils
346
+
328
347
  attr_accessor :api_key, :project_id, :project
329
348
 
330
349
  def valid?
@@ -337,10 +356,11 @@ module StoryBranch
337
356
  end
338
357
 
339
358
  def is_current_branch_a_story?
340
- GitUtils.current_story && GitUtils.current_story.length == 3 &&
359
+ GitUtils.current_story and
360
+ GitUtils.current_story.length == 3 and
341
361
  filtered_stories_list(:started, true)
342
362
  .map(&:id)
343
- .include?(GitUtils.current_story[2].to_i)
363
+ .include? GitUtils.current_story[2].to_i
344
364
  end
345
365
 
346
366
  def story_from_current_branch
@@ -356,9 +376,9 @@ module StoryBranch
356
376
  stories = project.stories.all({current_state: state})
357
377
  if estimated
358
378
  stories.select{|s|
359
- s.story_type == 'bug' ||
360
- s.story_type == 'chore' ||
361
- (s.story_type == 'feature' && s.estimate && s.estimate >= 0)}
379
+ s.story_type == "bug" or
380
+ s.story_type == "chore" or
381
+ (s.story_type == "feature" and s.estimate and s.estimate >= 0)}
362
382
  else
363
383
  stories
364
384
  end
@@ -400,17 +420,16 @@ module StoryBranch
400
420
  dashed_story_name = StringUtils.normalised_branch_name story.name
401
421
  feature_branch_name = nil
402
422
  puts "You are checked out at: #{GitUtils.current_branch}"
403
- while feature_branch_name == nil || feature_branch_name == ""
404
- puts 'Provide a new branch name... (TAB for suggested name)' if [nil, ''].include? feature_branch_name
405
- feature_branch_name = readline('Name of feature branch: ', [dashed_story_name])
423
+ while feature_branch_name == nil or feature_branch_name == ""
424
+ puts "Provide a new branch name... (TAB for suggested name)" if [nil, ""].include? feature_branch_name
425
+ feature_branch_name = readline("Name of feature branch: ", [dashed_story_name])
406
426
  end
407
427
  feature_branch_name.chomp!
408
-
409
- return unless validate_branch_name feature_branch_name, story.id
410
-
411
- feature_branch_name_with_story_id = "#{feature_branch_name}-#{story.id}"
412
- puts "Creating: #{feature_branch_name_with_story_id} with #{GitUtils.current_branch} as parent"
413
- GitUtils.create_branch feature_branch_name_with_story_id
428
+ if validate_branch_name feature_branch_name, story.id
429
+ feature_branch_name_with_story_id = "#{feature_branch_name}-#{story.id}"
430
+ puts "Creating: #{feature_branch_name_with_story_id} with #{GitUtils.current_branch} as parent"
431
+ GitUtils.create_branch feature_branch_name_with_story_id
432
+ end
414
433
  end
415
434
 
416
435
  # Branch name validation
@@ -420,7 +439,7 @@ module StoryBranch
420
439
  return false
421
440
  end
422
441
  if GitUtils.is_existing_branch? name
423
- puts "Error: The name: #{name}, is very similar to an existing branch. To avoid confusion use a more unique name."
442
+ puts "Error: This name is very similar to an existing branch. Avoid confusion and use a more unique name."
424
443
  return false
425
444
  end
426
445
  unless valid_branch_name? name
@@ -441,10 +460,10 @@ module StoryBranch
441
460
  # Store the state of the terminal
442
461
  RbReadline.clear_history
443
462
  if completions.length > 0
444
- completions.each { |i| Readline::HISTORY.push i}
445
- RbReadline.rl_completer_word_break_characters = ''
446
- Readline.completion_proc = proc { |s| completions.grep(/#{Regexp.escape(s)}/) }
447
- Readline.completion_append_character = ''
463
+ completions.each {|i| Readline::HISTORY.push i}
464
+ RbReadline.rl_completer_word_break_characters = ""
465
+ Readline.completion_proc = proc {|s| completions.grep(/#{Regexp.escape(s)}/) }
466
+ Readline.completion_append_character = ""
448
467
  end
449
468
  Readline.readline(prompt, false)
450
469
  end
metadata CHANGED
@@ -1,17 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: story_branch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Milkins
8
8
  - Rui Baltazar
9
9
  - Dominic Wong
10
+ - Ranhiru Cooray
10
11
  - Gabe Hollombe
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
- date: 2014-06-24 00:00:00.000000000 Z
15
+ date: 2015-04-14 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: pivotal-tracker
@@ -90,47 +91,22 @@ email:
90
91
  - jasonm23@gmail.com
91
92
  - rui.p.baltazar@gmail.com
92
93
  - dominic.wong.617@gmail.com
94
+ - ranhiru@gmail.com
93
95
  - gabe@neo.com
94
96
  executables:
95
- - story_start
96
- - story-start
97
- - git-start
98
- - git-story-start
99
- - story_unstart
100
- - story-unstart
101
- - git-unstart
102
- - git-story-unstart
103
- - story_branch
104
- - story-branch
105
97
  - git-story
106
- - git-story-branch
107
- - git-pivotal-story
108
- - story_finish
109
- - story-finish
110
98
  - git-finish
111
- - git-story-finish
99
+ - git-start
100
+ - git-unstart
112
101
  extensions: []
113
102
  extra_rdoc_files: []
114
103
  files:
115
104
  - LICENCE
116
105
  - README.md
117
106
  - bin/git-finish
118
- - bin/git-pivotal-story
119
107
  - bin/git-start
120
108
  - bin/git-story
121
- - bin/git-story-branch
122
- - bin/git-story-finish
123
- - bin/git-story-start
124
- - bin/git-story-unstart
125
109
  - bin/git-unstart
126
- - bin/story-branch
127
- - bin/story-finish
128
- - bin/story-start
129
- - bin/story-unstart
130
- - bin/story_branch
131
- - bin/story_finish
132
- - bin/story_start
133
- - bin/story_unstart
134
110
  - lib/story_branch.rb
135
111
  homepage: https://github.com/jasonm23/story_branch
136
112
  licenses:
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.create_story_branch
data/bin/git-story-branch DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.create_story_branch
data/bin/git-story-finish DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_finish
data/bin/git-story-start DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_start
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_unstart
data/bin/story-branch DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.create_story_branch
data/bin/story-finish DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_finish
data/bin/story-start DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_start
data/bin/story-unstart DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_unstart
data/bin/story_branch DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.create_story_branch
data/bin/story_finish DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_finish
data/bin/story_start DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_start
data/bin/story_unstart DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'story_branch'
3
- sb = StoryBranch::Main.new()
4
- sb.story_unstart