gito 0.4.10 → 0.4.11
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 +50 -53
- data/detector.json +5 -0
- data/lib/gito.rb +3 -3
- data/lib/gito/project.rb +6 -5
- data/lib/gito/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1b89b0d99b76e03a3c147e7fcbb18c7c4183746
|
4
|
+
data.tar.gz: 04cde5b4dd4a9ede46f467a92d83ed3a44bb8945
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d656ca79d2bed0ec63ae3a57738a6c338823d71508385831b4ce057f07435b72c9de34564640eddd0306e25300f37ac38b7180680800023e775acefe0bdebe59
|
7
|
+
data.tar.gz: ff916ae892e62d49b04a6150b1f25865b5ef41736eac8961fd3c8ca73f4835bcebffba8603ba21b6a1fa4759fd6da9fa89421249e1186057e3b4ef95a6b9e454
|
data/README.md
CHANGED
@@ -15,12 +15,56 @@ git helper tool to **clone**/**open**/**auto-install**/**edit** a git project wi
|
|
15
15
|
> <strong>gito</strong> <i>cesarferreira/dryrun -e</i>
|
16
16
|
</p>
|
17
17
|
|
18
|
-
## Why?
|
19
|
-
A lot of times I find myself wanting to try some code from github and in order to do so I have to copy the git URL, go to the terminal, git clone, find out the folder name, go to the folder and based on the type of project I need to `bundle install`, `./gradlew assemble`, `npm install`, `pip install .`, `mix deps.get`, `make install`, you name it. And after that opening it in my text editor of choice... Not anymore!
|
20
18
|
|
19
|
+
## **Features**
|
20
|
+
|
21
|
+
- [x] Quickly clone any git project and changes directory.
|
22
|
+
- [x] Can automatically open the folder in `finder` .
|
23
|
+
- [x] Can automatically open the project in any editor.
|
24
|
+
- [x] Can clone the project into a system temporary folder.
|
25
|
+
- [x] Auto detects project type and auto installs dependencies accordingly.
|
26
|
+
- [x] The project type detections can be added without releasing a new `gem` version.
|
27
|
+
<!-- - [x] Supports macOS. -->
|
21
28
|
|
22
29
|
## Usage
|
23
30
|
|
31
|
+
🚙 git clones this url: https://github.com/cesarferreira/dryrun
|
32
|
+
|
33
|
+
```bash
|
34
|
+
$ gito cesarferreira/dryrun
|
35
|
+
```
|
36
|
+
|
37
|
+
🚕 git clone, install, open and edit the project
|
38
|
+
```bash
|
39
|
+
$ gito cesarferreira/dryrun --edit --open
|
40
|
+
```
|
41
|
+
|
42
|
+
🚗 git clone on a operating system /temp/ folder, install, and edit the project
|
43
|
+
```bash
|
44
|
+
$ gito cesarferreira/dryrun --edit --temp
|
45
|
+
```
|
46
|
+
|
47
|
+
🚓 set the editor to be 'subl' from now on
|
48
|
+
```bash
|
49
|
+
$ gito cesarferreira/dryrun -s subl
|
50
|
+
```
|
51
|
+
|
52
|
+
🚕 git clone, install, open and edit the project from github on a temp folder
|
53
|
+
```bash
|
54
|
+
$ gito https://github.com/cesarferreira/dryrun -e -o -t
|
55
|
+
```
|
56
|
+
|
57
|
+
🏎 git clone, install from another git source
|
58
|
+
```bash
|
59
|
+
$ gito https://bitbucket.org/username/project
|
60
|
+
```
|
61
|
+
|
62
|
+
## Installation
|
63
|
+
|
64
|
+
$ gem install gito
|
65
|
+
|
66
|
+
## Help
|
67
|
+
|
24
68
|
```bash
|
25
69
|
$ gito -h
|
26
70
|
Usage: gito GIT_URL [OPTIONS]
|
@@ -36,32 +80,8 @@ Options
|
|
36
80
|
-v, --version Displays the version
|
37
81
|
```
|
38
82
|
|
39
|
-
Examples:
|
40
|
-
```bash
|
41
|
-
# git clone this https://github.com/cesarferreira/dryrun
|
42
|
-
gito cesarferreira/dryrun
|
43
|
-
|
44
|
-
# git clone, install, open and edit the project
|
45
|
-
gito cesarferreira/dryrun --edit --open
|
46
|
-
|
47
|
-
# git clone on a operating system /temp/ folder, install, and edit the project
|
48
|
-
gito cesarferreira/dryrun --edit --temp
|
49
|
-
|
50
|
-
# set the editor to be 'subl' from now on
|
51
|
-
gito cesarferreira/dryrun -s subl
|
52
|
-
|
53
|
-
# git clone, install, open and edit the project from github on a temp folder
|
54
|
-
gito https://github.com/cesarferreira/dryrun -e -o -t
|
55
|
-
|
56
|
-
# git clone, install from another git source
|
57
|
-
gito https://bitbucket.org/username/project
|
58
|
-
```
|
59
|
-
|
60
|
-
## Installation
|
61
|
-
|
62
|
-
$ gem install gito
|
63
83
|
|
64
|
-
## Supported type detections/auto-
|
84
|
+
## Supported type detections/auto-installs
|
65
85
|
So far it auto-installs these types:
|
66
86
|
- Ruby
|
67
87
|
- Gradle
|
@@ -74,35 +94,12 @@ So far it auto-installs these types:
|
|
74
94
|
- Carthage
|
75
95
|
- Swift Package Manager
|
76
96
|
- Rust
|
97
|
+
- Haskell
|
77
98
|
|
78
99
|
Create a pull request by editing [detector.json](detector.json) file if you want more types to be added.
|
79
100
|
|
80
|
-
##
|
81
|
-
|
82
|
-
When you run this:
|
83
|
-
```bash
|
84
|
-
gito cesarferreira/dryrun --edit --open
|
85
|
-
```
|
86
|
-
This will happen:
|
87
|
-
```bash
|
88
|
-
# clone
|
89
|
-
git clone http://github.com/cesarferreira/dryrun
|
90
|
-
|
91
|
-
# change directory
|
92
|
-
cd dryrun
|
93
|
-
|
94
|
-
# open an editor of choice if --editor flag
|
95
|
-
atom .
|
96
|
-
|
97
|
-
# open the folder if --open flag
|
98
|
-
open .
|
99
|
-
|
100
|
-
# find out what kind of project it is
|
101
|
-
project_type_detector
|
102
|
-
|
103
|
-
# because `ruby` was detected
|
104
|
-
bundle install
|
105
|
-
```
|
101
|
+
## Why?
|
102
|
+
A lot of times I find myself wanting to try some code from github and in order to do so I have to copy the git URL, go to the terminal, git clone, find out the folder name, go to the folder and based on the type of project I need to `bundle install`, `./gradlew assemble`, `npm install`, `pip install .`, `mix deps.get`, `make install`, you name it. And after that, opening it in my text editor of choice manually... Not anymore!
|
106
103
|
|
107
104
|
## Contributing
|
108
105
|
I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request. Here are some basic rules to follow to ensure timely addition of your request:
|
data/detector.json
CHANGED
data/lib/gito.rb
CHANGED
@@ -23,7 +23,7 @@ class MainApp
|
|
23
23
|
@options[:editor] = nil
|
24
24
|
@options[:setting_up] = false
|
25
25
|
@options[:is_temp] = false
|
26
|
-
@options[:shell_copy] =
|
26
|
+
@options[:shell_copy] = false
|
27
27
|
|
28
28
|
# Parse Options
|
29
29
|
create_options_parser(arguments)
|
@@ -56,8 +56,8 @@ class MainApp
|
|
56
56
|
@options[:is_temp] = true
|
57
57
|
end
|
58
58
|
|
59
|
-
opts.on('-
|
60
|
-
@options[:shell_copy] =
|
59
|
+
opts.on('-c', '--shell-copy', 'Only makes a shell copy of the repository') do |is_temp|
|
60
|
+
@options[:shell_copy] = true
|
61
61
|
end
|
62
62
|
|
63
63
|
opts.on('-h', '--help', 'Displays help') do
|
data/lib/gito/project.rb
CHANGED
@@ -64,7 +64,7 @@ class Project
|
|
64
64
|
|
65
65
|
types.each do |item|
|
66
66
|
if File.exists? (item['file_requirement'])
|
67
|
-
puts "
|
67
|
+
puts "😎 #{item['type']} detected...".yellow
|
68
68
|
go_inside_and_run item['installation_command']
|
69
69
|
end
|
70
70
|
end
|
@@ -98,12 +98,13 @@ class Project
|
|
98
98
|
@destination_dir = prefix + "#{@destination}"
|
99
99
|
|
100
100
|
if File.directory?(@destination_dir)
|
101
|
-
puts "
|
101
|
+
puts "🤔 The folder #{@destination_dir.green} is not empty..."
|
102
102
|
go_inside_and_run "git reset --hard HEAD"
|
103
103
|
go_inside_and_run "git pull"
|
104
104
|
else
|
105
|
-
puts "
|
105
|
+
puts "😙 Cloning #{url.green}..."
|
106
106
|
shell_copy_string = shell_copy ? '--depth 1' : ''
|
107
|
+
puts shell_copy_string
|
107
108
|
AppUtils.execute("git clone #{shell_copy_string} --recursive #{url} #{@destination_dir}")
|
108
109
|
end
|
109
110
|
|
@@ -111,12 +112,12 @@ class Project
|
|
111
112
|
end
|
112
113
|
|
113
114
|
def open_editor(app)
|
114
|
-
puts "
|
115
|
+
puts "😁 Opening editor...".yellow
|
115
116
|
go_inside_and_run "#{app} ."
|
116
117
|
end
|
117
118
|
|
118
119
|
def open_folder
|
119
|
-
puts "
|
120
|
+
puts "😳 Opening folder...".yellow
|
120
121
|
go_inside_and_run 'open .'
|
121
122
|
end
|
122
123
|
|
data/lib/gito/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gito
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cesar ferreira
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
128
|
version: '0'
|
129
129
|
requirements: []
|
130
130
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.6.
|
131
|
+
rubygems_version: 2.6.12
|
132
132
|
signing_key:
|
133
133
|
specification_version: 4
|
134
134
|
summary: git helper tool to clone/open/auto-install/edit a git project with a one-liner
|