manifestly 2.1.0.pre.pre → 2.2.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 +4 -4
 - data/README.md +2 -6
 - data/lib/manifestly/cli.rb +14 -1
 - data/lib/manifestly/manifest.rb +2 -3
 - data/lib/manifestly/manifest_item.rb +2 -2
 - data/lib/manifestly/repository.rb +29 -4
 - data/lib/manifestly/version.rb +1 -1
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: f0c315b69f70efd0a0a9fbb96b837ec5b8003651
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 252ae02ec9b3b53fe3f9022f5dac47be059d776f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: ddb360f349ff360da7593cecf02e6e0bfc8d94f181844cf4068866e5794f07c290fc5914835158d6e4db67a77957cc8be81c9dbffd43a7d79670ef1ac7c4fc71
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: b6a5647e87acad501c243acda516ff23a5f552f8c4439fc71bd0eefb64c3d798c84658042bbfc4689945f395ff4dc2d79d82fab4ca77523317b75a8b26bf99e2
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -11,13 +11,9 @@ Manifestly is run as a standalone executable.  Install with: 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                $ gem install manifestly
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
            To update to the latest version:
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
                $  
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            Or install it yourself as:
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                $ gem install manifestly
         
     | 
| 
      
 16 
     | 
    
         
            +
                $ gem update manifestly
         
     | 
| 
       21 
17 
     | 
    
         | 
| 
       22 
18 
     | 
    
         
             
            ## Usage
         
     | 
| 
       23 
19 
     | 
    
         | 
    
        data/lib/manifestly/cli.rb
    CHANGED
    
    | 
         @@ -200,19 +200,32 @@ module Manifestly 
     | 
|
| 
       200 
200 
     | 
    
         
             
                desc "apply", "Sets the manifest's repository's current states to the commits listed in the manifest"
         
     | 
| 
       201 
201 
     | 
    
         
             
                search_paths_option
         
     | 
| 
       202 
202 
     | 
    
         
             
                file_option("apply")
         
     | 
| 
      
 203 
     | 
    
         
            +
                method_option :update,
         
     | 
| 
      
 204 
     | 
    
         
            +
                          desc: "Updates (fetches) repository content if a manifest commit is not found",
         
     | 
| 
      
 205 
     | 
    
         
            +
                          banner: '',
         
     | 
| 
      
 206 
     | 
    
         
            +
                          aliases: "-u",
         
     | 
| 
      
 207 
     | 
    
         
            +
                          type: :boolean,
         
     | 
| 
      
 208 
     | 
    
         
            +
                          default: false,
         
     | 
| 
      
 209 
     | 
    
         
            +
                          required: false
         
     | 
| 
       203 
210 
     | 
    
         
             
                long_desc <<-DESC
         
     | 
| 
       204 
211 
     | 
    
         
             
                  Check to make sure the repositories you are deploying from have their state committed.
         
     | 
| 
       205 
212 
     | 
    
         
             
                DESC
         
     | 
| 
       206 
213 
     | 
    
         
             
                def apply
         
     | 
| 
       207 
214 
     | 
    
         
             
                  begin
         
     | 
| 
       208 
215 
     | 
    
         
             
                    manifest = load_manifest(file: options[:file]) || return
         
     | 
| 
      
 216 
     | 
    
         
            +
                    manifest.items.each{ |item| item.checkout_commit!(options[:update]) }
         
     | 
| 
       209 
217 
     | 
    
         
             
                  rescue Manifestly::ManifestItem::MultipleSameNameRepositories => e
         
     | 
| 
       210 
218 
     | 
    
         
             
                    say "Multiple repositories have the same name (#{e.message}) so we " +
         
     | 
| 
       211 
219 
     | 
    
         
             
                        "can't apply the manifest. Try limiting the search_paths or " +
         
     | 
| 
       212 
220 
     | 
    
         
             
                        "separate the duplicates."
         
     | 
| 
       213 
221 
     | 
    
         
             
                    return
         
     | 
| 
      
 222 
     | 
    
         
            +
                  rescue Manifestly::Repository::CommitNotPresent => e
         
     | 
| 
      
 223 
     | 
    
         
            +
                    say "Could not find commit #{e.sha} in repository #{e.repository.github_name_or_path}. " +
         
     | 
| 
      
 224 
     | 
    
         
            +
                        "Try running again with the `--update` option."
         
     | 
| 
      
 225 
     | 
    
         
            +
                    return
         
     | 
| 
       214 
226 
     | 
    
         
             
                  end
         
     | 
| 
       215 
     | 
    
         
            -
             
     | 
| 
      
 227 
     | 
    
         
            +
             
     | 
| 
      
 228 
     | 
    
         
            +
             
     | 
| 
       216 
229 
     | 
    
         
             
                end
         
     | 
| 
       217 
230 
     | 
    
         | 
| 
       218 
231 
     | 
    
         
             
                desc "upload", "Upload a local manifest file to a manifest repository"
         
     | 
    
        data/lib/manifestly/manifest.rb
    CHANGED
    
    | 
         @@ -30,9 +30,8 @@ module Manifestly 
     | 
|
| 
       30 
30 
     | 
    
         
             
                end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
                def self.read_file(filename, repositories)
         
     | 
| 
       33 
     | 
    
         
            -
                  File. 
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                  end
         
     | 
| 
      
 33 
     | 
    
         
            +
                  lines = File.read(filename)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  read_lines(lines, repositories)
         
     | 
| 
       36 
35 
     | 
    
         
             
                end
         
     | 
| 
       37 
36 
     | 
    
         | 
| 
       38 
37 
     | 
    
         
             
                def self.read_lines(lines, repositories)
         
     | 
| 
         @@ -26,8 +26,8 @@ module Manifestly 
     | 
|
| 
       26 
26 
     | 
    
         
             
                  @repository.fetch
         
     | 
| 
       27 
27 
     | 
    
         
             
                end
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
                def checkout_commit!
         
     | 
| 
       30 
     | 
    
         
            -
                  @repository.checkout_commit(@commit.sha)
         
     | 
| 
      
 29 
     | 
    
         
            +
                def checkout_commit!(fetch_if_unfound=false)
         
     | 
| 
      
 30 
     | 
    
         
            +
                  @repository.checkout_commit(@commit.sha, fetch_if_unfound)
         
     | 
| 
       31 
31 
     | 
    
         
             
                end
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
                def to_file_string
         
     | 
| 
         @@ -4,7 +4,15 @@ require 'ostruct' 
     | 
|
| 
       4 
4 
     | 
    
         
             
            module Manifestly
         
     | 
| 
       5 
5 
     | 
    
         
             
              class Repository
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                class CommitNotPresent < StandardError 
     | 
| 
      
 7 
     | 
    
         
            +
                class CommitNotPresent < StandardError
         
     | 
| 
      
 8 
     | 
    
         
            +
                  attr_reader :sha, :repository
         
     | 
| 
      
 9 
     | 
    
         
            +
                  def initialize(sha, repository)
         
     | 
| 
      
 10 
     | 
    
         
            +
                    @sha = sha
         
     | 
| 
      
 11 
     | 
    
         
            +
                    @repository = repository
         
     | 
| 
      
 12 
     | 
    
         
            +
                    super("SHA '#{sha}' not found in repository '#{repository.github_name_or_path}'")
         
     | 
| 
      
 13 
     | 
    
         
            +
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
                end
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
       8 
16 
     | 
    
         
             
                class ManifestUnchanged < StandardError; end
         
     | 
| 
       9 
17 
     | 
    
         
             
                class CommitContentError < StandardError; end
         
     | 
| 
       10 
18 
     | 
    
         
             
                class NoCommitsError < StandardError; end
         
     | 
| 
         @@ -101,7 +109,7 @@ module Manifestly 
     | 
|
| 
       101 
109 
     | 
    
         
             
                  begin
         
     | 
| 
       102 
110 
     | 
    
         
             
                    git.gcommit(sha).tap(&:sha)
         
     | 
| 
       103 
111 
     | 
    
         
             
                  rescue Git::GitExecuteError => e
         
     | 
| 
       104 
     | 
    
         
            -
                    raise CommitNotPresent,  
     | 
| 
      
 112 
     | 
    
         
            +
                    raise CommitNotPresent.new(sha, self)
         
     | 
| 
       105 
113 
     | 
    
         
             
                  end
         
     | 
| 
       106 
114 
     | 
    
         
             
                end
         
     | 
| 
       107 
115 
     | 
    
         | 
| 
         @@ -131,8 +139,25 @@ module Manifestly 
     | 
|
| 
       131 
139 
     | 
    
         
             
                  end
         
     | 
| 
       132 
140 
     | 
    
         
             
                end
         
     | 
| 
       133 
141 
     | 
    
         | 
| 
       134 
     | 
    
         
            -
                def checkout_commit(sha)
         
     | 
| 
       135 
     | 
    
         
            -
                   
     | 
| 
      
 142 
     | 
    
         
            +
                def checkout_commit(sha, fetch_if_unfound=false)
         
     | 
| 
      
 143 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 144 
     | 
    
         
            +
                    git.checkout(sha)
         
     | 
| 
      
 145 
     | 
    
         
            +
                  rescue Git::GitExecuteError => e
         
     | 
| 
      
 146 
     | 
    
         
            +
                    if is_commit_not_found_exception?(e)
         
     | 
| 
      
 147 
     | 
    
         
            +
                      if fetch_if_unfound
         
     | 
| 
      
 148 
     | 
    
         
            +
                        git.fetch
         
     | 
| 
      
 149 
     | 
    
         
            +
                        checkout_commit(sha, false)
         
     | 
| 
      
 150 
     | 
    
         
            +
                      else
         
     | 
| 
      
 151 
     | 
    
         
            +
                        raise CommitNotPresent.new(sha, self)
         
     | 
| 
      
 152 
     | 
    
         
            +
                      end
         
     | 
| 
      
 153 
     | 
    
         
            +
                    else
         
     | 
| 
      
 154 
     | 
    
         
            +
                      raise
         
     | 
| 
      
 155 
     | 
    
         
            +
                    end
         
     | 
| 
      
 156 
     | 
    
         
            +
                  end
         
     | 
| 
      
 157 
     | 
    
         
            +
                end
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                def is_commit_not_found_exception?(e)
         
     | 
| 
      
 160 
     | 
    
         
            +
                  e.message.include?("fatal: reference is not a tree")
         
     | 
| 
       136 
161 
     | 
    
         
             
                end
         
     | 
| 
       137 
162 
     | 
    
         | 
| 
       138 
163 
     | 
    
         
             
                def current_branch_name
         
     | 
    
        data/lib/manifestly/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: manifestly
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.2.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - JP Slavinsky
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-04-05 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: thor
         
     | 
| 
         @@ -183,9 +183,9 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       183 
183 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       184 
184 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       185 
185 
     | 
    
         
             
              requirements:
         
     | 
| 
       186 
     | 
    
         
            -
              - - " 
     | 
| 
      
 186 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       187 
187 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       188 
     | 
    
         
            -
                  version:  
     | 
| 
      
 188 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
       189 
189 
     | 
    
         
             
            requirements: []
         
     | 
| 
       190 
190 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       191 
191 
     | 
    
         
             
            rubygems_version: 2.4.8
         
     |