Merge remote branch 'Sutto/master'

This commit is contained in:
Joshua Nichols
2010-05-18 20:25:53 -04:00
3 changed files with 29 additions and 6 deletions

View File

@@ -44,13 +44,20 @@ class Homesick < Thor
end
end
desc "pull NAME", "Update the specified castle"
def pull(name)
check_castle_existance(name, "pull")
inside repos_dir.join(name) do
git_pull
git_submodule_init
git_submodule_update
end
end
desc "symlink NAME", "Symlinks all dotfiles from the specified castle"
def symlink(name)
unless castle_dir(name).exist?
say_status :error, "Could not symlink #{name}, expected #{castle_dir(name)} exist and contain dotfiles", :red
exit(1)
end
check_castle_existance(name, "symlink")
inside castle_dir(name) do
files = Pathname.glob('.*').reject{|a| [".",".."].include?(a.to_s)}
@@ -106,9 +113,16 @@ class Homesick < Thor
@repos_dir ||= home_dir.join('.homesick', 'repos').expand_path
end
def castle_dir(name)
repos_dir.join(name, 'home')
end
def check_castle_existance(name, action)
unless castle_dir(name).exist?
say_status :error, "Could not #{action} #{name}, expected #{castle_dir(name)} exist and contain dotfiles", :red
exit(1)
end
end
end

View File

@@ -54,6 +54,11 @@ class Homesick
system "git submodule --quiet update >/dev/null 2>&1" unless options[:pretend]
end
def git_pull(config = {})
say_status 'git pull', '', :green unless options[:quiet]
system "git pull --quiet" unless options[:pretend]
end
def ln_s(source, destination, config = {})
source = Pathname.new(source)
destination = Pathname.new(destination)