git-dropbox 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -11,11 +11,26 @@ Gem mirrors your git repositorys in dropbox folder. It's based on shell script f
11
11
 
12
12
  ## Features
13
13
 
14
+ 1. Synchronizes single repo to dropbox
15
+ 2. Synchronizes all knows repos to dropbox
16
+ 3. Lists all knows repos
17
+ 4. Saves configuration in your dropbox folder `~/Dropbox/git/git-dropbox.yml`
18
+
14
19
  ## Examples
15
20
 
16
- require 'git/dropbox'
21
+ ### Synchronize single repo
22
+
23
+ $ git dropbox init
24
+ $ cd to your project
25
+ $ git dropbox sync
26
+
27
+ ### List synchronized repos
28
+
29
+ $ git dropbox list
30
+
31
+ ### Synchronize all known repos
17
32
 
18
- ## Requirements
33
+ $ git dropbox sync --all
19
34
 
20
35
  ## Install
21
36
 
@@ -3,13 +3,19 @@ require "thor"
3
3
  module Git
4
4
  module Dropbox
5
5
  class CLI < Thor
6
+ include Thor::Actions
6
7
 
7
8
 
8
9
  desc 'sync', 'Syncs current git repository to dropbox folder'
10
+ method_options :all => false
9
11
 
10
12
  def sync
11
- config = Git::Dropbox::Config.load
12
- Repository.new(config).sync(Dir.pwd)
13
+ config = load_config
14
+ repositories = options[:all] ? config['repositories'] : [Dir.pwd]
15
+ repositories.each do |repo|
16
+ say "Synchronizing repository #{repo}"
17
+ Repository.new(config).sync(repo)
18
+ end
13
19
  end
14
20
 
15
21
  desc 'init', 'Initialize this gem'
@@ -22,10 +28,15 @@ module Git
22
28
  desc "list", "Shows all repositories"
23
29
 
24
30
  def list
25
- config = Git::Dropbox::Config.load
31
+ config = load_config
26
32
  config['repositories'].each { |r| puts r }
27
33
  end
28
34
 
35
+ private
36
+ def load_config
37
+ Git::Dropbox::Config.load
38
+ end
39
+
29
40
 
30
41
  end
31
42
  end
@@ -6,13 +6,15 @@ class Repository
6
6
  @config = config
7
7
  end
8
8
 
9
- def sync(repo)
10
- puts "About to sync #{repo}"
11
- system DROPBOX_GIT_CMD
12
- @config['repositories'] ||= []
13
- @config['repositories'] << repo
14
- @config['repositories'].uniq!
15
- @config.save
9
+ def sync(repo, add_repo_to_list=true)
10
+ system "cd #{repo}; #{DROPBOX_GIT_CMD}"
11
+ if add_repo_to_list
12
+ @config['repositories'] ||= []
13
+ @config['repositories'] << repo
14
+ @config['repositories'].uniq!
15
+ @config.save
16
+ end
16
17
  end
17
18
 
19
+
18
20
  end
@@ -1,6 +1,6 @@
1
1
  module Git
2
2
  module Dropbox
3
3
  # git-dropbox version
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-dropbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-02 00:00:00.000000000Z
12
+ date: 2012-08-05 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &2155430380 !ruby/object:Gem::Requirement
16
+ requirement: &2154934280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.15.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2155430380
24
+ version_requirements: *2154934280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &2155429880 !ruby/object:Gem::Requirement
27
+ requirement: &2154929500 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2155429880
35
+ version_requirements: *2154929500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &2155429420 !ruby/object:Gem::Requirement
38
+ requirement: &2154929020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0.8'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2155429420
46
+ version_requirements: *2154929020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &2155428900 !ruby/object:Gem::Requirement
49
+ requirement: &2154928540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '2.4'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2155428900
57
+ version_requirements: *2154928540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rubygems-tasks
60
- requirement: &2155428400 !ruby/object:Gem::Requirement
60
+ requirement: &2154928080 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0.2'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2155428400
68
+ version_requirements: *2154928080
69
69
  description: Gem mirrors your git repositorys in dropbox folder
70
70
  email: lukasz.kaniowski@gmail.com
71
71
  executables:
@@ -105,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
105
  version: '0'
106
106
  segments:
107
107
  - 0
108
- hash: 2521307909805871201
108
+ hash: -81121427720390238
109
109
  required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  none: false
111
111
  requirements: