oliver 0.1.0
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 +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
|