oliver 1.8.9 → 1.8.9.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 +9 -5
- data/lib/oliver/argument_files/install.rb +1 -1
- data/lib/oliver/argument_files/list.rb +13 -8
- data/lib/oliver/arguments.rb +5 -2
- data/lib/oliver/version.rb +1 -1
- metadata +1 -2
- data/OLD_README.md +0 -334
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4b9c4aba59154ebfddf9b72a0cf2d8698b432f2
|
4
|
+
data.tar.gz: 19e9010931fe563243f67195fec4c8ab13ecf30a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c7796952314c9b5a217b9e1b4e01f8268f63b33cc0d2d4d6b690e9b4e6e4f242a353c2486362019dd3c8973bc01c17a6b85e0c90e24312091804446a0ef1b90
|
7
|
+
data.tar.gz: 1057a104e1589c4c8334d3d70e87da7335e984d56b84c765dee3ae05ba01732d62c4c0d0c57721bf3aed496ef8b2b666c6cbd0bc3bbfcd53603a0c1b7b5fbdba
|
data/README.md
CHANGED
@@ -110,10 +110,14 @@ To-Do
|
|
110
110
|
- [ ] `install` (not as many)
|
111
111
|
- [ ] `list` (hardly any, I think)
|
112
112
|
|
113
|
-
|
114
|
-
|
115
|
-
|
113
|
+
Ideas
|
114
|
+
-----
|
115
|
+
Refer to [ideas.md](https://github.com/trommel/oliver/blob/master/IDEAS.md).
|
116
116
|
|
117
|
-
|
117
|
+
Contribution
|
118
|
+
------------
|
119
|
+
Refer to [contribution.md](https://github.com/trommel/oliver/blob/master/spec/CONTRIBUTING.md).
|
118
120
|
|
119
|
-
|
121
|
+
Licensing
|
122
|
+
---------
|
123
|
+
Refer to [LICENSE](https://github.com/trommel/oliver/blob/master/spec/LICENSE).
|
@@ -79,7 +79,7 @@ end
|
|
79
79
|
current_repos.each do |directory|
|
80
80
|
unless listed_repos.to_s.include?(directory) &&
|
81
81
|
File.directory?(directory)
|
82
|
-
print "#{warning} Enter #{directory}'
|
82
|
+
print "#{warning} Enter '#{directory}' to locally delete the repo: "
|
83
83
|
FileUtils.rm_rf(directory) if STDIN.gets.chomp.downcase == directory
|
84
84
|
end
|
85
85
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require_relative '../file_manager'
|
2
2
|
|
3
|
-
counter = 0
|
3
|
+
# counter = 0
|
4
4
|
begin
|
5
5
|
FileManager::YAML['repos'].map do |username, repos|
|
6
6
|
if repos.nil?
|
@@ -9,15 +9,20 @@ begin
|
|
9
9
|
end
|
10
10
|
repos.each do |repo|
|
11
11
|
if File.directory?(repo)
|
12
|
-
|
12
|
+
if Rainbow.enabled
|
13
|
+
puts Rainbow(repo).green
|
14
|
+
else
|
15
|
+
puts Rainbow("+ #{repo}").green
|
16
|
+
end
|
13
17
|
else
|
14
|
-
|
18
|
+
if Rainbow.enabled
|
19
|
+
puts Rainbow(repo).red
|
20
|
+
else
|
21
|
+
puts Rainbow("- #{repo}").red
|
22
|
+
end
|
15
23
|
end
|
16
|
-
print "\t" if counter % 4 == 0
|
17
|
-
counter += 1
|
24
|
+
# print "\t" if counter % 4 == 0
|
25
|
+
# counter += 1
|
18
26
|
end
|
19
27
|
end
|
20
|
-
puts
|
21
|
-
rescue
|
22
|
-
exit
|
23
28
|
end
|
data/lib/oliver/arguments.rb
CHANGED
@@ -11,18 +11,21 @@ options = {
|
|
11
11
|
:verbose => true,
|
12
12
|
:silent => false,
|
13
13
|
:directory => false,
|
14
|
-
:colour => ARGV[-1] == '
|
14
|
+
:colour => ARGV[-1] == 'colour=on'
|
15
15
|
}
|
16
16
|
|
17
17
|
# Enable/Disable Rainbow
|
18
18
|
Rainbow.enabled = options[:colour]
|
19
19
|
|
20
20
|
# Help if user doesn't specify proper arguments
|
21
|
-
if ARGV.empty? ||
|
21
|
+
if ARGV.empty? || ARGV[0] == 'colour=on'
|
22
22
|
help
|
23
23
|
else
|
24
24
|
# Case for arguments
|
25
25
|
case ARGV[0].downcase
|
26
|
+
when 'colour=on'
|
27
|
+
help
|
28
|
+
exit
|
26
29
|
when 'install'
|
27
30
|
require_relative 'argument_files/install'
|
28
31
|
when 'init'
|
data/lib/oliver/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oliver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.9
|
4
|
+
version: 1.8.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh
|
@@ -92,7 +92,6 @@ files:
|
|
92
92
|
- Gemfile
|
93
93
|
- IDEAS.md
|
94
94
|
- LICENSE
|
95
|
-
- OLD_README.md
|
96
95
|
- README.md
|
97
96
|
- Rakefile
|
98
97
|
- bin/olive
|
data/OLD_README.md
DELETED
@@ -1,334 +0,0 @@
|
|
1
|
-
oliver
|
2
|
-
======
|
3
|
-
|
4
|
-
[![Gem Version](https://badge.fury.io/rb/oliver.svg)](http://badge.fury.io/rb/oliver)
|
5
|
-
|
6
|
-
Oliver manages your local GitHub projects
|
7
|
-
in a simple YAML file.
|
8
|
-
|
9
|
-
> "Like podfiles for Git repos."
|
10
|
-
-- [@istx25](https://github.com/istx25)
|
11
|
-
|
12
|
-
installation
|
13
|
-
------------
|
14
|
-
|
15
|
-
You can install Oliver through [RubyGems](https://rubygems.org/gems/oliver)
|
16
|
-
|
17
|
-
```bash
|
18
|
-
$ gem install oliver
|
19
|
-
```
|
20
|
-
|
21
|
-
now, [skip the shit in this readme](https://github.com/trommel/oliver#docs)
|
22
|
-
|
23
|
-
what the heck
|
24
|
-
-------------
|
25
|
-
|
26
|
-
users can then `git clone` a list of repos, easily,
|
27
|
-
and delete tracked repos as well.
|
28
|
-
|
29
|
-
think of this as a directory full of repos (that contain
|
30
|
-
`.git` directories) that can be tracked.
|
31
|
-
|
32
|
-
it's 1:05 AM right now, so this is probably just
|
33
|
-
a silly idea that doesn't actually make any sense.
|
34
|
-
|
35
|
-
|
36
|
-
idea
|
37
|
-
----
|
38
|
-
|
39
|
-
managing an area where you keep local (cloned)
|
40
|
-
Git repos is kind of annoying, and since everybody's
|
41
|
-
making scripts and stuff to manage files, I thought
|
42
|
-
"hey, why not make one for managing local git repos?"
|
43
|
-
|
44
|
-
the plan is that the user is to have a single
|
45
|
-
directory (stored wherever they want) that contains
|
46
|
-
all of the different git repos they've cloned.
|
47
|
-
|
48
|
-
for example (I might just make a "physical"
|
49
|
-
demonstration of this in this repo):
|
50
|
-
|
51
|
-
```
|
52
|
-
main_directory/
|
53
|
-
|- git_project_1/
|
54
|
-
|----- bin/
|
55
|
-
|----- lib/
|
56
|
-
|----- README.md
|
57
|
-
|----- .git/
|
58
|
-
|
|
59
|
-
|- git_project_2/
|
60
|
-
|----- bin/
|
61
|
-
|----- lib/
|
62
|
-
|----- README.md
|
63
|
-
|----- .git/
|
64
|
-
|
|
65
|
-
|- git_project_3/
|
66
|
-
|----- bin/
|
67
|
-
|----- lib/
|
68
|
-
|----- README.md
|
69
|
-
|----- .git/
|
70
|
-
```
|
71
|
-
|
72
|
-
and then, if you want to see
|
73
|
-
all of the directories that
|
74
|
-
you're tracking, you can run
|
75
|
-
`oliver list`.
|
76
|
-
|
77
|
-
you're probably thinking:
|
78
|
-
*"can't I just run `ls` inside the directory
|
79
|
-
and it'll do the same thing?"*, **and the
|
80
|
-
answer to your question is _yes_**.
|
81
|
-
|
82
|
-
I have no idea what I'm doing.
|
83
|
-
|
84
|
-
~~the thing that differentiates oliver with
|
85
|
-
typical things (no examples..) is that
|
86
|
-
it gives you access to the directory from
|
87
|
-
anywhere.. which you could easily do with a public
|
88
|
-
shell variable.~~
|
89
|
-
|
90
|
-
> I have no idea what I'm doing.
|
91
|
-
|
92
|
-
|
93
|
-
things I'm thinking so far
|
94
|
-
--------------------------
|
95
|
-
|
96
|
-
I'm not totally sure how this
|
97
|
-
is going to work. here's what I do know:
|
98
|
-
|
99
|
-
repos will be tracked and be kept in a list.
|
100
|
-
users can add a repo to the list, remove the repo,
|
101
|
-
view repos on the list and update the repo (essentially
|
102
|
-
run `git pull` on each individual repo).
|
103
|
-
|
104
|
-
docs
|
105
|
-
----
|
106
|
-
|
107
|
-
### setup the repo
|
108
|
-
|
109
|
-
create the base `.Olivefile.yml`
|
110
|
-
|
111
|
-
```bash
|
112
|
-
$ olive init
|
113
|
-
```
|
114
|
-
|
115
|
-
(and in the `.Olivefile.yml`)
|
116
|
-
|
117
|
-
```yaml
|
118
|
-
---
|
119
|
-
repos:
|
120
|
-
trommel:
|
121
|
-
- "oliver"
|
122
|
-
- "textymous"
|
123
|
-
istx25:
|
124
|
-
- "Fluorescent"
|
125
|
-
- "dotfiles"
|
126
|
-
misc: # use the misc category for old syntax. these don't really work, yet
|
127
|
-
- "trommel/calkoolator"
|
128
|
-
---
|
129
|
-
|
130
|
-
# use 3 spaces for indentation, not tabs! :P
|
131
|
-
# I spent, like, an hour trying to fix a non-existent bug because of this
|
132
|
-
# smh so hard
|
133
|
-
# by the way, this is YAML, for anyone interested
|
134
|
-
# then again, you could just look at the code and determine that yourself
|
135
|
-
```
|
136
|
-
|
137
|
-
you can also initialize the repo
|
138
|
-
with a folder, if you want to skip a couple
|
139
|
-
of steps (things surrounded by '[]' means
|
140
|
-
that they're optional)
|
141
|
-
|
142
|
-
```bash
|
143
|
-
$ olive init [-d|--directory] [directory name (defaulted to 'olives')]
|
144
|
-
```
|
145
|
-
|
146
|
-
### install and/or remove listed repos
|
147
|
-
|
148
|
-
```bash
|
149
|
-
$ olive install
|
150
|
-
```
|
151
|
-
|
152
|
-
### clone and start tracking a repo
|
153
|
-
|
154
|
-
this will add it to the tracking list
|
155
|
-
|
156
|
-
```bash
|
157
|
-
$ olive add username/repo
|
158
|
-
```
|
159
|
-
### remove (delete) and stop tracking a repo
|
160
|
-
|
161
|
-
this will remove it from the tracking list
|
162
|
-
and locally delete the repo
|
163
|
-
|
164
|
-
```bash
|
165
|
-
$ olive remove username/repo
|
166
|
-
```
|
167
|
-
|
168
|
-
### list tracked repos
|
169
|
-
|
170
|
-
list all of the repos that're being tracked
|
171
|
-
|
172
|
-
```bash
|
173
|
-
$ olive list
|
174
|
-
```
|
175
|
-
|
176
|
-
### update (`git pull`) each repo
|
177
|
-
|
178
|
-
essentially `cd` into each individual
|
179
|
-
repo and run `git pull`
|
180
|
-
|
181
|
-
```bash
|
182
|
-
$ olive update
|
183
|
-
```
|
184
|
-
|
185
|
-
extras
|
186
|
-
------
|
187
|
-
|
188
|
-
~~oliver uses [rainbow](https://github.com/sickill/rainbow),
|
189
|
-
a sick gem / library for making Terminal all colourful and stuff.~~
|
190
|
-
|
191
|
-
~~it's pretty cool, but if you don't like it, just
|
192
|
-
append `colour=off` to any statement~~
|
193
|
-
|
194
|
-
~~don't forget to spell *"colour"* **the proper way**.~~
|
195
|
-
|
196
|
-
things to remember
|
197
|
-
-----------------
|
198
|
-
|
199
|
-
- run everything with `olive`, not `oliver`. "oliver" is the name
|
200
|
-
of the project, `olive` is the name of the CLI.
|
201
|
-
|
202
|
-
- if you want to clone a repo from somewhere other than GitHub (GitHub
|
203
|
-
is defaulted), just use the full git URL instead of the simple
|
204
|
-
`username/repo-name`, for example `git://projects.josh.com/oliver.git`.
|
205
|
-
|
206
|
-
- arguments after the actual arguments will be ignored, i.e.:
|
207
|
-
|
208
|
-
```bash
|
209
|
-
# everything after -d will be ignored
|
210
|
-
$ olive init -d hey here are more arguments
|
211
|
-
```
|
212
|
-
|
213
|
-
branches
|
214
|
-
-------
|
215
|
-
|
216
|
-
(there may or may not be an unstable branch at the moment.
|
217
|
-
I'm constantly adding it and deleting it. i won't push gems
|
218
|
-
from the unstable branch, only from master.)
|
219
|
-
|
220
|
-
I kept fixing bugs and then I would frantically
|
221
|
-
push the fixes because I was worried people, if anyone actually
|
222
|
-
uses oliver, would experience problems with it if I didn't push
|
223
|
-
the fix immediately. the problem, obviously, with this
|
224
|
-
is that I didn't catch other things I needed to fix, and now I have,
|
225
|
-
like, a billion commits, even though most of them are just me changing
|
226
|
-
the version variable.
|
227
|
-
|
228
|
-
anyways, there's an [unstable](https://github.com/trommel/oliver/tree/unstable)
|
229
|
-
branch, if you want to check it out.
|
230
|
-
the official gem that's hosted on rubygems, though, is
|
231
|
-
the gem of the master branch, and that's how it's going to stay.
|
232
|
-
|
233
|
-
also, the unstable branch probably maybe won't work.
|
234
|
-
|
235
|
-
there also might be a "clean" branch, which is basically a (possibly) outdated
|
236
|
-
version of oliver that'll backup your directories when you run `olive install`
|
237
|
-
(if the repo isn't on the list of repos to track). the master branch
|
238
|
-
is now considered "unsafe", meaning that it will simply delete the repo
|
239
|
-
if it's not on the list when `olive install` is run.
|
240
|
-
|
241
|
-
this is probably maybe a bad idea, but it's a lot easier to maintain.
|
242
|
-
if you don't like this, fix it, and make it work properly :)
|
243
|
-
|
244
|
-
ideas
|
245
|
-
-----
|
246
|
-
|
247
|
-
refer to
|
248
|
-
[IDEAS.md](https://github.com/trommel/oliver/blob/master/IDEAS.md).
|
249
|
-
|
250
|
-
versions
|
251
|
-
--------
|
252
|
-
|
253
|
-
for some reason, I was using things like "1.5" as oliver's
|
254
|
-
version for a bit, even though oliver isn't even finished (to
|
255
|
-
even the help menu), so if you check the previous gem versions,
|
256
|
-
the newest gem version is probably (maybe) smaller / below
|
257
|
-
previous gem versions. this was me being silly and not thinking.
|
258
|
-
|
259
|
-
as of right now (July 18, 2014, 6:19 PM), oliver's version
|
260
|
-
is 0.1.5, and it will continue to build off from there.
|
261
|
-
|
262
|
-
sorry about doing that silly thing.
|
263
|
-
|
264
|
-
reference (mostly for me but kind of helpful if you don't want to go looking through code shit)
|
265
|
-
--------------------------------------------
|
266
|
-
|
267
|
-
`FileManager::YAML['repos']` is where you can reference the repos in the `.Olivefile.yml`
|
268
|
-
|
269
|
-
you can use this by `require`ing `file_manager.rb` and then using modules and stuff
|
270
|
-
|
271
|
-
for example,
|
272
|
-
|
273
|
-
```ruby
|
274
|
-
require_relative '../file_manager'
|
275
|
-
|
276
|
-
FileManager::YAML['repos'].map |username, repos| do
|
277
|
-
puts username
|
278
|
-
repos.each do |repo|
|
279
|
-
puts repo
|
280
|
-
end
|
281
|
-
end
|
282
|
-
```
|
283
|
-
|
284
|
-
etcetera, etcetera
|
285
|
-
|
286
|
-
to do
|
287
|
-
-----
|
288
|
-
|
289
|
-
there's no checkmarked things right now because i just made this list, please
|
290
|
-
don't think i'm some unproductive asshole who does nothing all day or something
|
291
|
-
idk
|
292
|
-
|
293
|
-
- [ ] remake the help/info thing to be slimmer and look better
|
294
|
-
- [ ] get `add` working
|
295
|
-
- [ ] get `remove` working
|
296
|
-
- [ ] fix bugs with `update` (tons)
|
297
|
-
- [ ] fix bugs with `install` (not as many)
|
298
|
-
- [ ] fix bugs with `list` (hardly any, afaik)
|
299
|
-
|
300
|
-
known bugs
|
301
|
-
----------
|
302
|
-
|
303
|
-
- for some reason, cloning private
|
304
|
-
repos isn't working right now.
|
305
|
-
I don't know why. Oliver uses standard
|
306
|
-
git, so this shouldn't be an issue.
|
307
|
-
|
308
|
-
testing
|
309
|
-
-------
|
310
|
-
|
311
|
-
refer to
|
312
|
-
[TESTING.md](https://github.com/trommel/oliver/blob/master/spec/TESTING.md).
|
313
|
-
|
314
|
-
contribution
|
315
|
-
------------
|
316
|
-
|
317
|
-
refer to
|
318
|
-
[CONTRIBUTING.md](https://github.com/trommel/oliver/blob/master/spec/CONTRIBUTING.md).
|
319
|
-
|
320
|
-
if you think this is cool
|
321
|
-
-------------------------
|
322
|
-
|
323
|
-
I hate dropping a link for donations,
|
324
|
-
but a dude's gotta eat.
|
325
|
-
|
326
|
-
[![Support via Gittip](https://rawgithub.com/twolfson/gittip-badge/0.2.0/dist/gittip.png)](https://www.gittip.com/trommel)
|
327
|
-
|
328
|
-
|
329
|
-
licensing
|
330
|
-
---------
|
331
|
-
|
332
|
-
refer to
|
333
|
-
[LICENSE](https://github.com/trommel/oliver/blob/master/spec/LICENSE).
|
334
|
-
|