git-run 0.0.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/bin/git-run +27 -0
- data/lib/git_run.rb +20 -0
- metadata +74 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5896c7419c31d79ce4846342f0b5c739c3ee794d
|
4
|
+
data.tar.gz: 895d992d3f503fbeb950cb1791d097a3369c33e2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 46bc3dc6924d73d2a77b05a5ad10309d1fc86ce1919cb957e5e8c9cc4c7188672a0fb118d83acd48be36d44398693007baa75716f24565cc58f797fd7fab8da2
|
7
|
+
data.tar.gz: cf2258864f52e15042c2c22a9d27dfd74e15b86328a75712a653bebab530b543397b7e922b3b626eb4606ce894d1543e8c6fb9fc48efc839166f4ee6f2582bd4
|
data/bin/git-run
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require_relative '../lib/git_run'
|
3
|
+
require 'optparse'
|
4
|
+
|
5
|
+
OptionParser.new do |opts|
|
6
|
+
opts.banner = "Usage: git run [options] <revision> <command>"
|
7
|
+
|
8
|
+
opts.on("-h", "--help", "Show this message") do
|
9
|
+
puts opts
|
10
|
+
exit
|
11
|
+
end
|
12
|
+
|
13
|
+
if opts.default_argv.length < 2
|
14
|
+
puts opts
|
15
|
+
exit
|
16
|
+
end
|
17
|
+
end.parse!
|
18
|
+
|
19
|
+
revision = ARGV.shift
|
20
|
+
|
21
|
+
begin
|
22
|
+
print GitRun.run(revision, ARGV.join(' '))
|
23
|
+
rescue Rugged::RepositoryError
|
24
|
+
$stderr.puts "#{Dir.pwd} is not a git repository."
|
25
|
+
rescue Rugged::ReferenceError
|
26
|
+
$stderr.puts "'#{revision}' is not a revision in this repository."
|
27
|
+
end
|
data/lib/git_run.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rugged'
|
2
|
+
|
3
|
+
class GitRun
|
4
|
+
def self.run(revision, command)
|
5
|
+
return repository.in_revision(revision) { `#{command}` }
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.repository
|
9
|
+
Repository.new('.')
|
10
|
+
end
|
11
|
+
|
12
|
+
class Repository < Rugged::Repository
|
13
|
+
def in_revision(revision)
|
14
|
+
checkout_tree(revision, strategy: :force)
|
15
|
+
output = yield
|
16
|
+
reset('master', :hard)
|
17
|
+
output
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: git-run
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jeff Kreeftmeijer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-11-17 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rugged
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.23'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.23'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: minitest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.8'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.8'
|
41
|
+
description: git run runs commands on git revisions
|
42
|
+
email: jeff@kreeftmeijer.nl
|
43
|
+
executables:
|
44
|
+
- git-run
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- bin/git-run
|
49
|
+
- lib/git_run.rb
|
50
|
+
homepage: https://github.com/jeffkreeftmeijer/git-run
|
51
|
+
licenses:
|
52
|
+
- MIT
|
53
|
+
metadata: {}
|
54
|
+
post_install_message:
|
55
|
+
rdoc_options: []
|
56
|
+
require_paths:
|
57
|
+
- lib
|
58
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
requirements: []
|
69
|
+
rubyforge_project:
|
70
|
+
rubygems_version: 2.4.5
|
71
|
+
signing_key:
|
72
|
+
specification_version: 4
|
73
|
+
summary: git run
|
74
|
+
test_files: []
|