oliver 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +38 -0
- data/Gemfile +4 -0
- data/README.md +159 -0
- data/Rakefile +2 -0
- data/bin/olive +2 -0
- data/lib/oliver/version.rb +3 -0
- data/lib/oliver.rb +32 -0
- data/oliver.gemspec +23 -0
- data/spec/TESTING.md +4 -0
- metadata +124 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dd985f3880874826e4a7f00d7ec3a6694473d37f
|
4
|
+
data.tar.gz: 0612d7c321154b030a73e8e87d4fc89c8c92391f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 076994fbf1e53ae047a6c67f3a871c34b955bed312c24568e5e2e2ae9d234d3dc58d0cd051598d63d42ff71f4c2c3775a98685d1504f396107e5a36191cf8f2a
|
7
|
+
data.tar.gz: 40a009fac1077aca9eeea991d31a959808d535fd92aedb081d9e748f9cd01132f56c31b916b3c285b804d0cc05579d4ca6ea161ccf07e5314960f28be1fd5c13
|
data/.gitignore
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
############
|
2
|
+
# Ruby #
|
3
|
+
############
|
4
|
+
|
5
|
+
*.gem
|
6
|
+
*.rbc
|
7
|
+
/.config
|
8
|
+
/coverage/
|
9
|
+
/InstalledFiles
|
10
|
+
/pkg/
|
11
|
+
/spec/reports/
|
12
|
+
/test/tmp/
|
13
|
+
/test/version_tmp/
|
14
|
+
/tmp/
|
15
|
+
|
16
|
+
## Specific to RubyMotion:
|
17
|
+
.dat*
|
18
|
+
.repl_history
|
19
|
+
build/
|
20
|
+
|
21
|
+
## Documentation cache and generated files:
|
22
|
+
/.yardoc/
|
23
|
+
/_yardoc/
|
24
|
+
/doc/
|
25
|
+
/rdoc/
|
26
|
+
|
27
|
+
## Environment normalisation:
|
28
|
+
/.bundle/
|
29
|
+
/lib/bundler/man/
|
30
|
+
|
31
|
+
# for a library or gem, you might want to ignore these files since the code is
|
32
|
+
# intended to run in multiple environments; otherwise, check them in:
|
33
|
+
# Gemfile.lock
|
34
|
+
# .ruby-version
|
35
|
+
# .ruby-gemset
|
36
|
+
|
37
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
38
|
+
.rvmrc
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
oliver
|
2
|
+
======
|
3
|
+
|
4
|
+
oliver manages your local GitHub
|
5
|
+
repositories for you with a simple oliverFile.
|
6
|
+
|
7
|
+
installation
|
8
|
+
------------
|
9
|
+
|
10
|
+
oliver is a CLI that you can install
|
11
|
+
through [RubyGems](https://rubygems.org)
|
12
|
+
|
13
|
+
```bash
|
14
|
+
$ gem install oliver
|
15
|
+
```
|
16
|
+
|
17
|
+
what the heck
|
18
|
+
-------------
|
19
|
+
|
20
|
+
users can then `git clone` a list of repos, easily,
|
21
|
+
and delete tracked repos as well.
|
22
|
+
|
23
|
+
think of this as a directory full of repos (that contain
|
24
|
+
`.git` directories) that can be tracked.
|
25
|
+
|
26
|
+
it's 1:05 AM right now, so this is probably just
|
27
|
+
a silly idea that doesn't actually make any sense.
|
28
|
+
|
29
|
+
|
30
|
+
idea
|
31
|
+
----
|
32
|
+
|
33
|
+
managing an area where you keep local (cloned)
|
34
|
+
Git repos is kind of annoying, and since everybody's
|
35
|
+
making scripts and stuff to manage files, I thought
|
36
|
+
"hey, why not make one for managing local git repos?"
|
37
|
+
|
38
|
+
the plan is that the user is to have a single
|
39
|
+
directory (stored wherever they want) that contains
|
40
|
+
all of the different git repos they've cloned.
|
41
|
+
|
42
|
+
for example (I might just make a "physical"
|
43
|
+
demonstration of this in this repo):
|
44
|
+
|
45
|
+
```
|
46
|
+
main_directory/
|
47
|
+
|- git_project_1/
|
48
|
+
|----- src/
|
49
|
+
|----- bin/
|
50
|
+
|----- lib/
|
51
|
+
|----- README.md
|
52
|
+
|
|
53
|
+
|- git_project_2/
|
54
|
+
|----- src/
|
55
|
+
|----- bin/
|
56
|
+
|----- lib/
|
57
|
+
|----- README.md
|
58
|
+
|
|
59
|
+
|- git_project_3/
|
60
|
+
|----- src/
|
61
|
+
|----- bin/
|
62
|
+
|----- lib/
|
63
|
+
|----- README.md
|
64
|
+
```
|
65
|
+
|
66
|
+
and then, if you want to see
|
67
|
+
all of the directories that
|
68
|
+
you're tracking, you can run
|
69
|
+
`oliver list`.
|
70
|
+
|
71
|
+
you're probably thinking:
|
72
|
+
*"can't I just run `ls` inside the directory
|
73
|
+
and it'll do the same thing?"*, **and the
|
74
|
+
answer to your question is _yes_**.
|
75
|
+
|
76
|
+
I have no idea what I'm doing.
|
77
|
+
|
78
|
+
the thing that differentiates oliver with
|
79
|
+
typical things (no examples..) is that
|
80
|
+
it gives you access to the directory from
|
81
|
+
anywhere.. which you could easily do with a public
|
82
|
+
shell variable.
|
83
|
+
|
84
|
+
> I have no idea what I'm doing.
|
85
|
+
|
86
|
+
|
87
|
+
things I'm thinking so far
|
88
|
+
--------------------------
|
89
|
+
|
90
|
+
I'm not totally sure how this
|
91
|
+
is going to work. here's what I do know:
|
92
|
+
|
93
|
+
repos will be tracked and be kept in a list.
|
94
|
+
users can add a repo to the list, remove the repo,
|
95
|
+
view repos on the list and update the repo (essentially
|
96
|
+
run `git pull` on each individual repo).
|
97
|
+
|
98
|
+
docs
|
99
|
+
----
|
100
|
+
|
101
|
+
the `olive` command will be what you use
|
102
|
+
when working with oliver, similar to how
|
103
|
+
bundler uses the `bundle` command.
|
104
|
+
|
105
|
+
### start tracking a repo
|
106
|
+
|
107
|
+
this will add it to the tracking list
|
108
|
+
|
109
|
+
```bash
|
110
|
+
$ olive add repo-name/
|
111
|
+
```
|
112
|
+
### stop tracking a repo
|
113
|
+
|
114
|
+
this will remove it from the tracking list
|
115
|
+
and locally delete the repo
|
116
|
+
|
117
|
+
```bash
|
118
|
+
$ olive remove repo-name/
|
119
|
+
```
|
120
|
+
|
121
|
+
### list tracked repos
|
122
|
+
|
123
|
+
list all of the repos that're being tracked
|
124
|
+
|
125
|
+
```bash
|
126
|
+
$ oliver list
|
127
|
+
```
|
128
|
+
|
129
|
+
### update (`git pull`) each repo
|
130
|
+
|
131
|
+
essentially `cd` into each individual
|
132
|
+
repo and run `git pull`
|
133
|
+
|
134
|
+
```bash
|
135
|
+
$ oliver update
|
136
|
+
```
|
137
|
+
|
138
|
+
extras
|
139
|
+
======
|
140
|
+
|
141
|
+
oliver uses [rainbow](https://github.com/sickill/rainbow),
|
142
|
+
a sick gem / library for making Terminal all colourful and stuff.
|
143
|
+
|
144
|
+
it's pretty cool, but if you don't like it, just
|
145
|
+
append `colour=off` to any statement
|
146
|
+
|
147
|
+
don't forget to spell *"colour"* **the proper way**.
|
148
|
+
|
149
|
+
testing
|
150
|
+
=======
|
151
|
+
|
152
|
+
refer to [TESTING.md](https://github.com/trommel/oliver/blob/master/spec/TESTING.md).
|
153
|
+
|
154
|
+
l3g4l 0bl1g4t10n$
|
155
|
+
=================
|
156
|
+
|
157
|
+
is there even a clear idea to steal?
|
158
|
+
|
159
|
+
this is my "idea". please don't steal it.
|
data/Rakefile
ADDED
data/bin/olive
ADDED
data/lib/oliver.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require_relative "oliver/version"
|
2
|
+
require 'launchy'
|
3
|
+
require 'jibry'
|
4
|
+
|
5
|
+
olivefile = 'Olivefile'
|
6
|
+
|
7
|
+
if ARGV[0].nil?
|
8
|
+
puts 'dude, you need to specify some arguments.'
|
9
|
+
exit
|
10
|
+
end
|
11
|
+
|
12
|
+
def help
|
13
|
+
puts "it's 12:29 AM and I hate code."
|
14
|
+
end
|
15
|
+
|
16
|
+
def oliver_main
|
17
|
+
contents = File.read(olivefile).chomp
|
18
|
+
puts contents
|
19
|
+
end
|
20
|
+
|
21
|
+
if File.file?(olivefile)
|
22
|
+
oliver_main
|
23
|
+
else
|
24
|
+
case ARGV[0].downcase
|
25
|
+
when '-v' || '--version'
|
26
|
+
puts "oliver v#{Oliver::VERSION}"
|
27
|
+
when '-h' || '--help'
|
28
|
+
help
|
29
|
+
else
|
30
|
+
help
|
31
|
+
end
|
32
|
+
end
|
data/oliver.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/oliver/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ['Josh']
|
6
|
+
gem.email = ['joshception@icloud.com']
|
7
|
+
gem.description = %q{Local Git(Hub) made easy.}
|
8
|
+
gem.summary = %q{Manage your Git(Hub) easier.}
|
9
|
+
gem.homepage = 'https://github.com/trommel/oliver'
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = ['olive']
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = 'oliver'
|
15
|
+
gem.require_paths = ['oliver']
|
16
|
+
gem.version = Oliver::VERSION
|
17
|
+
|
18
|
+
gem.add_development_dependency "bundler", "~> 1.6"
|
19
|
+
gem.add_development_dependency "rake"
|
20
|
+
gem.add_dependency 'launchy', '>= 2.4'
|
21
|
+
gem.add_dependency 'jibry', '>= 0.0.1'
|
22
|
+
gem.add_dependency 'rainbow', '>= 2.0.0'
|
23
|
+
end
|
data/spec/TESTING.md
ADDED
metadata
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: oliver
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Josh
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-07-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.6'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.6'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: launchy
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.4'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: jibry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.0.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.0.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rainbow
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.0.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.0.0
|
83
|
+
description: Local Git(Hub) made easy.
|
84
|
+
email:
|
85
|
+
- joshception@icloud.com
|
86
|
+
executables:
|
87
|
+
- olive
|
88
|
+
extensions: []
|
89
|
+
extra_rdoc_files: []
|
90
|
+
files:
|
91
|
+
- ".gitignore"
|
92
|
+
- Gemfile
|
93
|
+
- README.md
|
94
|
+
- Rakefile
|
95
|
+
- bin/olive
|
96
|
+
- lib/oliver.rb
|
97
|
+
- lib/oliver/version.rb
|
98
|
+
- oliver.gemspec
|
99
|
+
- spec/TESTING.md
|
100
|
+
homepage: https://github.com/trommel/oliver
|
101
|
+
licenses: []
|
102
|
+
metadata: {}
|
103
|
+
post_install_message:
|
104
|
+
rdoc_options: []
|
105
|
+
require_paths:
|
106
|
+
- oliver
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
requirements: []
|
118
|
+
rubyforge_project:
|
119
|
+
rubygems_version: 2.4.0
|
120
|
+
signing_key:
|
121
|
+
specification_version: 4
|
122
|
+
summary: Manage your Git(Hub) easier.
|
123
|
+
test_files:
|
124
|
+
- spec/TESTING.md
|