oliver 1.8.9 → 1.8.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
-
[](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
|
-
[](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
|
-
|