diff --git a/lib/homesick.rb b/lib/homesick.rb index 5fc3dad..dcb6376 100644 --- a/lib/homesick.rb +++ b/lib/homesick.rb @@ -20,7 +20,7 @@ class Homesick < Thor def clone(uri) inside repos_dir do if uri =~ GITHUB_NAME_REPO_PATTERN - git_clone "git://github.com/#{$1}/#{$2}.git", :destination => "#{$1}_#{$2}" + git_clone "git://github.com/#{$1}/#{$2}.git", :destination => "#{$1}/#{$2}" else git_clone uri end diff --git a/lib/homesick/actions.rb b/lib/homesick/actions.rb index 2bb3201..2cf5b63 100644 --- a/lib/homesick/actions.rb +++ b/lib/homesick/actions.rb @@ -9,6 +9,7 @@ class Homesick end destination = Pathname.new(destination) unless destination.kind_of?(Pathname) + FileUtils.mkdir_p destination.dirname if ! destination.directory? say_status 'git clone', "#{repo} to #{destination.expand_path}", :green unless options[:quiet] diff --git a/spec/homesick_spec.rb b/spec/homesick_spec.rb index 39247e3..70ea89d 100644 --- a/spec/homesick_spec.rb +++ b/spec/homesick_spec.rb @@ -25,7 +25,7 @@ describe Homesick do end it "should clone a github repo" do - @homesick.should_receive(:git_clone).with('git://github.com/wfarr/dotfiles.git', :destination => 'wfarr_dotfiles') + @homesick.should_receive(:git_clone).with('git://github.com/wfarr/dotfiles.git', :destination => 'wfarr/dotfiles') @homesick.clone "wfarr/dotfiles" end