git-fastclone 1.0.11 → 1.0.13
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 +1 -0
- data/lib/git-fastclone.rb +28 -6
- data/lib/git-fastclone/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 99f2ed04cdf72fcb80a6f5b3025ecaa34bc0d00f
         | 
| 4 | 
            +
              data.tar.gz: e4519db820594d0983ed806e9dcd868874d7b3f5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: ee2a68e3c0007d4d3a86f43a6f0df0d403faa98acf5fdf48315f7ef64a1c313ef08a462fa78a39f42ccd00125a8c9d7bb14a6b18b5ef7831394d2bf4eaae1358
         | 
| 7 | 
            +
              data.tar.gz: 2a6fcf00b85f18b8fc40ab88c7aa94709414dc3601d34f68eb289e662fcdff5323e5508cefabbc63342b188ecbcce5e6145400496263ebec2ee439332acdbaae
         | 
    
        data/README.md
    CHANGED
    
    
    
        data/lib/git-fastclone.rb
    CHANGED
    
    | @@ -65,7 +65,7 @@ module GitFastClone | |
| 65 65 | 
             
                DEFAULT_GIT_ALLOW_PROTOCOL = 'file:git:http:https:ssh'
         | 
| 66 66 |  | 
| 67 67 | 
             
                attr_accessor :reference_dir, :prefetch_submodules, :reference_mutex, :reference_updated,
         | 
| 68 | 
            -
                              :options, :logger, :abs_clone_path, :using_local_repo, :verbose
         | 
| 68 | 
            +
                              :options, :logger, :abs_clone_path, :using_local_repo, :verbose, :color
         | 
| 69 69 |  | 
| 70 70 | 
             
                def initialize
         | 
| 71 71 | 
             
                  # Prefetch reference repos for submodules we've seen before
         | 
| @@ -91,14 +91,22 @@ module GitFastClone | |
| 91 91 | 
             
                  self.using_local_repo = false
         | 
| 92 92 |  | 
| 93 93 | 
             
                  self.verbose = false
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                  self.color = false
         | 
| 94 96 | 
             
                end
         | 
| 95 97 |  | 
| 96 98 | 
             
                def run
         | 
| 99 | 
            +
                  url, path, options = parse_inputs
         | 
| 100 | 
            +
             | 
| 97 101 | 
             
                  require_relative './git-fastclone/version'
         | 
| 98 | 
            -
                   | 
| 102 | 
            +
                  msg = "git-fastclone #{GitFastCloneVersion::VERSION}"
         | 
| 103 | 
            +
                  if color
         | 
| 104 | 
            +
                    puts msg.yellow
         | 
| 105 | 
            +
                  else
         | 
| 106 | 
            +
                    puts msg
         | 
| 107 | 
            +
                  end
         | 
| 99 108 |  | 
| 100 | 
            -
                  url, path | 
| 101 | 
            -
                  puts 'Cloning'.bold + " #{path_from_git_url(url)} to #{File.join(abs_clone_path, path)}"
         | 
| 109 | 
            +
                  puts "Cloning #{path_from_git_url(url)} to #{File.join(abs_clone_path, path)}"
         | 
| 102 110 | 
             
                  Cocaine::CommandLine.environment['GIT_ALLOW_PROTOCOL'] =
         | 
| 103 111 | 
             
                    ENV['GIT_ALLOW_PROTOCOL'] || DEFAULT_GIT_ALLOW_PROTOCOL
         | 
| 104 112 | 
             
                  clone(url, options[:branch], path)
         | 
| @@ -112,9 +120,11 @@ module GitFastClone | |
| 112 120 | 
             
                  OptionParser.new do |opts|
         | 
| 113 121 | 
             
                    opts.banner = usage
         | 
| 114 122 | 
             
                    options[:branch] = nil
         | 
| 123 | 
            +
             | 
| 115 124 | 
             
                    opts.on('-b', '--branch BRANCH', 'Checkout this branch rather than the default') do |branch|
         | 
| 116 125 | 
             
                      options[:branch] = branch
         | 
| 117 126 | 
             
                    end
         | 
| 127 | 
            +
             | 
| 118 128 | 
             
                    opts.on('-v', '--verbose', 'Verbose mode') do
         | 
| 119 129 | 
             
                      self.verbose = true
         | 
| 120 130 | 
             
                      self.logger = Logger.new(STDOUT)
         | 
| @@ -123,6 +133,10 @@ module GitFastClone | |
| 123 133 | 
             
                      end
         | 
| 124 134 | 
             
                      Cocaine::CommandLine.logger = logger
         | 
| 125 135 | 
             
                    end
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                    opts.on('-c', '--color', 'Display colored output') do
         | 
| 138 | 
            +
                      self.color = true
         | 
| 139 | 
            +
                    end
         | 
| 126 140 | 
             
                  end.parse!
         | 
| 127 141 |  | 
| 128 142 | 
             
                  unless ARGV[0]
         | 
| @@ -140,7 +154,9 @@ module GitFastClone | |
| 140 154 | 
             
                  path = ARGV[1] || path_from_git_url(url)
         | 
| 141 155 |  | 
| 142 156 | 
             
                  if Dir.exist?(path)
         | 
| 143 | 
            -
                     | 
| 157 | 
            +
                    msg = "Clone destination #{File.join(abs_clone_path, path)} already exists!"
         | 
| 158 | 
            +
                    fail msg.red if color
         | 
| 159 | 
            +
                    fail msg
         | 
| 144 160 | 
             
                  end
         | 
| 145 161 |  | 
| 146 162 | 
             
                  self.reference_dir = ENV['REFERENCE_REPO_DIR'] || DEFAULT_REFERENCE_REPO_DIR
         | 
| @@ -169,7 +185,13 @@ module GitFastClone | |
| 169 185 | 
             
                  update_submodules(src_dir, url)
         | 
| 170 186 |  | 
| 171 187 | 
             
                  final_time = Time.now
         | 
| 172 | 
            -
             | 
| 188 | 
            +
             | 
| 189 | 
            +
                  msg = "Checkout of #{src_dir} took #{final_time - initial_time}s"
         | 
| 190 | 
            +
                  if color
         | 
| 191 | 
            +
                    puts msg.green
         | 
| 192 | 
            +
                  else
         | 
| 193 | 
            +
                    puts msg
         | 
| 194 | 
            +
                  end
         | 
| 173 195 | 
             
                end
         | 
| 174 196 |  | 
| 175 197 | 
             
                def update_submodules(pwd, url)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: git-fastclone
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.13
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Michael Tauraso
         | 
| @@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 78 78 | 
             
                  version: '0'
         | 
| 79 79 | 
             
            requirements: []
         | 
| 80 80 | 
             
            rubyforge_project: 
         | 
| 81 | 
            -
            rubygems_version: 2. | 
| 81 | 
            +
            rubygems_version: 2.4.8
         | 
| 82 82 | 
             
            signing_key: 
         | 
| 83 83 | 
             
            specification_version: 4
         | 
| 84 84 | 
             
            summary: git-clone --recursive on steroids!
         |