grit 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grit might be problematic. Click here for more details.
- data/History.txt +32 -12
- data/README.md +21 -15
- data/Rakefile +1 -1
- data/grit.gemspec +3 -3
- data/lib/grit.rb +1 -1
- data/lib/grit/git-ruby.rb +2 -2
- data/lib/grit/git-ruby/internal/loose.rb +1 -1
- data/lib/grit/git.rb +7 -2
- data/lib/grit/index.rb +6 -6
- data/lib/grit/repo.rb +122 -66
- metadata +44 -18
data/History.txt
CHANGED
@@ -1,4 +1,15 @@
|
|
1
|
-
==
|
1
|
+
== 2.3.0 / 2010-09-29
|
2
|
+
* Minor Enhancements
|
3
|
+
* Add Grit::Repo.init.
|
4
|
+
* Bug Fixes
|
5
|
+
* Fix Ruby 1.9 compatibility (#24).
|
6
|
+
|
7
|
+
== 2.2.1 / 2010-08-23
|
8
|
+
* Bug Fixes
|
9
|
+
* Fix minor regression due to the changed default values in
|
10
|
+
Grit::Index#commit.
|
11
|
+
|
12
|
+
== 2.2.0 / 2010-08-19
|
2
13
|
* Minor Enhancements
|
3
14
|
* Add Grit::Index#delete to allow deletions of files from the index.
|
4
15
|
|
@@ -30,7 +41,8 @@
|
|
30
41
|
* Removed all trailing whitespace in code files
|
31
42
|
* Bug Fixes
|
32
43
|
* Repo.archive_tar_gz now passes -n option to gzip to be idempotent
|
33
|
-
* Fix RubyGit's diff to detect additions and deletions
|
44
|
+
* Fix RubyGit's diff to detect additions and deletions
|
45
|
+
[github.com/defunkt]
|
34
46
|
|
35
47
|
== 1.1.1 / 2009-03-31
|
36
48
|
* Changes
|
@@ -44,17 +56,25 @@
|
|
44
56
|
* Minor Enhancements
|
45
57
|
* Convert readme to markdown
|
46
58
|
* Added a shortcut for commit_stats as Commit#stats [github.com/js]
|
47
|
-
* Add a #basename method to Submodule, Blob and Tree for retrieving the
|
48
|
-
|
59
|
+
* Add a #basename method to Submodule, Blob and Tree for retrieving the
|
60
|
+
name [github.com/js]
|
61
|
+
* Make Grit::Submodule grasp the concept of non-unix lineendings
|
62
|
+
[github.com/js]
|
49
63
|
* Added Repo#commit_deltas_from [github.com/js]
|
50
64
|
* do some mild shell escaping when running commands [github.com/js]
|
51
|
-
* Added two shortcut methods to Tree, for picking trees/blobs only
|
65
|
+
* Added two shortcut methods to Tree, for picking trees/blobs only
|
66
|
+
[github.com/Voker57]
|
52
67
|
* Added <=> method to Blob, needed for sorting tree [github.com/Voker57]
|
53
|
-
* Make the number of bytes to be read from git's stdout configurable
|
54
|
-
|
55
|
-
*
|
56
|
-
|
57
|
-
*
|
68
|
+
* Make the number of bytes to be read from git's stdout configurable
|
69
|
+
[github.com/josb]
|
70
|
+
* Repo.archive_to_file accepts extra parameters making plain zipping
|
71
|
+
possible [github.com/darwin]
|
72
|
+
* Handle commit stats that summarize commits with binary changes
|
73
|
+
[github.com/therealadam]
|
74
|
+
* Add a DiffStat class for easy access to diff stats
|
75
|
+
[github.com/therealadam]
|
76
|
+
* Don't split git logs that contain blank lines into two CommitStats
|
77
|
+
[github.com/therealadam]
|
58
78
|
* Add DiffStat#net for total change count [github.com/therealadam]
|
59
79
|
|
60
80
|
== 1.0.3 / 2009-02-13
|
@@ -76,10 +96,10 @@
|
|
76
96
|
|
77
97
|
== 0.8.3 / 2008-07-07
|
78
98
|
* Capture stderr and log if debug is true (rsanheim)
|
79
|
-
|
99
|
+
|
80
100
|
== 0.8.2 / 2008-06-27
|
81
101
|
* Allow user provided logger (rsanheim)
|
82
|
-
|
102
|
+
|
83
103
|
== 0.8.0 / 2008-04-24
|
84
104
|
* Lots of fixes and additions
|
85
105
|
|
data/README.md
CHANGED
@@ -15,22 +15,22 @@ correctness.
|
|
15
15
|
Grit is maintained by Tom Preston-Werner, Scott Chacon, Chris Wanstrath, and
|
16
16
|
PJ Hyett.
|
17
17
|
|
18
|
-
This documentation is accurate as of Grit 2.
|
18
|
+
This documentation is accurate as of Grit 2.3.
|
19
19
|
|
20
20
|
|
21
|
-
## Requirements
|
21
|
+
## Requirements
|
22
22
|
|
23
|
-
* git (http://git-scm.com) tested with 1.
|
23
|
+
* git (http://git-scm.com) tested with 1.7.2.1
|
24
24
|
|
25
25
|
|
26
|
-
## Install
|
26
|
+
## Install
|
27
27
|
|
28
28
|
Easiest install is via RubyGems:
|
29
29
|
|
30
|
-
$ gem install grit
|
30
|
+
$ gem install grit
|
31
31
|
|
32
32
|
|
33
|
-
## Source
|
33
|
+
## Source
|
34
34
|
|
35
35
|
Grit's Git repo is available on GitHub, which can be browsed at:
|
36
36
|
|
@@ -45,19 +45,26 @@ and cloned with:
|
|
45
45
|
|
46
46
|
You will need these gems to get tests to pass:
|
47
47
|
|
48
|
-
* jeweler
|
49
48
|
* mocha
|
50
49
|
|
51
50
|
|
52
51
|
### Contributing
|
53
52
|
|
54
|
-
If you'd like to
|
55
|
-
GitHub, and push up a topic branch for each feature you add or bug you fix.
|
56
|
-
Then create an issue and link to the topic branch and explain what the code
|
57
|
-
does. This allows us to discuss and merge each change separately.
|
53
|
+
If you'd like to hack on Grit, follow these instructions. To get all of the dependencies, install the gem first.
|
58
54
|
|
55
|
+
1. Fork the project to your own account
|
56
|
+
1. Clone down your fork
|
57
|
+
1. Create a thoughtfully named topic branch to contain your change
|
58
|
+
1. Hack away
|
59
|
+
1. Add tests and make sure everything still passes by running `rake`
|
60
|
+
1. If you are adding new functionality, document it in README.md
|
61
|
+
1. Do not change the version number, I will do that on my end
|
62
|
+
1. If necessary, rebase your commits into logical chunks, without errors
|
63
|
+
1. Push the branch up to GitHub
|
64
|
+
1. Send a pull request for your branch
|
59
65
|
|
60
|
-
|
66
|
+
|
67
|
+
## Usage
|
61
68
|
|
62
69
|
Grit gives you object model access to your Git repositories. Once you have
|
63
70
|
created a `Repo` object, you can traverse it to find parent commits,
|
@@ -70,8 +77,7 @@ The first step is to create a `Grit::Repo` object to represent your repo. In
|
|
70
77
|
this documentation I include the `Grit` module to reduce typing.
|
71
78
|
|
72
79
|
require 'grit'
|
73
|
-
|
74
|
-
repo = Repo.new("/Users/tom/dev/grit")
|
80
|
+
repo = Grit::Repo.new("/Users/tom/dev/grit")
|
75
81
|
|
76
82
|
In the above example, the directory `/Users/tom/dev/grit` is my working
|
77
83
|
directory and contains the `.git` directory. You can also initialize Grit with
|
@@ -233,4 +239,4 @@ reference the code for more functionality.
|
|
233
239
|
Copyright
|
234
240
|
---------
|
235
241
|
|
236
|
-
Copyright (c)
|
242
|
+
Copyright (c) 2010 Tom Preston-Werner. See LICENSE for details.
|
data/Rakefile
CHANGED
data/grit.gemspec
CHANGED
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.5'
|
5
5
|
|
6
6
|
s.name = 'grit'
|
7
|
-
s.version = '2.
|
8
|
-
s.date = '2010-
|
7
|
+
s.version = '2.3.0'
|
8
|
+
s.date = '2010-09-29'
|
9
9
|
s.rubyforge_project = 'grit'
|
10
10
|
|
11
11
|
s.summary = "Ruby Git bindings."
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
|
14
14
|
s.authors = ["Tom Preston-Werner", "Scott Chacon"]
|
15
15
|
s.email = 'tom@github.com'
|
16
|
-
s.homepage = 'http://github.com/
|
16
|
+
s.homepage = 'http://github.com/mojombo/grit'
|
17
17
|
|
18
18
|
s.require_paths = %w[lib]
|
19
19
|
|
data/lib/grit.rb
CHANGED
data/lib/grit/git-ruby.rb
CHANGED
@@ -10,11 +10,11 @@ module Grit
|
|
10
10
|
|
11
11
|
attr_accessor :ruby_git_repo, :git_file_index
|
12
12
|
|
13
|
-
def init(options)
|
13
|
+
def init(options, *args)
|
14
14
|
if options.size == 0
|
15
15
|
Grit::GitRuby::Repository.init(@git_dir)
|
16
16
|
else
|
17
|
-
method_missing('init', options)
|
17
|
+
method_missing('init', options, *args)
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
data/lib/grit/git.rb
CHANGED
@@ -232,14 +232,19 @@ module Grit
|
|
232
232
|
timeout = options.delete(:timeout) rescue nil
|
233
233
|
timeout = true if timeout.nil?
|
234
234
|
|
235
|
+
base = options.delete(:base) rescue nil
|
236
|
+
base = true if base.nil?
|
237
|
+
|
235
238
|
opt_args = transform_options(options)
|
236
239
|
|
237
240
|
if RUBY_PLATFORM.downcase =~ /mswin(?!ce)|mingw|bccwin/
|
238
241
|
ext_args = args.reject { |a| a.empty? }.map { |a| (a == '--' || a[0].chr == '|' || Grit.no_quote) ? a : "\"#{e(a)}\"" }
|
239
|
-
|
242
|
+
gitdir = base ? "--git-dir=\"#{self.git_dir}\"" : ""
|
243
|
+
call = "#{prefix}#{Git.git_binary} #{gitdir} #{cmd.to_s.gsub(/_/, '-')} #{(opt_args + ext_args).join(' ')}#{e(postfix)}"
|
240
244
|
else
|
241
245
|
ext_args = args.reject { |a| a.empty? }.map { |a| (a == '--' || a[0].chr == '|' || Grit.no_quote) ? a : "'#{e(a)}'" }
|
242
|
-
|
246
|
+
gitdir = base ? "--git-dir='#{self.git_dir}'" : ""
|
247
|
+
call = "#{prefix}#{Git.git_binary} #{gitdir} #{cmd.to_s.gsub(/_/, '-')} #{(opt_args + ext_args).join(' ')}#{e(postfix)}"
|
243
248
|
end
|
244
249
|
Grit.log(call) if Grit.debug
|
245
250
|
response, err = timeout ? sh(call) : wild_sh(call)
|
data/lib/grit/index.rb
CHANGED
@@ -67,7 +67,7 @@ module Grit
|
|
67
67
|
#
|
68
68
|
# message - The String commit message.
|
69
69
|
# parents - Array of String commit SHA1s or Grit::Commit objects to
|
70
|
-
# attach this commit to to form a new head (default:
|
70
|
+
# attach this commit to to form a new head (default: nil).
|
71
71
|
# actor - The Grit::Actor details of the user making the commit
|
72
72
|
# (default: nil).
|
73
73
|
# last_tree - The String SHA1 of a tree to compare with in order to avoid
|
@@ -76,7 +76,7 @@ module Grit
|
|
76
76
|
# (default: "master").
|
77
77
|
#
|
78
78
|
# Returns a String of the SHA1 of the new commit.
|
79
|
-
def commit(message, parents =
|
79
|
+
def commit(message, parents = nil, actor = nil, last_tree = nil, head = 'master')
|
80
80
|
tree_sha1 = write_tree(self.tree, self.current_tree)
|
81
81
|
|
82
82
|
# don't write identical commits
|
@@ -86,15 +86,15 @@ module Grit
|
|
86
86
|
contents << ['tree', tree_sha1].join(' ')
|
87
87
|
parents.each do |p|
|
88
88
|
contents << ['parent', p].join(' ')
|
89
|
-
end
|
89
|
+
end if parents
|
90
90
|
|
91
91
|
if actor
|
92
|
-
name
|
92
|
+
name = actor.name
|
93
93
|
email = actor.email
|
94
94
|
else
|
95
95
|
config = Config.new(self.repo)
|
96
|
-
name
|
97
|
-
email
|
96
|
+
name = config['user.name']
|
97
|
+
email = config['user.email']
|
98
98
|
end
|
99
99
|
|
100
100
|
author_string = "#{name} <#{email}> #{Time.now.to_i} -0700" # !! TODO : gotta fix this
|
data/lib/grit/repo.rb
CHANGED
@@ -3,23 +3,37 @@ module Grit
|
|
3
3
|
class Repo
|
4
4
|
DAEMON_EXPORT_FILE = 'git-daemon-export-ok'
|
5
5
|
|
6
|
-
# The path of the
|
6
|
+
# Public: The String path of the Git repo.
|
7
7
|
attr_accessor :path
|
8
|
+
|
9
|
+
# Public: The String path to the working directory of the repo, or nil if
|
10
|
+
# there is no working directory.
|
8
11
|
attr_accessor :working_dir
|
12
|
+
|
13
|
+
# Public: The Boolean of whether or not the repo is bare.
|
9
14
|
attr_reader :bare
|
10
15
|
|
11
|
-
# The
|
16
|
+
# Public: The Grit::Git command line interface object.
|
12
17
|
attr_accessor :git
|
13
18
|
|
14
|
-
# Create a new Repo instance
|
15
|
-
#
|
16
|
-
#
|
19
|
+
# Public: Create a new Repo instance.
|
20
|
+
#
|
21
|
+
# path - The String path to either the root git directory or the bare
|
22
|
+
# git repo. Bare repos are expected to end with ".git".
|
23
|
+
# options - A Hash of options (default: {}):
|
24
|
+
# :is_bare - Boolean whether to consider the repo as bare even
|
25
|
+
# if the repo name does not end with ".git".
|
17
26
|
#
|
18
27
|
# Examples
|
19
|
-
# g = Repo.new("/Users/tom/dev/grit")
|
20
|
-
# g = Repo.new("/Users/tom/public/grit.git")
|
21
28
|
#
|
22
|
-
#
|
29
|
+
# r = Repo.new("/Users/tom/dev/normal")
|
30
|
+
# r = Repo.new("/Users/tom/public/bare.git")
|
31
|
+
# r = Repo.new("/Users/tom/public/bare", {:is_bare => true})
|
32
|
+
#
|
33
|
+
# Returns a newly initialized Grit::Repo.
|
34
|
+
# Raises Grit::InvalidGitRepositoryError if the path exists but is not
|
35
|
+
# a Git repository.
|
36
|
+
# Raises Grit::NoSuchPathError if the path does not exist.
|
23
37
|
def initialize(path, options = {})
|
24
38
|
epath = File.expand_path(path)
|
25
39
|
|
@@ -39,12 +53,106 @@ module Grit
|
|
39
53
|
self.git = Git.new(self.path)
|
40
54
|
end
|
41
55
|
|
42
|
-
#
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
56
|
+
# Public: Initialize a git repository (create it on the filesystem). By
|
57
|
+
# default, the newly created repository will contain a working directory.
|
58
|
+
# If you would like to create a bare repo, use Gollum::Repo.init_bare.
|
59
|
+
#
|
60
|
+
# path - The String full path to the repo. Traditionally ends with
|
61
|
+
# "/<name>.git".
|
62
|
+
# git_options - A Hash of additional options to the git init command
|
63
|
+
# (default: {}).
|
64
|
+
# repo_options - A Hash of additional options to the Grit::Repo.new call
|
65
|
+
# (default: {}).
|
66
|
+
#
|
67
|
+
# Examples
|
68
|
+
#
|
69
|
+
# Grit::Repo.init('/var/git/myrepo.git')
|
70
|
+
#
|
71
|
+
# Returns the newly created Grit::Repo.
|
72
|
+
def self.init(path, git_options = {}, repo_options = {})
|
73
|
+
git_options = {:base => false}.merge(git_options)
|
74
|
+
git = Git.new(path)
|
75
|
+
git.fs_mkdir('..')
|
76
|
+
git.init(git_options, path)
|
77
|
+
self.new(path, repo_options)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Public: Initialize a bare git repository (create it on the filesystem).
|
81
|
+
#
|
82
|
+
# path - The String full path to the repo. Traditionally ends with
|
83
|
+
# "/<name>.git".
|
84
|
+
# git_options - A Hash of additional options to the git init command
|
85
|
+
# (default: {}).
|
86
|
+
# repo_options - A Hash of additional options to the Grit::Repo.new call
|
87
|
+
# (default: {}).
|
88
|
+
#
|
89
|
+
# Examples
|
90
|
+
#
|
91
|
+
# Grit::Repo.init_bare('/var/git/myrepo.git')
|
92
|
+
#
|
93
|
+
# Returns the newly created Grit::Repo.
|
94
|
+
def self.init_bare(path, git_options = {}, repo_options = {})
|
95
|
+
git_options = {:bare => true}.merge(git_options)
|
96
|
+
git = Git.new(path)
|
97
|
+
git.fs_mkdir('..')
|
98
|
+
git.init(git_options)
|
99
|
+
self.new(path, repo_options)
|
100
|
+
end
|
101
|
+
|
102
|
+
# Public: Initialize a bare Git repository (create it on the filesystem)
|
103
|
+
# or, if the repo already exists, simply return it.
|
104
|
+
#
|
105
|
+
# path - The String full path to the repo. Traditionally ends with
|
106
|
+
# "/<name>.git".
|
107
|
+
# git_options - A Hash of additional options to the git init command
|
108
|
+
# (default: {}).
|
109
|
+
# repo_options - A Hash of additional options to the Grit::Repo.new call
|
110
|
+
# (default: {}).
|
111
|
+
#
|
112
|
+
# Returns the new or existing Grit::Repo.
|
113
|
+
def self.init_bare_or_open(path, git_options = {}, repo_options = {})
|
114
|
+
git = Git.new(path)
|
115
|
+
|
116
|
+
unless git.exist?
|
117
|
+
git.fs_mkdir(path)
|
118
|
+
git.init(git_options)
|
119
|
+
end
|
120
|
+
|
121
|
+
self.new(path, repo_options)
|
122
|
+
end
|
123
|
+
|
124
|
+
# Public: Create a bare fork of this repository.
|
125
|
+
#
|
126
|
+
# path - The String full path of where to create the new fork.
|
127
|
+
# Traditionally ends with "/<name>.git".
|
128
|
+
# options - The Hash of additional options to the git clone command.
|
129
|
+
# These options will be merged on top of the default Hash:
|
130
|
+
# {:bare => true, :shared => true}.
|
131
|
+
#
|
132
|
+
# Returns the newly forked Grit::Repo.
|
133
|
+
def fork_bare(path, options = {})
|
134
|
+
default_options = {:bare => true, :shared => true}
|
135
|
+
real_options = default_options.merge(options)
|
136
|
+
Git.new(path).fs_mkdir('..')
|
137
|
+
self.git.clone(real_options, self.path, path)
|
138
|
+
Repo.new(path)
|
139
|
+
end
|
140
|
+
|
141
|
+
# Public: Fork a bare git repository from another repo.
|
142
|
+
#
|
143
|
+
# path - The String full path of the repo from which to fork..
|
144
|
+
# Traditionally ends with "/<name>.git".
|
145
|
+
# options - The Hash of additional options to the git clone command.
|
146
|
+
# These options will be merged on top of the default Hash:
|
147
|
+
# {:bare => true, :shared => true}.
|
148
|
+
#
|
149
|
+
# Returns the newly forked Grit::Repo.
|
150
|
+
def fork_bare_from(path, options = {})
|
151
|
+
default_options = {:bare => true, :shared => true}
|
152
|
+
real_options = default_options.merge(options)
|
153
|
+
Git.new(self.path).fs_mkdir('..')
|
154
|
+
self.git.clone(real_options, path, self.path)
|
155
|
+
Repo.new(self.path)
|
48
156
|
end
|
49
157
|
|
50
158
|
# The project's description. Taken verbatim from GIT_REPO/description
|
@@ -58,7 +166,6 @@ module Grit
|
|
58
166
|
Blame.new(self, file, commit)
|
59
167
|
end
|
60
168
|
|
61
|
-
|
62
169
|
# An array of Head objects representing the branch heads in
|
63
170
|
# this repo
|
64
171
|
#
|
@@ -369,57 +476,6 @@ module Grit
|
|
369
476
|
Commit.diff(self, commit)
|
370
477
|
end
|
371
478
|
|
372
|
-
# Initialize a bare git repository at the given path
|
373
|
-
# +path+ is the full path to the repo (traditionally ends with /<name>.git)
|
374
|
-
# +options+ is any additional options to the git init command
|
375
|
-
#
|
376
|
-
# Examples
|
377
|
-
# Grit::Repo.init_bare('/var/git/myrepo.git')
|
378
|
-
#
|
379
|
-
# Returns Grit::Repo (the newly created repo)
|
380
|
-
def self.init_bare(path, git_options = {}, repo_options = {})
|
381
|
-
git_options = {:bare => true}.merge(git_options)
|
382
|
-
git = Git.new(path)
|
383
|
-
git.fs_mkdir('..')
|
384
|
-
git.init(git_options)
|
385
|
-
self.new(path, repo_options)
|
386
|
-
end
|
387
|
-
|
388
|
-
def self.init_bare_or_open(path, git_options = {}, repo_options = {})
|
389
|
-
git = Git.new(path)
|
390
|
-
if !git.exist?
|
391
|
-
git.fs_mkdir(path)
|
392
|
-
git.init(git_options)
|
393
|
-
end
|
394
|
-
self.new(path, repo_options)
|
395
|
-
end
|
396
|
-
|
397
|
-
# Fork a bare git repository from this repo
|
398
|
-
# +path+ is the full path of the new repo (traditionally ends with /<name>.git)
|
399
|
-
# +options+ is any additional options to the git clone command (:bare and :shared are true by default)
|
400
|
-
#
|
401
|
-
# Returns Grit::Repo (the newly forked repo)
|
402
|
-
def fork_bare(path, options = {})
|
403
|
-
default_options = {:bare => true, :shared => true}
|
404
|
-
real_options = default_options.merge(options)
|
405
|
-
Git.new(path).fs_mkdir('..')
|
406
|
-
self.git.clone(real_options, self.path, path)
|
407
|
-
Repo.new(path)
|
408
|
-
end
|
409
|
-
|
410
|
-
# Fork a bare git repository from another repo
|
411
|
-
# +path+ is the full path of the new repo (traditionally ends with /<name>.git)
|
412
|
-
# +options+ is any additional options to the git clone command (:bare and :shared are true by default)
|
413
|
-
#
|
414
|
-
# Returns Grit::Repo (the newly forked repo)
|
415
|
-
def fork_bare_from(path, options = {})
|
416
|
-
default_options = {:bare => true, :shared => true}
|
417
|
-
real_options = default_options.merge(options)
|
418
|
-
Git.new(self.path).fs_mkdir('..')
|
419
|
-
self.git.clone(real_options, path, self.path)
|
420
|
-
Repo.new(self.path)
|
421
|
-
end
|
422
|
-
|
423
479
|
# Archive the given treeish
|
424
480
|
# +treeish+ is the treeish name/id (default 'master')
|
425
481
|
# +prefix+ is the optional prefix
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 3
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 2.3.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Tom Preston-Werner
|
@@ -10,39 +16,53 @@ autorequire:
|
|
10
16
|
bindir: bin
|
11
17
|
cert_chain: []
|
12
18
|
|
13
|
-
date: 2010-
|
19
|
+
date: 2010-09-29 00:00:00 -07:00
|
14
20
|
default_executable:
|
15
21
|
dependencies:
|
16
22
|
- !ruby/object:Gem::Dependency
|
17
23
|
name: mime-types
|
18
|
-
|
19
|
-
|
20
|
-
|
24
|
+
prerelease: false
|
25
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
21
27
|
requirements:
|
22
28
|
- - ~>
|
23
29
|
- !ruby/object:Gem::Version
|
30
|
+
hash: 17
|
31
|
+
segments:
|
32
|
+
- 1
|
33
|
+
- 15
|
24
34
|
version: "1.15"
|
25
|
-
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
26
37
|
- !ruby/object:Gem::Dependency
|
27
38
|
name: diff-lcs
|
28
|
-
|
29
|
-
|
30
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
31
42
|
requirements:
|
32
43
|
- - ~>
|
33
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 13
|
46
|
+
segments:
|
47
|
+
- 1
|
48
|
+
- 1
|
34
49
|
version: "1.1"
|
35
|
-
|
50
|
+
type: :runtime
|
51
|
+
version_requirements: *id002
|
36
52
|
- !ruby/object:Gem::Dependency
|
37
53
|
name: mocha
|
38
|
-
|
39
|
-
|
40
|
-
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
41
57
|
requirements:
|
42
58
|
- - ">="
|
43
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 3
|
61
|
+
segments:
|
62
|
+
- 0
|
44
63
|
version: "0"
|
45
|
-
|
64
|
+
type: :development
|
65
|
+
version_requirements: *id003
|
46
66
|
description: Grit is a Ruby library for extracting information from a git repository in an object oriented manner.
|
47
67
|
email: tom@github.com
|
48
68
|
executables: []
|
@@ -96,7 +116,7 @@ files:
|
|
96
116
|
- lib/grit/tag.rb
|
97
117
|
- lib/grit/tree.rb
|
98
118
|
has_rdoc: true
|
99
|
-
homepage: http://github.com/
|
119
|
+
homepage: http://github.com/mojombo/grit
|
100
120
|
licenses: []
|
101
121
|
|
102
122
|
post_install_message:
|
@@ -105,21 +125,27 @@ rdoc_options:
|
|
105
125
|
require_paths:
|
106
126
|
- lib
|
107
127
|
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
108
129
|
requirements:
|
109
130
|
- - ">="
|
110
131
|
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
133
|
+
segments:
|
134
|
+
- 0
|
111
135
|
version: "0"
|
112
|
-
version:
|
113
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
114
138
|
requirements:
|
115
139
|
- - ">="
|
116
140
|
- !ruby/object:Gem::Version
|
141
|
+
hash: 3
|
142
|
+
segments:
|
143
|
+
- 0
|
117
144
|
version: "0"
|
118
|
-
version:
|
119
145
|
requirements: []
|
120
146
|
|
121
147
|
rubyforge_project: grit
|
122
|
-
rubygems_version: 1.3.
|
148
|
+
rubygems_version: 1.3.7
|
123
149
|
signing_key:
|
124
150
|
specification_version: 2
|
125
151
|
summary: Ruby Git bindings.
|