Module: Kamal::Commands::Builder::Clone

Included in:
Kamal::Commands::Builder
Defined in:
lib/kamal/commands/builder/clone.rb

Instance Method Summary collapse

Instance Method Details

#cloneObject



2
3
4
# File 'lib/kamal/commands/builder/clone.rb', line 2

def clone
  git :clone, escaped_root, "--recurse-submodules", path: config.builder.clone_directory.shellescape
end

#clone_reset_stepsObject



6
7
8
9
10
11
12
13
14
15
# File 'lib/kamal/commands/builder/clone.rb', line 6

def clone_reset_steps
  [
    git(:remote, "set-url", :origin, escaped_root, path: escaped_build_directory),
    git(:fetch, :origin, path: escaped_build_directory),
    git(:reset, "--hard", Kamal::Git.revision, path: escaped_build_directory),
    git(:clean, "-fdx", path: escaped_build_directory),
    git(:submodule, :update, "--init", path: escaped_build_directory),
    git(:gc, "--auto", "--quiet", path: escaped_build_directory)
  ]
end

#clone_revisionObject



21
22
23
# File 'lib/kamal/commands/builder/clone.rb', line 21

def clone_revision
  git :"rev-parse", :HEAD, path: escaped_build_directory
end

#clone_statusObject



17
18
19
# File 'lib/kamal/commands/builder/clone.rb', line 17

def clone_status
  git :status, "--porcelain", path: escaped_build_directory
end

#escaped_build_directoryObject



29
30
31
# File 'lib/kamal/commands/builder/clone.rb', line 29

def escaped_build_directory
  config.builder.build_directory.shellescape
end

#escaped_rootObject



25
26
27
# File 'lib/kamal/commands/builder/clone.rb', line 25

def escaped_root
  Kamal::Git.root.shellescape
end