github_backup 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 217ff72e3540ee3a1b4a5a777d7087964e0ad36d5a8dcb27be1607c5e7952082
4
- data.tar.gz: b4888d57da0565fad1d27b47363e8f034a16f89e3ee7dc4f693d22c04112437f
3
+ metadata.gz: 8e2d661538d990d46a1a974371d1bba45dce2e8c97c8b07af489a8f5237c0dd3
4
+ data.tar.gz: ed8dfceef3569a44d8da9e99beba58d83740220b3344d38d8b535f9517ad1eea
5
5
  SHA512:
6
- metadata.gz: 2a6a1d4edbec461c28ad045a59c7233a982d94330d03bef197fbf1d11128e4934ed7dd01047d31976473627b8e0823961c90a16669503106b200a2490645cef7
7
- data.tar.gz: 4544f2c7298a16965e5d1572a068c2343beda107c9f09159f2e03013356f553d74a077337665f6b6509f56c0f8a312327d16cfb51671702bc869f0650598597d
6
+ metadata.gz: c635befcd2bb27e3ca0917266e2cfb63961ef7f2114a81a72c7c8e0f62e1be277f02163a937935013ea0306e9f965c74fef79b7974d9e9f8e25a4a066dc9aba7
7
+ data.tar.gz: bf37fb2d0ce79fe4c8a0d9053eb69727b2b93439389e4971a18294d3344bbefee08171b6f674d483896bb21f4aa94d13a6df079d1d3b6186e280a688de8a20ff
@@ -1 +1 @@
1
- ruby-2.6.3
1
+ ruby-2.6.5
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ lib = File.join(__dir__, '..', 'lib')
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require 'shellwords'
7
+ require 'thread'
8
+ require 'github_backup'
9
+ require 'github_backup/git'
10
+ include GithubBackup::Helpers
11
+
12
+ config = GithubBackup::Config.new(File.join(__dir__, '..', 'default_config.json'))
13
+
14
+ config['repos_path'] ||= File.join(Dir.home, 'Repos')
15
+ config['backup_path'] ||= File.join(Dir.home, 'Documents', 'RepoBundles')
16
+
17
+ if !config['token']
18
+ puts "Please enter your github token: "
19
+ config['token'] = gets.chomp
20
+ end
21
+
22
+ config.save
23
+ github = GithubBackup::Api.new(config['token'])
24
+
25
+ # Create the path and move to that location
26
+ path = File.expand_path(File.join(config['repos_path'], 'gists'))
27
+ FileUtils.mkdir_p(path)
28
+ Dir.chdir path
29
+
30
+ # Fetch all gists
31
+ gists = github.get('/gists')
32
+ while page = github.next
33
+ gists.concat page
34
+ end
35
+
36
+ gists.each do |gist|
37
+ unless File.exist? gist['id']
38
+ puts `git clone #{gist['git_pull_url']}`
39
+ else
40
+ inside gist['id'] do
41
+ puts "Gist: #{gist['id']}"
42
+ puts `git pull`
43
+ end
44
+ end
45
+ end
@@ -22,28 +22,6 @@ end
22
22
  config.save
23
23
  github = GithubBackup::Api.new(config['token'])
24
24
 
25
- # # ===============
26
- # # = Clone gists =
27
- # # ===============
28
- #
29
- # inside 'gists' do
30
- # gists = github.get('/gists')
31
- # while page = github.next
32
- # gists.concat page
33
- # end
34
- #
35
- # gists.each do |gist|
36
- # unless File.exist? gist['id']
37
- # puts `git clone #{gist['git_pull_url']}`
38
- # else
39
- # inside gist['id'] do
40
- # puts "Gist: #{gist['id']}"
41
- # puts `git pull`
42
- # end
43
- # end
44
- # end
45
- # end
46
-
47
25
  puts "Fetching repos..."
48
26
  page_no = 0
49
27
  puts "page #{page_no += 1}"
@@ -56,34 +34,28 @@ puts "Done!"
56
34
 
57
35
  clone_urls = repos.map { |repo| repo['ssh_url'] }
58
36
 
59
- @threads = []
60
-
61
37
  clone_urls.each do |url|
62
38
  user = /github\.com.([^\/]+)/.match(url)[1]
63
39
  project_name = File.basename(url.split('/').last, '.git')
64
40
  path = File.expand_path(File.join(config['repos_path'], user, project_name))
65
41
  FileUtils.mkdir_p(File.dirname(path))
42
+ Dir.chdir(File.dirname(path))
66
43
 
67
- @threads << Thread.new do |thread|
68
- FileUtils.mkdir_p(File.dirname(path))
69
- Dir.chdir(File.dirname(path))
70
- unless File.exist?(path)
71
- cmd = "git clone #{url} #{Shellwords.shellescape(path)}"
72
- puts cmd
73
- puts `#{cmd}`
44
+ unless File.exist?(path)
45
+ cmd = "git clone #{url} #{Shellwords.shellescape(path)}"
46
+ puts cmd
47
+ result = `#{cmd}`
74
48
  Dir.chdir(path)
75
- else
49
+ else
76
50
  Dir.chdir(path)
77
- puts "Updating existing repo: #{path}"
78
- git_updater = GithubBackup::Git.new
79
- git_updater.update
80
- end
81
- backup_path = File.expand_path(File.join(config['backup_path'], user))
82
- FileUtils.mkdir_p(backup_path)
83
- bundle = "#{project_name}.gitbundle"
84
- bundle_path = File.join(backup_path, bundle)
85
- puts `git bundle create #{Shellwords.shellescape(bundle_path)} --all --remotes`
51
+ puts "Updating existing repo: #{path}"
52
+ git_updater = GithubBackup::Git.new
53
+ git_updater.update
86
54
  end
87
- end
88
55
 
89
- @threads.each(&:join)
56
+ backup_path = File.expand_path(File.join(config['backup_path'], user))
57
+ FileUtils.mkdir_p(backup_path)
58
+ bundle = "#{project_name}.gitbundle"
59
+ bundle_path = File.join(backup_path, bundle)
60
+ result = `git bundle create #{Shellwords.shellescape(bundle_path)} --all --remotes`
61
+ end
@@ -7,11 +7,15 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "github_backup"
8
8
  spec.version = GithubBackup::VERSION
9
9
  spec.authors = ["Alex Clink"]
10
- spec.email = ["code@alexclink.com"]
10
+ spec.email = ["hello@alexclink.com"]
11
11
 
12
12
  spec.summary = "Create backups of your github repos"
13
13
  spec.description = "Automatically clones your github repos and makes git bundles"
14
- spec.homepage = "http://alexclink.com/gems/github-backup"
14
+ spec.homepage = "https://github.com/SleepingInsomniac/github-backup"
15
+
16
+ spec.metadata = {
17
+ "source_code_uri" => "https://github.com/SleepingInsomniac/github-backup"
18
+ }
15
19
 
16
20
  # Specify which files should be added to the gem when it is released.
17
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -22,8 +26,8 @@ Gem::Specification.new do |spec|
22
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
27
  spec.require_paths = ["lib"]
24
28
 
25
- spec.add_development_dependency "bundler", "~> 1.17"
26
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "bundler", "~> 2.0"
30
+ spec.add_development_dependency "rake", "~> 13.0"
27
31
  spec.add_development_dependency "rspec", "~> 3.0"
28
32
 
29
33
  spec.add_dependency "link_header"
@@ -1,4 +1,4 @@
1
1
  module GithubBackup
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  APP = 'github-backup'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github_backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Clink
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-16 00:00:00.000000000 Z
11
+ date: 2020-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -82,8 +82,9 @@ dependencies:
82
82
  version: '0'
83
83
  description: Automatically clones your github repos and makes git bundles
84
84
  email:
85
- - code@alexclink.com
85
+ - hello@alexclink.com
86
86
  executables:
87
+ - gist-backup
87
88
  - github-backup
88
89
  extensions: []
89
90
  extra_rdoc_files: []
@@ -97,6 +98,7 @@ files:
97
98
  - Rakefile
98
99
  - bin/console
99
100
  - bin/setup
101
+ - exe/gist-backup
100
102
  - exe/github-backup
101
103
  - github_backup.gemspec
102
104
  - lib/github_backup.rb
@@ -106,9 +108,10 @@ files:
106
108
  - lib/github_backup/helpers.rb
107
109
  - lib/github_backup/json_store.rb
108
110
  - lib/github_backup/version.rb
109
- homepage: http://alexclink.com/gems/github-backup
111
+ homepage: https://github.com/SleepingInsomniac/github-backup
110
112
  licenses: []
111
- metadata: {}
113
+ metadata:
114
+ source_code_uri: https://github.com/SleepingInsomniac/github-backup
112
115
  post_install_message:
113
116
  rdoc_options: []
114
117
  require_paths: