hoe-mercurial 1.2.2 → 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.tar.gz.sig +2 -0
- data/History.md +16 -4
- data/README.md +15 -0
- data/Rakefile +3 -1
- data/lib/hoe/mercurial.rb +42 -4
- metadata +43 -7
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
data/History.md
CHANGED
@@ -1,4 +1,15 @@
|
|
1
|
-
##
|
1
|
+
## v1.3.0 [2011-09-19] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
Added a new task :check_history, and a new config option 'check_history_on_release'
|
4
|
+
for ensuring the History file is updated before releasing.
|
5
|
+
|
6
|
+
|
7
|
+
## v1.2.2 [2011-08-22] Michael Granger <ged@FaerieMUD.org>
|
8
|
+
|
9
|
+
Don't overlay existing mercurial tasks if an 'hg:checkin' task already exists.
|
10
|
+
|
11
|
+
|
12
|
+
## v1.2.1 [2011-02-01] Michael Granger <ged@FaerieMUD.org>
|
2
13
|
|
3
14
|
Bugfixes:
|
4
15
|
|
@@ -7,7 +18,8 @@ Bugfixes:
|
|
7
18
|
* Fixed the add_include_dirs call, describe the 'ci' task
|
8
19
|
* Updated hoe dependency
|
9
20
|
|
10
|
-
|
21
|
+
|
22
|
+
## v1.2.0 [2011-01-05] Michael Granger <ged@FaerieMUD.org>
|
11
23
|
|
12
24
|
Removed old attributes:
|
13
25
|
|
@@ -19,12 +31,12 @@ Enhancements:
|
|
19
31
|
* hoe-mercurial now injects itself as a dev dependency.
|
20
32
|
|
21
33
|
|
22
|
-
##
|
34
|
+
## v1.1.1 [2011-01-04] Michael Granger <ged@FaerieMUD.org>
|
23
35
|
|
24
36
|
Simplified the hg:checkin task.
|
25
37
|
|
26
38
|
|
27
|
-
##
|
39
|
+
## v1.1.0 [2010-12-14] Michael Granger <ged@FaerieMUD.org>
|
28
40
|
|
29
41
|
Initial release after forking from hoe-hg.
|
30
42
|
|
data/README.md
CHANGED
@@ -46,6 +46,21 @@ uncommitted files, it also verifies that you want to release with
|
|
46
46
|
uncommitted changes, and ensures you've bumped the version number by
|
47
47
|
checking for an existing tag with the same version.
|
48
48
|
|
49
|
+
If you also wish to check the History file to ensure that you have an
|
50
|
+
entry for each release tag, add this to your hoespec:
|
51
|
+
|
52
|
+
self.check_history_on_release = true
|
53
|
+
|
54
|
+
You can also invoke or add the ':check_history' task as a dependency
|
55
|
+
yourself if you wish to check it at other times.
|
56
|
+
|
57
|
+
It expects lines like:
|
58
|
+
|
59
|
+
== v1.3.0 <other stuff>
|
60
|
+
|
61
|
+
to be in your History file. Markdown, RDoc, and Textile headers are
|
62
|
+
all supported.
|
63
|
+
|
49
64
|
To sign tagged revisions using 'hg sign', do this in your hoespec:
|
50
65
|
|
51
66
|
self.hg_sign_tags = true
|
data/Rakefile
CHANGED
@@ -21,6 +21,7 @@ hoespec = Hoe.spec "hoe-mercurial" do
|
|
21
21
|
|
22
22
|
self.spec_extras[:licenses] = ["BSD"]
|
23
23
|
self.hg_sign_tags = true
|
24
|
+
self.check_history_on_release = true
|
24
25
|
|
25
26
|
self.dependency 'hoe', "~> #{Hoe::VERSION[ /\d+\.\d+/ ]}"
|
26
27
|
end
|
@@ -55,6 +56,7 @@ file 'ChangeLog' => '.hg/branch' do |task|
|
|
55
56
|
end
|
56
57
|
|
57
58
|
# Rebuild the ChangeLog immediately before release
|
58
|
-
task :prerelease => 'ChangeLog'
|
59
|
+
task :prerelease => [ :check_history, 'ChangeLog' ]
|
60
|
+
|
59
61
|
|
60
62
|
|
data/lib/hoe/mercurial.rb
CHANGED
@@ -438,26 +438,50 @@ class Hoe
|
|
438
438
|
include Hoe::RakeHelpers,
|
439
439
|
Hoe::MercurialHelpers
|
440
440
|
|
441
|
-
VERSION = '1.
|
441
|
+
VERSION = '1.3.0'
|
442
442
|
|
443
443
|
# The name of the file to edit for the commit message
|
444
444
|
COMMIT_MSG_FILE = 'commit-msg.txt'
|
445
445
|
|
446
446
|
attr_accessor :hg_release_tag_prefix
|
447
447
|
attr_accessor :hg_sign_tags
|
448
|
+
attr_accessor :check_history_on_release
|
448
449
|
|
449
450
|
|
450
451
|
### Set up defaults
|
451
452
|
def initialize_mercurial
|
452
453
|
# Follow semantic versioning tagging specification (http://semver.org/)
|
453
|
-
self.hg_release_tag_prefix
|
454
|
-
self.hg_sign_tags
|
454
|
+
self.hg_release_tag_prefix = "v"
|
455
|
+
self.hg_sign_tags = false
|
456
|
+
self.check_history_on_release = false
|
455
457
|
|
456
|
-
self.
|
458
|
+
self.dependency( 'hoe-mercurial', "~> #{VERSION}", :developer ) unless
|
457
459
|
self.name == 'hoe-mercurial'
|
458
460
|
end
|
459
461
|
|
460
462
|
|
463
|
+
### Read the list of tags and return any that don't have a corresponding section
|
464
|
+
### in the history file.
|
465
|
+
def get_unhistoried_version_tags( include_pkg_version=true )
|
466
|
+
prefix = self.hg_release_tag_prefix
|
467
|
+
tag_pattern = /#{prefix}\d+(\.\d+)+/
|
468
|
+
release_tags = get_tags().grep( /^#{tag_pattern}$/ )
|
469
|
+
|
470
|
+
release_tags << "#{prefix}#{version}" if include_pkg_version
|
471
|
+
|
472
|
+
IO.readlines( self.history_file ).each do |line|
|
473
|
+
if line =~ /^(?:h\d\.|#+|=+)\s+(#{tag_pattern})\s+/
|
474
|
+
trace " found an entry for tag %p: %p" % [ $1, line ]
|
475
|
+
release_tags.delete( $1 )
|
476
|
+
else
|
477
|
+
trace " no tag on line %p" % [ line ]
|
478
|
+
end
|
479
|
+
end
|
480
|
+
|
481
|
+
return release_tags
|
482
|
+
end
|
483
|
+
|
484
|
+
|
461
485
|
### Hoe hook -- Define Rake tasks when the plugin is loaded.
|
462
486
|
def define_mercurial_tasks
|
463
487
|
return unless File.exist?( ".hg" ) &&
|
@@ -490,6 +514,9 @@ class Hoe
|
|
490
514
|
fail
|
491
515
|
end
|
492
516
|
|
517
|
+
# Ensure that the History file contains an entry for every release
|
518
|
+
Rake::Task[ 'check_history' ].invoke if self.check_history_on_release
|
519
|
+
|
493
520
|
# Sign the current rev
|
494
521
|
if self.hg_sign_tags
|
495
522
|
log "Signing rev #{rev}"
|
@@ -620,6 +647,17 @@ class Hoe
|
|
620
647
|
# Hook the release task and prep the repo first
|
621
648
|
task :prerelease => 'hg:prep_release'
|
622
649
|
|
650
|
+
desc "Check the history file to ensure it contains an entry for each release tag"
|
651
|
+
task :check_history do
|
652
|
+
log "Checking history..."
|
653
|
+
missing_tags = get_unhistoried_version_tags()
|
654
|
+
|
655
|
+
unless missing_tags.empty?
|
656
|
+
abort "%s needs updating; missing entries for tags: %p" %
|
657
|
+
[ self.history_file, missing_tags ]
|
658
|
+
end
|
659
|
+
end
|
660
|
+
|
623
661
|
rescue ::Exception => err
|
624
662
|
$stderr.puts "%s while defining Mercurial tasks: %s" % [ err.class.name, err.message ]
|
625
663
|
raise
|
metadata
CHANGED
@@ -5,17 +5,37 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 1.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Michael Granger
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
|
-
cert_chain:
|
16
|
+
cert_chain:
|
17
|
+
- |
|
18
|
+
-----BEGIN CERTIFICATE-----
|
19
|
+
MIIDLDCCAhSgAwIBAgIBADANBgkqhkiG9w0BAQUFADA8MQwwCgYDVQQDDANnZWQx
|
20
|
+
FzAVBgoJkiaJk/IsZAEZFgdfYWVyaWVfMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4X
|
21
|
+
DTEwMDkxNjE0NDg1MVoXDTExMDkxNjE0NDg1MVowPDEMMAoGA1UEAwwDZ2VkMRcw
|
22
|
+
FQYKCZImiZPyLGQBGRYHX2FlcmllXzETMBEGCgmSJomT8ixkARkWA29yZzCCASIw
|
23
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy//BFxC1f/cPSnwtJBWoFiFrir
|
24
|
+
h7RicI+joq/ocVXQqI4TDWPyF/8tqkvt+rD99X9qs2YeR8CU/YiIpLWrQOYST70J
|
25
|
+
vDn7Uvhb2muFVqq6+vobeTkILBEO6pionWDG8jSbo3qKm1RjKJDwg9p4wNKhPuu8
|
26
|
+
KGue/BFb67KflqyApPmPeb3Vdd9clspzqeFqp7cUBMEpFS6LWxy4Gk+qvFFJBJLB
|
27
|
+
BUHE/LZVJMVzfpC5Uq+QmY7B+FH/QqNndn3tOHgsPadLTNimuB1sCuL1a4z3Pepd
|
28
|
+
TeLBEFmEao5Dk3K/Q8o8vlbIB/jBDTUx6Djbgxw77909x6gI9doU4LD5XMcCAwEA
|
29
|
+
AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJeoGkOr9l4B
|
30
|
+
+saMkW/ZXT4UeSvVMA0GCSqGSIb3DQEBBQUAA4IBAQBG2KObvYI2eHyyBUJSJ3jN
|
31
|
+
vEnU3d60znAXbrSd2qb3r1lY1EPDD3bcy0MggCfGdg3Xu54z21oqyIdk8uGtWBPL
|
32
|
+
HIa9EgfFGSUEgvcIvaYqiN4jTUtidfEFw+Ltjs8AP9gWgSIYS6Gr38V0WGFFNzIH
|
33
|
+
aOD2wmu9oo/RffW4hS/8GuvfMzcw7CQ355wFR4KB/nyze+EsZ1Y5DerCAagMVuDQ
|
34
|
+
U0BLmWDFzPGGWlPeQCrYHCr+AcJz+NRnaHCKLZdSKj/RHuTOt+gblRex8FAh8NeA
|
35
|
+
cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
|
36
|
+
-----END CERTIFICATE-----
|
17
37
|
|
18
|
-
date: 2011-
|
38
|
+
date: 2011-09-19 00:00:00 Z
|
19
39
|
dependencies:
|
20
40
|
- !ruby/object:Gem::Dependency
|
21
41
|
name: hoe
|
@@ -33,9 +53,25 @@ dependencies:
|
|
33
53
|
type: :runtime
|
34
54
|
version_requirements: *id001
|
35
55
|
- !ruby/object:Gem::Dependency
|
36
|
-
name: hoe
|
56
|
+
name: hoe-highline
|
37
57
|
prerelease: false
|
38
58
|
requirement: &id002 !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ~>
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
hash: 29
|
64
|
+
segments:
|
65
|
+
- 0
|
66
|
+
- 0
|
67
|
+
- 1
|
68
|
+
version: 0.0.1
|
69
|
+
type: :development
|
70
|
+
version_requirements: *id002
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: hoe
|
73
|
+
prerelease: false
|
74
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
75
|
none: false
|
40
76
|
requirements:
|
41
77
|
- - ~>
|
@@ -46,7 +82,7 @@ dependencies:
|
|
46
82
|
- 12
|
47
83
|
version: "2.12"
|
48
84
|
type: :development
|
49
|
-
version_requirements: *
|
85
|
+
version_requirements: *id003
|
50
86
|
description: |-
|
51
87
|
This is a fork of the [hoe-hg](https://bitbucket.org/mml/hoe-hg)
|
52
88
|
plugin. I forked it because I use quite a few additional Mercurial
|
metadata.gz.sig
ADDED
Binary file
|