git-ready 0.8.15 → 0.9.0

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: 7b623e92eb2b749615ea9742d50615807a5ece06
4
- data.tar.gz: 7311965465fad45613074d2806b80132d21a6824
3
+ metadata.gz: 33a08835cf117c04cd6732fd5f3aaeb4be0d546c
4
+ data.tar.gz: e893faf2d83b3da4302aa2e7aa323c0cf54340db
5
5
  SHA512:
6
- metadata.gz: d807d78a7b0cc0b3ba20bef7616ee201158c3dff2ea1da3c72d44298e058ce12c264cc06962ce1594339ed7fae74d8626eef8b8263b619ac3e179c7422cc2d8c
7
- data.tar.gz: 1621ffa82cc05b766b93779df46d37656674cf0f7e3d52687e908ccbc0abad4a6d331fe12cdcf1be18c4ebec5fab455d70a8a28edfe5be8dd8dc7dca09e9cd8b
6
+ metadata.gz: f094f1bc7a6c04da0692cec9e1ae69007b707cb12b34b624ca004dd3dd07460ce381559f88ddf0b8e025a417df69e9877058dd4666808cd8922b1687e9b90217
7
+ data.tar.gz: 8d905e2547104e576ad0c7446faea51747c63cb9452cc6b6914adaef4cb0089781f8597accc5779e7c142acc6d71bc3facf94502b3ad29c4fab21951695c86ca
data/README.md CHANGED
@@ -2,15 +2,36 @@
2
2
 
3
3
  git-ready is a tool for quickly joining an organization on GitHub.
4
4
 
5
- Installation
6
- ------------
5
+ Description
6
+ -----------
7
7
 
8
- `gem install git-ready`
8
+ git-ready does three things.
9
+ 1. Forks all repositories of the organization to your account.
10
+ 2. Clones the forked repositories locally.
11
+ 3. Configures an `upstream` remote for each repository, for convenient fetching.
9
12
 
10
- OSX Installation Issues?
13
+ It can be run again without concern. It will only fork and clone missing repositories.
14
+
15
+ Why would you want this?
11
16
  ------------------------
12
17
 
13
- One of the gems used by git-ready ([Rugged](https://github.com/libgit2/rugged)), requires `cmake` to build. On OSX, this isn't installed by default, but can easily be resolved with `brew install cmake`.
18
+ For a team that uses a Fork + Pull Request workflow, and has a large number of repositories, `git-ready` is a simple way to onboard new team members.
19
+
20
+ Example Workflow
21
+ ----------------
22
+
23
+ 1. Fork repository.
24
+ 2. Make changes.
25
+ 3. Test changes.
26
+ 4. Push changes to `origin`
27
+ 5. Submit Pull Request to `upstream`
28
+ 6. Code Review
29
+ 7. Merge
30
+
31
+ Installation
32
+ ------------
33
+
34
+ `gem install git-ready`
14
35
 
15
36
  Usage
16
37
  -----
@@ -33,6 +54,13 @@ If your GitHub account uses 2-Factor Authentication, git-ready will prompt you f
33
54
 
34
55
  If you would prefer to set up an auth token manually, that is supported too.
35
56
 
57
+ OSX Installation Issues?
58
+ ------------------------
59
+
60
+ One of the gems used by git-ready ([Rugged](https://github.com/libgit2/rugged)), requires `cmake` and `libgit2` to build. On OSX, this isn't installed by default, but can easily be resolved with `brew install cmake`, `brew install libgit2 --with-libssh2` .
61
+
62
+ Also, private key has to be registered in keychain in order to repo cloning works.
63
+
36
64
  License
37
65
  -------
38
66
  [MIT](https://tldrlegal.com/license/mit-license)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.15
1
+ 0.9.0
@@ -8,11 +8,11 @@ if ARGV.empty? || %w(-h --help help).include?(ARGV.first)
8
8
  abort
9
9
  end
10
10
 
11
- organization = ARGV.first
11
+ organization, filter = ARGV.first(2)
12
12
  username = GitHub.api.user[:login]
13
13
 
14
14
  Announce.info "Forking all #{organization} repositories to #{username}"
15
- repositories = GitHub.fork_all organization
15
+ repositories = GitHub.fork_all organization, filter
16
16
 
17
17
  Announce.info "Cloning all forked repositories into #{Settings.workspace}"
18
18
  Workspace.setup repositories
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: git-ready 0.8.15 ruby lib
5
+ # stub: git-ready 0.9.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "git-ready"
9
- s.version = "0.8.15"
9
+ s.version = "0.9.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Chris Olstrom"]
14
- s.date = "2015-07-10"
14
+ s.date = "2016-02-11"
15
15
  s.description = "git-ready gets you ready to work with an established team that already uses GitHub."
16
16
  s.email = "chris@olstrom.com"
17
17
  s.executables = ["git-ready"]
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
43
43
  ]
44
44
  s.homepage = "http://github.com/colstrom/git-ready"
45
45
  s.licenses = ["MIT"]
46
- s.rubygems_version = "2.4.5"
46
+ s.rubygems_version = "2.5.1"
47
47
  s.summary = "git-ready gets you ready to work with an established team that already uses GitHub."
48
48
  s.test_files = ["spec/git-ready_spec.rb", "spec/spec_helper.rb"]
49
49
 
@@ -6,9 +6,9 @@ require_relative 'settings'
6
6
  module GitHub
7
7
  include Contracts
8
8
 
9
- Contract String => ArrayOf[({ upstream: Sawyer::Resource, origin: Sawyer::Resource })]
10
- def self.fork_all(organization)
11
- repositories = api.org_repos organization
9
+ Contract String, String => ArrayOf[({ upstream: Sawyer::Resource, origin: Sawyer::Resource })]
10
+ def self.fork_all(organization, filter=nil)
11
+ repositories = api.org_repos(organization).select { |repository| repository.name.include? filter }
12
12
  progress = ProgressBar.new repositories.length
13
13
  repositories.flat_map do |repository|
14
14
  progress.increment!
@@ -35,12 +35,12 @@ module InteractiveSetup
35
35
 
36
36
  Contract None => String
37
37
  def self.ask_password
38
- password = ask('Enter your GitHub password:') { |c| c.echo = '*' }
38
+ password = ask('Enter your GitHub password:') { |input| input.echo = '*' }
39
39
  password.empty? ? ask_password : password
40
40
  end
41
41
 
42
42
  Contract String, String, Hash, Bool => Hash
43
- def self.generate(login, password, headers = {}, first_attempt = true)
43
+ def self.generate(login, password, headers = {}, first_attempt: true)
44
44
  github = Octokit::Client.new login: login, password: password
45
45
  github.create_authorization(note: 'git-ready',
46
46
  scopes: ['repo'],
@@ -51,7 +51,7 @@ module InteractiveSetup
51
51
  if first_attempt
52
52
  Announce.warning 'Found an old token. Replacing it.'
53
53
  delete_existing_authorization github, headers
54
- generate login, password, headers, false
54
+ generate login, password, headers, first_attempt: false
55
55
  else
56
56
  Announce.failure "It looked like you had already issued a token, but deleting it didn't help. You're on your own at this point. You should should use the link at the start to generate a token manually."
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-ready
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.15
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Olstrom
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-10 00:00:00.000000000 Z
11
+ date: 2016-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: contracts
@@ -270,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
270
  version: '0'
271
271
  requirements: []
272
272
  rubyforge_project:
273
- rubygems_version: 2.4.5
273
+ rubygems_version: 2.5.1
274
274
  signing_key:
275
275
  specification_version: 4
276
276
  summary: git-ready gets you ready to work with an established team that already uses
@@ -278,3 +278,4 @@ summary: git-ready gets you ready to work with an established team that already
278
278
  test_files:
279
279
  - spec/git-ready_spec.rb
280
280
  - spec/spec_helper.rb
281
+ has_rdoc: