85 Commits

Author SHA1 Message Date
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
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
Fletcher Nichol
024856e538 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-06-16 10:47:53 -06:00
muratayusuke
e530df7239 fix #35 2013-06-09 23:10:21 +00:00
muratayusuke
360e8185f7 move castle/home/.homesick_subdir to castle/.homesick_subdir 2013-06-06 12:39:41 +00:00
muratayusuke
8e58a3f5e2 deal with edge case: the parent and descendant are both listed in the manifest 2013-06-04 17:36:47 +00:00
muratayusuke
a95c4b2446 refactor symlink 2013-06-03 18:17:38 +00:00
muratayusuke
3559d825ca replace .manifest to .homesick_subdir 2013-05-27 18:08:09 +00:00
muratayusuke
2d54086d89 Merge remote-tracking branch 'edubkendo/nested_dirs' into feature/merge_directory 2013-05-27 16:13:31 +00:00
muratayusuke
c31c67a3eb support nested dir in .homesick_subdir 2013-05-26 17:12:28 +00:00
Eric West
e924cbefda refactor, cleanup and tweak 2013-05-24 21:57:12 -05:00
Eric West
6867ef78dc Handling edge cases
Covers only edge cases related to tracking, not yet
handling linking or updating. Getting a bit hairy,
must be refactored.
2013-05-24 16:24:42 -05:00
muratayusuke
a76d09d3f6 symlink subdirs with .homesick_subdir 2013-05-24 17:40:35 +00:00
Eric West
b93eea0e24 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-05-24 07:52:54 -05:00
Eric West
49e4d2844b Track now properly traverses folder structure 2013-05-20 19:11:48 -05:00
Eric West
7cbbf2bdd7 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-05-17 02:37:44 -05:00
muratayusuke
af950d042a fix merge miss 2013-03-29 01:58:35 +09:00
muratayusuke
23ae908e7d Merge remote-tracking branch 'jbuckner/track-git_add' into local
Conflicts:
	lib/homesick/actions.rb
2013-03-29 01:57:07 +09:00
Yusuke Murata
38ffaca8cc Merge pull request #11 from diasjorge/master
Fixing issues with uris that contain  and submodules
2013-03-28 08:48:18 -07:00
Yusuke Murata
b0bde0eb44 Merge pull request #26 from jbuckner/castle_push
Castle Commit & Push
2013-03-28 08:23:45 -07:00
Yusuke Murata
763cf8aa0a Merge pull request #28 from muratayusuke/enable_recursive_submodule
yeah merged :)
2013-03-28 08:01:24 -07:00
Josh Nichols
376fd88fc9 Fix git_clone to work with github URLs like https://github.com/technicalpickles/dotpickles 2012-12-09 15:33:15 -05:00
muratayusuke
fca23274bf enable recursive submodule 2012-12-06 20:10:18 +09:00
Jason Buckner
27d038512c perform a git add when doing a homesick track 2012-11-24 23:56:12 -08:00
Jason Buckner
d8291edae0 splits up castle commit from castle push for more fine-grained control 2012-11-24 23:18:48 -08:00
Jason Buckner
e6c0ac91cd update documentation for naming consistency 2012-11-24 22:56:17 -08:00
Jason Buckner
38a43ba7ff add homesick push to readme, a placeholder test, and removed the all option from git push 2012-11-24 21:24:41 -08:00
Jason Buckner
ca832a38e2 start adding git push functionality 2012-11-24 21:01:37 -08:00
Jacob Buys
a141f9cbbd Fix test that fails on 1.9 due to behaviour of String#start_with?
On ruby 1.9, the argument of String#start_with? does not automatically
get coerced into a string. In Homesick#clone, we use start_with? with a
Pathname instance, which now always returns false.
2012-05-30 22:53:00 +02:00
Jacob Buys
9ced2921d9 Fix overriding existing symlinks that point to directories. 2011-08-23 22:04:00 +02:00
Jacob Buys
f1a02b8afa Added support for linking non-dotfiles. 2011-08-21 22:22:23 +02:00
Jacob Buys
4fa7ce416b Made specs for list pass, refactored track to use given_castle. 2011-08-21 22:04:57 +02:00
Jorge Dias
bfd83f2e87 Merge branch 'master' of git://github.com/technicalpickles/homesick 2011-05-31 14:09:35 +02:00
Josh Nichols
e19617be2f Don't try to symlink a castle to itself. Fixes #14 2011-05-30 21:04:41 -04:00
Ilkka Laukkanen
c3999f92b1 Print each castle's name when pulling all castles 2011-04-27 21:51:08 +03:00
Ilkka Laukkanen
c3f6bef152 Don't treat git repos in other repos as castles
Further abstracted locating castles into Homesick.all_castles which globs as
before, but after that rejects any paths that lie in other paths. This way
castles that have submodules don't cause extra output in e.g. list.
2011-04-27 21:39:02 +03:00
Ilkka Laukkanen
c870bfe442 Add --all option to pull to update all castles
Abstracted the logic for doing some operation for all castles into
Homesick.inside_each_castle() which takes a block argument. Homesick.list() is
also reimplemented to use this new method, because that's where the logic was
stolen from. The actual updating is also moved to the private method
update_castle() to make pull() shorter.
2011-04-27 21:01:29 +03:00
Joshua Nichols
6209080e0c Remove debug code. 2010-11-13 13:57:55 -06:00
Jorge
38b40c0f50 Making git repos uri non greedy so it works with uris with / 2010-10-30 21:31:59 +02:00
Joshua Nichols
8dbd5a9b21 Spiked homesickrc support. Create a .homesickrc in a castle, and you will be prompted to eval it at clone. Runs in castle directory, and runs in the context of a Homesick instance 2010-10-27 10:09:24 -04:00
Joshua Nichols
f82dc905a2 Tweaks to track. Don't add & commit newly tracked file. Also fix tests to not be spitting out to stdout. 2010-10-27 08:38:30 -04:00
Joshua Nichols
bfbabc05d5 Removing copy-pasta 2010-10-27 08:38:30 -04:00
j.c.sackett
58767454b3 Added track command.
* Moves a specified file into the specified castle.
* Symlinks it into its original position.

Signed-off-by: Joshua Nichols <josh@technicalpickles.com>
2010-10-27 08:37:56 -04:00
Joshua Nichols
3f26a74c71 Use || instead of or 2010-09-03 18:49:49 -04:00
Mathieu Sauve-Frankel
1041cb5160 make homesick symlink respect the force option
Signed-off-by: Joshua Nichols <josh@technicalpickles.com>
2010-09-03 18:49:25 -04:00