Commit Graph

181 Commits

Author SHA1 Message Date
Trae Robrock
5b954b93e3 Fix #19 homesickrc pathname needs a to_s to eval
Also, moved the file evaluation into a new function so the script can be
ran manually which should make testing these scripts easier.
2013-11-23 19:38:50 +01:00
Trae Robrock
b596e063f5 Add unlink functionality 2013-11-23 19:38:50 +01:00
muratayusuke
f9d0b69bce add recursive option to 'homesick clone' 2013-11-23 19:37:25 +01:00
David Simon
651e028d5b Whoops, fixed typo 2013-11-23 19:37:24 +01:00
David Simon
6f3186df2f Using DEFAULT_CASTLE_NAME in show_path, diff, status 2013-11-23 19:37:24 +01:00
David Simon
92c61f928e Added three commands: show_path, status, diff 2013-11-23 19:37:24 +01:00
akahige
d3cb45f879 default castle name to constant 2013-11-23 19:37:24 +01:00
John Bellone
314e2932fb Update homesick.rb to make https default for GitHub clones.
If we use HTTPS it is a lot easier for corporate worlds to manage proxies since its usually already done for us. Also HTTPS cloning is just as fast as the git protocol as of more recent versions.
2013-11-23 19:37:24 +01:00
akahige
8ee5165ccf set default castle name: 'dotfiles' for some commands 2013-11-23 19:37:24 +01:00
muratayusuke
f8a6fb9ce2 follow Ruby Style Guide for some points 2013-11-23 19:37:23 +01:00
muratayusuke
1563814cb0 use single-quate if don't need double-quate 2013-11-23 19:36:37 +01:00
Fletcher Nichol
1518cb1155 Remove .git suffix on destination directory if URL ends with it.
For example, the following:

    homesick clone git://github.com/technicalpickles/pickled-vim.git

should produce a castle directory of:

    $HOME/.homesick/repos/pickled-vim
2013-11-23 19:36:37 +01:00
muratayusuke
c5b7dd2918 fix #35 2013-11-23 19:36:36 +01:00
muratayusuke
cc1ee544c3 move castle/home/.homesick_subdir to castle/.homesick_subdir 2013-11-23 19:36:36 +01:00
muratayusuke
06975f79f5 deal with edge case: the parent and descendant are both listed in the manifest 2013-11-23 19:36:36 +01:00
muratayusuke
830106a168 refactor symlink 2013-11-23 19:36:35 +01:00
muratayusuke
01934d5b00 replace .manifest to .homesick_subdir 2013-11-23 19:36:35 +01:00
muratayusuke
bba0e3ed7d support nested dir in .homesick_subdir 2013-11-23 19:36:35 +01:00
Eric West
7db0b13d30 refactor, cleanup and tweak 2013-11-23 19:36:35 +01:00
Eric West
b1c6c8f835 Handling edge cases
Covers only edge cases related to tracking, not yet
handling linking or updating. Getting a bit hairy,
must be refactored.
2013-11-23 19:36:35 +01:00
muratayusuke
7620f40cb2 symlink subdirs with .homesick_subdir 2013-11-23 19:36:34 +01:00
Eric West
cf9058be04 Track makes entries in .manifest
When a user tracks a file or directory that is in
a nested folder, Homesick creates a .manifest in the
user's castle (if there isn't one already) and adds
an entry listing the file or directory's parent
directory (if it isn't already listed).
2013-11-23 19:36:34 +01:00
Eric West
ccddbb1316 Track now properly traverses folder structure 2013-11-23 19:36:34 +01:00
Eric West
0c933c0085 Fixes glob to work with 2.0.0
homesick list fails on ruby 2.0.0-rc2, I think because they fixed this
bug: https://bugs.ruby-lang.org/issues/6977, changing the way recursive
globs work. Test case:

```ruby
require "homesick"
require "pathname"

repos = Homesick.new.send :repos_dir

Dir.glob("#{repos}/**/*/.git") # => []

Dir.glob("#{repos}/**/*/.git", File::FNM_DOTMATCH) # => ["/home/eric/.homesick/repos/dotfiles/.git"]

```
This change, however, then broke 1.9.3, but removing the extra "/*"
works on both 1.9 and 2.0.
2013-11-23 19:36:34 +01:00
Josh Nichols
107dec388e Fix git_clone to work with github URLs like https://github.com/technicalpickles/dotpickles 2013-11-23 19:36:33 +01:00
muratayusuke
1df44aea40 enable recursive submodule 2013-11-23 19:36:33 +01:00
Jason Buckner
3bc623be7c perform a git add when doing a homesick track 2013-11-23 19:36:33 +01:00
Jason Buckner
123e6cf82d splits up castle commit from castle push for more fine-grained control 2013-11-23 19:34:08 +01:00
Jason Buckner
5e9d134021 update documentation for naming consistency 2013-11-23 19:34:08 +01:00
Jason Buckner
f18a4dc16f add homesick push to readme, a placeholder test, and removed the all option from git push 2013-11-23 19:34:07 +01:00
Jason Buckner
9ac754fd40 start adding git push functionality 2013-11-23 19:34:07 +01:00
Jorge
2667053fde Making git repos uri non greedy so it works with uris with / 2013-11-23 19:34:07 +01:00
bcd
2d0304feb1 Git clone now uses config push.default upstream 2013-11-02 21:15:51 +01:00
mingkai
6cc28450a4 Change github-repo pattern to allow numbers for usernames/repos 2013-10-18 14:35:56 +02:00
bcd87
b750094934 Rake now passes on Ruby 1.8.7 on my machine 2013-09-24 08:15:56 +02:00
bcd87
aa95ffac82 Using the homesick clone github shortcut now clones to ~/.homesick/repos/repo/, in stead of ~/.homesick/repos/username/repo/ 2013-09-23 20:30:10 +02:00
Trae Robrock
a7d2d0a3f3 Add test for parens in filenames, and fixed 2013-09-18 09:25:09 -07:00
Yusuke Murata
e3bee69b27 Merge pull request #48 from trobrock/fix-homesickrc
Fix #19 homesickrc pathname needs a to_s to eval
2013-07-30 09:54:48 -07:00
Yusuke Murata
0ff5325e3e Merge pull request #43 from johnbellone/master
Default GitHub to use HTTPS protocol.
2013-07-21 10:47:31 -07:00
Trae Robrock
75dcad8ea4 Fix #19 homesickrc pathname needs a to_s to eval
Also, moved the file evaluation into a new function so the script can be
ran manually which should make testing these scripts easier.
2013-07-16 21:13:09 -07:00
Trae Robrock
4b38eb848f Add unlink functionality 2013-07-16 20:50:36 -07:00
muratayusuke
26ce289e9b add recursive option to 'homesick clone' 2013-07-01 16:35:19 +00:00
David Simon
a68149a87b Whoops, fixed typo 2013-06-26 14:34:43 -04:00
David Simon
8be3cdb6a0 Using DEFAULT_CASTLE_NAME in show_path, diff, status 2013-06-26 14:29:45 -04:00
David Simon
99760c27af Added three commands: show_path, status, diff 2013-06-25 16:11:08 -04:00
akahige
82ae128429 default castle name to constant 2013-06-24 00:44:17 +09:00
John Bellone
92dc611bb1 Update homesick.rb to make https default for GitHub clones.
If we use HTTPS it is a lot easier for corporate worlds to manage proxies since its usually already done for us. Also HTTPS cloning is just as fast as the git protocol as of more recent versions.
2013-06-21 09:45:26 -03:00
akahige
dbf333c971 set default castle name: 'dotfiles' for some commands 2013-06-21 14:02:50 +09:00
muratayusuke
21cbb2c697 follow Ruby Style Guide for some points 2013-06-19 17:21:24 +00:00
muratayusuke
37b55bf934 use single-quate if don't need double-quate 2013-06-19 16:23:00 +00:00