hoe-git 1.2.0 → 1.3.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.
- data/CHANGELOG.rdoc +7 -0
- data/README.rdoc +16 -0
- data/Rakefile +1 -1
- data/lib/hoe/git.rb +28 -9
- metadata +4 -4
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -13,6 +13,9 @@ expect it'll learn a few more tricks in the future.
|
|
13
13
|
# in your Rakefile
|
14
14
|
Hoe.plugin :git
|
15
15
|
|
16
|
+
If this plugin doesn't see a .git directory at the root of your
|
17
|
+
project, it'll silently deactivate itself.
|
18
|
+
|
16
19
|
=== Autogenerating the Changelog
|
17
20
|
|
18
21
|
$ rake git:changelog
|
@@ -28,6 +31,13 @@ like this:
|
|
28
31
|
|
29
32
|
* Did a thing with the stuff. [I R Contributor]
|
30
33
|
|
34
|
+
=== Generating the Manifest
|
35
|
+
|
36
|
+
$ rake git:manifest
|
37
|
+
|
38
|
+
This will regenerate <tt>Manifest.txt</tt> using <tt>git
|
39
|
+
ls-files</tt>. It respects Hoe's manifest sort order and excludes.
|
40
|
+
|
31
41
|
=== Tagging and Sanity Checking a Release
|
32
42
|
|
33
43
|
$ rake release VERSION=1.0.0
|
@@ -36,6 +46,12 @@ In addition to the normal RubyForge release process, this will create
|
|
36
46
|
and push a <tt>v1.0.0</tt> tag. It'll also abort the release if your
|
37
47
|
index is dirty, or if there are untracked files present.
|
38
48
|
|
49
|
+
=== git-svn
|
50
|
+
|
51
|
+
The <tt>git:changelog</tt> and <tt>git:tag</tt> tasks understand
|
52
|
+
<tt>git-svn</tt> repositories, and will adjust their behavior
|
53
|
+
accordingly.
|
54
|
+
|
39
55
|
== Dependencies
|
40
56
|
|
41
57
|
Hoe and Git, obviously. I wouldn't be surprised if things don't quite
|
data/Rakefile
CHANGED
data/lib/hoe/git.rb
CHANGED
@@ -6,14 +6,21 @@ class Hoe #:nodoc:
|
|
6
6
|
# Hoe.plugin :git
|
7
7
|
#
|
8
8
|
# Hoe.spec "myproj" do
|
9
|
-
# self.git_release_tag_prefix
|
10
|
-
# self.git_remotes
|
9
|
+
# self.git_release_tag_prefix = "REL_"
|
10
|
+
# self.git_remotes << "myremote"
|
11
11
|
# end
|
12
|
+
#
|
13
|
+
#
|
14
|
+
# === Tasks
|
15
|
+
#
|
16
|
+
# git:changelog:: Print the current changelog.
|
17
|
+
# git:manifest:: Update the manifest with Git's file list.
|
18
|
+
# git:tag:: Create and push a tag.
|
12
19
|
|
13
20
|
module Git
|
14
21
|
|
15
22
|
# Duh.
|
16
|
-
VERSION = "1.
|
23
|
+
VERSION = "1.3.0"
|
17
24
|
|
18
25
|
# What do you want at the front of your release tags?
|
19
26
|
# [default: <tt>"v"</tt>]
|
@@ -39,24 +46,37 @@ class Hoe #:nodoc:
|
|
39
46
|
tag = ENV["FROM"] || tags.last
|
40
47
|
range = [tag, "HEAD"].compact.join ".."
|
41
48
|
cmd = "git log #{range} '--format=tformat:%s|||%aN|||%aE'"
|
49
|
+
now = Time.new.strftime "%Y-%m-%d"
|
42
50
|
|
43
51
|
changes = `#{cmd}`.split("\n").map do |line|
|
44
52
|
msg, author, email = line.split("|||").map { |e| e.empty? ? nil : e }
|
53
|
+
|
45
54
|
developer = self.author.include?(author) ||
|
46
55
|
self.email.include?(email)
|
47
56
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
change.join " "
|
57
|
+
msg << " [#{author || email}]" unless developer
|
58
|
+
msg
|
52
59
|
end
|
53
60
|
|
54
61
|
next if changes.empty?
|
55
62
|
|
56
|
-
puts "=== #{ENV[
|
63
|
+
puts "=== #{ENV['VERSION'] || 'NEXT'} / #{now}"
|
57
64
|
puts
|
58
65
|
|
59
66
|
changes.each { |change| puts "* #{change}" }
|
67
|
+
puts
|
68
|
+
end
|
69
|
+
|
70
|
+
desc "Update the manifest with Git's file list. Use Hoe's excludes."
|
71
|
+
task "git:manifest" do
|
72
|
+
with_config do |config, _|
|
73
|
+
files = `git ls-files`.split "\n"
|
74
|
+
files.reject! { |f| f =~ config["exclude"] }
|
75
|
+
|
76
|
+
File.open "Manifest.txt", "w" do |f|
|
77
|
+
f.puts files.sort.join("\n")
|
78
|
+
end
|
79
|
+
end
|
60
80
|
end
|
61
81
|
|
62
82
|
desc "Create and push a TAG " +
|
@@ -76,7 +96,6 @@ class Hoe #:nodoc:
|
|
76
96
|
end
|
77
97
|
|
78
98
|
task :release => "git:tag"
|
79
|
-
|
80
99
|
end
|
81
100
|
|
82
101
|
def git_svn?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoe-git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Barnette
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-07-
|
12
|
+
date: 2009-07-27 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.3.
|
33
|
+
version: 2.3.2
|
34
34
|
version:
|
35
35
|
description: |-
|
36
36
|
A set of Hoe plugins for tighter Git integration. Provides tasks to
|
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements: []
|
79
79
|
|
80
80
|
rubyforge_project: hoe-git
|
81
|
-
rubygems_version: 1.3.
|
81
|
+
rubygems_version: 1.3.5
|
82
82
|
signing_key:
|
83
83
|
specification_version: 3
|
84
84
|
summary: A set of Hoe plugins for tighter Git integration
|