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 |