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
Thilko Richter
54b2b9b339
correct typo
2012-09-06 21:23:45 +02:00
Thilko Richter
fede78c337
cleanup correctly
2012-09-06 21:12:31 +02:00
Thilko Richter
8a41dca46d
destroy action implemented
2012-09-06 07:38:54 +02: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
Jacob Atzen
f9c351f941
Handle cloning of uri's based on ssh aliases like host:repos
2010-08-17 10:14:19 +02:00
Jacob Atzen
0440cd672d
Don't try to clone uri's without a corresponding destination
...
The code throws the exception
undefined method `join' for nil:NilClass
if destionation doesn't exist - so it's better to not call git_clone if
destination is not present.
2010-08-17 10:12:59 +02:00
Joshua Nichols
3efee55f03
Fix listing of github-style cloned repos.
2010-05-18 20:42:45 -04:00
Joshua Nichols
f0c67f9653
Merge remote branch 'Sutto/master'
2010-05-18 20:25:53 -04:00
Jorge Dias
94975b49e7
Changed update to pull to match git commands
2010-05-02 19:14:16 +02:00
Jorge Dias
95d22951b3
Implemented update action for castle
2010-04-09 19:02:43 +02:00
Joshua Nichols
c9399064e0
First pass at castle generator task.
2010-04-08 01:05:34 -04:00
Joshua Nichols
a798f3c562
Add a better error message when a repo's home doesn't exist.
2010-04-02 00:53:17 -04:00
Joshua Nichols
c0797dd607
Cloning will now try to init and update git submodules, if they exist.
2010-04-01 21:59:15 -04:00
Joshua Nichols
9a22513ba4
Allow symlinking existing directories into repos, instead of cloning.
2010-04-01 21:19:25 -04:00
Joshua Nichols
5ac2a0739a
Clone github repos into username/repo instead of username_repo, for more consistent use with symlink.
2010-04-01 21:08:36 -04:00
Joshua Nichols
923c634377
Misc cleanup
2010-04-01 21:04:06 -04:00