Giter Club home page Giter Club logo

dandelion's People

Contributors

7twelve avatar ahamid avatar bxbd avatar codewrangler77 avatar davidosomething avatar diegocastro avatar dphoyes avatar friedman101 avatar grappler avatar hypernova2002 avatar kurtf avatar mallinkbird avatar mediaformat avatar nickmccurdy avatar sanzaru avatar scttnlsn avatar steveedson avatar thelonelyghost avatar thomasdarde avatar tommarshall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dandelion's Issues

FTP deploy error: 553 Can't open that file: Permission denied (Net::FTPPermError)

I just installed dandelion via gem install dandelion on Mountain Lion and set up the config file like this (example.com is of course a placeholder for pasting it here):

# Required
scheme: ftp
host: example.com
username: test
password: test

# Optional
exclude:
    - .gitignore
    - dandelion.yml
    - .htaccess
revision_file: .revision

After running dandelion deploy from the repositories' folder, trying to deploy to an empty folder via FTP, I got the following error that I wasn't able to diagnose and/or fix on my own:

Connecting to ftp://[email protected]/
Remote revision:      ---
Deploying revision:   9d2137141b4cadc78e500433565eac02477a2952
Skipping file: .gitignore
Skipping file: .htaccess
Uploading file: webseite.swf
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:243:in `getresp': 553 Can't open that file: Permission denied (Net::FTPPermError)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:264:in `sendcmd'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:262:in `sendcmd'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:321:in `transfercmd'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:452:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:450:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:562:in `putbinaryfile'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/backend/ftp.rb:38:in `write'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/backend.rb:49:in `temp'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/backend/ftp.rb:33:in `write'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:138:in `deploy'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:133:in `each'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:133:in `deploy'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/command/deploy.rb:50:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:38:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/command.rb:92:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:36:in `new'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:36:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:7:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/dandelion:7
    from /usr/bin/dandelion:23:in `load'
    from /usr/bin/dandelion:23

I'd appreciate any help in pointing me towards a solution.

Error when deploying files from different repo

edit: My description wasn't fully complete. I actually clone a base repo and change the remote. The files I add seem to have been in the base repo before. When I clone the base repo, remove the git files and up them to a new remote I seem to have no troubles at all. It seems to have something to do with the cache or so, but running git rm -r --cached . brings no avail

Whenever I start a new repo and include / copy some files from another repo (mind you, only some files, not the whole repo, so it's not included as submodule) dandelion deploy throws out errors. As soon as I make a change in these files, commit, push them and deploy again, everything works fine. Also, if I fetch packages through other methods (composer) everything works without a problem. I've got several repo's up and running fine with Dandelion.

I can find no difference in ownership, group, file permissions or encoding in between these files, so any ideas what the problem could be?

This is one of the errors I get:

/Users/User/.rvm/gems/ruby-2.0.0-p353/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:135:in block (2 levels) in init_pack': pack /Applications/XAMPP/xamppfiles/htdocs/clients/test/.git/objects/pack/pack-8217a64738279ecde2f285bc96f324489b9ecc2e.pack has discontinuous index 1 (Grit::GitRuby::Internal::PackFormatError)`

Question about revisions

This isn't an issue per say but I was looking for some explanation on how the revision system ($ dandelion deploy <revision>) works. Does it only deploy the files changed in that specific commit or does it upload everything between the version Dandelion thinks the server is on and the revision?

My example workflow is that on a couple of sites I manage, someone else makes code changes on the server. When I work on the site, I download the entire site locally, commit the new changes, then make my changes, commit and upload. I'd like to have a way to tell Dandelion what commit the server is on so I can just run a deploy for my changes. Does that make sense?

Issue deploying with sftp to Godaddy

I'm deploying a repository to GoDaddy. I have my config file setup correctly as the deployment works for roughly 5 minutes and then the transfer log appears to timeout or go idle. Is there a setting I'm missing in my configuration?

Deploy specific branch

Would it possible to determine branch name which Dandelion will deploy to production? I understood that now it takes current HEAD that is determined to git repository and you need to switch the branch from the git repository before deploy to get branch you want to.

Not support exclude?

For some reason, I can't seem to deploy one of my repositories if there are excludes set. Once I remove them, it works fine. This is the error I'm getting:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 8, col 3: ` - .gitignore' (ArgumentError)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:133:in `load'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:144:in `load_file'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:143:in `open'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/yaml.rb:143:in `load_file'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/command.rb:89:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:36:in `new'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:36:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:7:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/dandelion:7
    from /usr/bin/dandelion:23:in `load'
    from /usr/bin/dandelion:23

Any ideas whats up? I just updated the gem to see if that fixed it but it didn't.

Support for multiple servers

I'm trying out dandelion for a situation where I only have FTP access to the server. Is there support for multiple servers - for example a STAGE and PRODUCTION server? If so, how to configure?

Error: could not generate diff

I'm attempting to use this with a WordPress installation on WPengine.
when running status or deploy with an sftp config I receive:

Error: could not generate diff
Try merging remote changes before running dandelion again

I'm working with their support team and they would like to know if there are specific permissions that need to be set on the .revision file in order for the diff to be generated?

Great tool for all other servers I've used it on so hoping to fit it into this workflow.

Regards,

Post-Deploy Commands

Would love the ability to run some additional commands after all the files are finished being pulled in/ updating. For instance, running composer install/update. Possible? I'd love to bake it in my self but I'm not a Ruby developer.

Dandelion on Windows :(

I know this isn't probably going to be super popular, but I work on both mac and windows platforms and I want to be able to use Dandelion on both because it's awesome.

I used the Ruby for Windows installer and added the dev kit, but running dandelion deploy throws a TypeError.

C:\Users\Eric\Projects\simplyDone>ruby -v
ruby 1.9.3p327 (2012-11-10) [i386-mingw32]
C:\Users\Eric\Projects\simplyDone>gem -v
1.8.24
C:\Users\Eric\Projects\simplyDone>dandelion -v
Dandelion 0.3.9
C:\Users\Eric\Projects\simplyDone>dandelion deploy
Connecting to ftp://[email protected]/simplydone
C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:162:in `spawn': can't convert nil into String (TypeError)
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:162:in `spawn'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:307:in `popen4'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn/child.rb:105:in `exec!'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn/child.rb:80:in `initialize'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git.rb:345:in `new'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git.rb:345:in `native'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git.rb:372:in `method_missing'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git-ruby.rb:110:in `rev_parse'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git-ruby.rb:66:in `rev_list'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/commit.rb:120:in `find_all'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/repo.rb:427:in `commit'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/git.rb:57:in `initialize'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:23:in `new'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:23:in `initialize'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:72:in `initialize'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:12:in `new'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:12:in `create'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/command.rb:122:in `deployment'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/command/deploy.rb:30:in `execute'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/application.rb:38:in `block in execute'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/command.rb:92:in `initialize'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/application.rb:36:in `new'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/application.rb:36:in `execute'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/lib/dandelion/application.rb:7:in `execute'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.9/bin/dandelion:7:in `<top (required)>'
    from C:/Ruby193/bin/dandelion:23:in `load'
    from C:/Ruby193/bin/dandelion:23:in `<main>'

I don't know really understand the runtime so I'm not sure where to look for cracks. I'm sure it's in my setup of the ruby for windows thing, but who knows. I understand if you want to close this as not your issue :)

Incorrectly handles symlinks

Symbolic links in the repository are uploaded as plain text files, rather than being created as working symlinks.

Trying to install using gems throws error

Hi there,
I tried installing dandelion using gem install dandelion and it threw an error. Im using Ruby 1.9.3-p194 and rvm

     Building native extensions.  This could take a while...
     ERROR:  Error installing dandelion:
     ERROR: Failed to build gem native extension.

    /Users/Sam/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
   creating Makefile

   make
   sh: make: command not found

Login error if ftp password begins with: !

When trying to deploy using a FTP password that begins with !
the following error occurs:

/Users/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/net/ftp.rb:432:in `block in login': 331 Please specify the password. (Net::FTPReplyError)
    from /Users/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
    from /Users/user/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/net/ftp.rb:429:in `login'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/backend/ftp.rb:13:in `initialize'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/backend.rb:24:in `new'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/backend.rb:24:in `create'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/command.rb:103:in `backend'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/command.rb:119:in `deployment'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/command/deploy.rb:30:in `execute'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/application.rb:38:in `block in execute'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/command.rb:92:in `initialize'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/application.rb:36:in `new'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/application.rb:36:in `execute'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/lib/dandelion/application.rb:7:in `execute'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/gems/dandelion-0.3.12/bin/dandelion:7:in `<top (required)>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/bin/dandelion:23:in `load'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/bin/dandelion:23:in `<main>'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:14:in `eval'
    from /Users/user/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:14:in `<main>'

Error with all commands

Hi!

Thanks for creating and sharing this tool, should be very useful if I could get it to work.
I'm looking at an error generated with every command I try (both deploy and status). Maybe I did something wrong but the error is not very informative.

This is my dandelion.yml:

scheme: ftp
host: mysite.nl
username: myname
password: mypass
path: domains/mysite.nl/public_html/mysite
exclude:
    - .gitignore
    - dandelion.yml

After typing >dandelion status, this is the error I get:

Connecting to ftp://[email protected]/domains/mysite.nl/public_html/mysite
C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:290:in 'spawn': can't convert nil into String (TypeError)
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:290:in 'spawn'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:271:in 'popen4'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:97:in 'exec!'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/process.rb:68:in 'initialize'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git.rb:301:in 'new'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git.rb:301:in 'native'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git.rb:325:in 'method_missing'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git-ruby.rb:108:in 'rev_parse'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/git-ruby.rb:64:in 'rev_list'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/commit.rb:121:in 'find_all'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/grit-2.4.1/lib/grit/repo.rb:406:in 'commit'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/git.rb:57:in 'initialize'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/deployment.rb:23:in 'new'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/deployment.rb:23:in 'initialize'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/deployment.rb:72:in 'initialize'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/deployment.rb:12:in 'new'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/deployment.rb:12:in 'create'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/command.rb:109:in 'deployment'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/command/status.rb:15:in 'execute'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/application.rb:38:in 'block in execute'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/command.rb:80:in 'initialize'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/application.rb:36:in 'new'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/application.rb:36:in 'execute'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/lib/dandelion/application.rb:7:in 'execute'
    from C:/Ruby/lib/ruby/gems/1.9.1/gems/dandelion-0.3.4/bin/dandelion:7:in '<top (required)>'
    from C:/Ruby/bin/dandelion:19:in 'load'        from C:/Ruby/bin/dandelion:19:in '<main>'

I know I'm getting access to the server, because I had the no-access error earlier (typo in settings).
I'm on Windows 7, 32 bit and I use the latest versions of Git and Ruby.
If you need more information, please ask.

Error deploying WordPress

I am trying to deploy my local WordPress install to the remove server for the first time and getting the error below. I was able to push another local site that was HTML only to the same server with no issues.

Remote revision: ---
Deploying revision: eb35e574cfa310d24c83661105db0e34f4363efd
Skipping file: .gitignore
Uploading file: wp-content/plugins/akismet/admin.php
Uploading file: wp-content/plugins/akismet/akismet.css
/Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:135:in block (2 levels) in init_pack': pack /Users/clreed87/Dropbox/Websites/Development/Source/DallasSportsRant/.git/objects/pack/pack-3c799ed99f49366a07dc4cbfe8420ee6ea5cabf6.pack has discontinuous index 1 (Grit::GitRuby::Internal::PackFormatError) from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:132:intimes'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:132:in block in init_pack' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:73:inwith_idx'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:130:in init_pack' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/pack.rb:46:ininitialize'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:763:in new' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:763:inblock (2 levels) in load_packs'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:761:in each' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:761:inblock in load_packs'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:760:in open' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:760:inload_packs'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:743:in initpacks' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:89:inget_raw_object_by_sha1'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:105:in get_object_by_sha1' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:155:incat_file'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:26:in block in cat_file' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:211:inblock in try_run'
from /Users/clreed87/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/timeout.rb:82:in block in timeout' from /Users/clreed87/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/timeout.rb:70:incatch'
from /Users/clreed87/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/timeout.rb:70:in timeout' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:210:intry_run'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:26:in cat_file' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/grit-2.5.0/lib/grit/blob.rb:43:indata'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/git.rb:83:in show' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:154:inblock in deploy'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:150:in each' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:150:indeploy'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/command/deploy.rb:50:in execute' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/application.rb:38:inblock in execute'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/command.rb:92:in initialize' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/application.rb:36:innew'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/application.rb:36:in execute' from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/lib/dandelion/application.rb:7:inexecute'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/gems/dandelion-0.3.14/bin/dandelion:7:in <top (required)>' from /Users/clreed87/.rvm/gems/ruby-2.1.0/bin/dandelion:23:inload'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/bin/dandelion:23:in <main>' from /Users/clreed87/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:ineval'
from /Users/clreed87/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `

'

Quiet parameter

Is there a possibility to add a quite parameter?
So that there is no output of every single file while uploding?

Ruby 2.0 support

Getting this error when I run dandelion deploy. I have the dandelion.yml file within my project root. Currently on ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.3.0] I also have grit 2.5.0 I found a similar error to mine on this issue referencing grit compatibility with ruby 2.0.0 https://github.com/gitlabhq/gitlabhq/issues/3244

Connecting to sftp://[email protected]/.mysubdomainname.grayghostvisuals.com
/Users/grayghostvisuals/.rvm/gems/ruby-2.0.0-p0/gems/grit-2.5.0/lib/grit/git-ruby/internal/loose.rb:108:in `unpack_object_header_gently': undefined method `>>' for "x":String (NoMethodError)```

License missing from gemspec

Some companies will only use gems with a certain license.
The canonical and easy way to check is via the gemspec,

via e.g.

spec.license = 'MIT'
# or
spec.licenses = ['MIT', 'GPL-2']

Even for projects that already specify a license, including a license in your gemspec is a good practice, since it is easily
discoverable there without having to check the readme or for a license file. For example, it is the field that rubygems.org uses to display a gem's license.

For example, there is a License Finder gem to help companies ensure all gems they use
meet their licensing needs. This tool depends on license information being available in the gemspec. This is an important enough
issue that even Bundler now generates gems with a default 'MIT' license.

If you need help choosing a license (sorry, I haven't checked your readme or looked for a license file), github has created a license picker tool.

In case you're wondering how I found you and why I made this issue, it's because I'm collecting stats on gems (I was originally looking for download data) and decided to collect license metadata,too, and make issues for gemspecs not specifying a license as a public service :).

I hope you'll consider specifying a license in your gemspec. If not, please just close the issue and let me know. In either case, I'll follow up. Thanks!

p.s. I've written a blog post about this project

undefined method tree

I'm on OS X 10.6 connecting to a ftp server on a local linux box.
Here is my dandelion.yml:

scheme: ftp
host: 192.168.10.100
username: "ftpuser"
password: "1234"
path: Download/
exclude:

  • dandelion.yml

When I issue "dandelion deploy" or "dandelion status" I always get this message:

Connecting to: ftp://[email protected]/Download/
/Users/microspino/.rvm/gems/ruby-1.9.2-p180/gems/dandelion-0.2.3/lib/dandelion/git.rb:57:in initialize': undefined methodtree' for nil:NilClass (NoMethodError)

Any clue?

dandelion deploy error

Had my eye on this for a while and got this error when I tried my first deploy:

/Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:in initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:inopen'
from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:in initialize' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:53:intimeout'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:101:in timeout' from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:ininitialize'
from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh.rb:186:in new' from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh.rb:186:instart'
from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp.rb:31:in start' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/backend/sftp.rb:17:ininitialize'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/backend.rb:24:in new' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/backend.rb:24:increate'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/command.rb:91:in backend' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/command.rb:107:indeployment'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/command/deploy.rb:30:in execute' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/application.rb:38:inexecute'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/command.rb:80:in initialize' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/application.rb:36:innew'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/application.rb:36:in execute' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/../lib/dandelion/application.rb:7:inexecute'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.6/bin/dandelion:7
from /usr/bin/dandelion:23:in `load'
from /usr/bin/dandelion:23

Issue on Windows 8

Hi,

I followed your guide but I have not been able to get it to work this is this what I get.

I:\Work\GitHub\responsive>dandelion status
Connecting to ftp://[email protected]/public_html/cyberchimps/wp-content/themes/responsive/
C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162:in`spawn': can't convert nil into String (TypeError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:162:in `spawn'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn.rb:312:in `popen4'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn/child.rb:105:in `exec!'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.8/lib/posix/spawn/child.rb:80:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git.rb:345:in `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git.rb:345:in `native'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git.rb:372:in `method_missing'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git-ruby.rb:110:in `rev_parse'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/git-ruby.rb:66:in `rev_list'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/commit.rb:120:in `find_all'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/grit-2.5.0/lib/grit/repo.rb:427:in `commit'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/git.rb:67:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:23:in `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:23:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:82:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:12:in `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/deployment.rb:12:in `create'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/command.rb:131:in `deployment'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/command/status.rb:15:in `execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/application.rb:38:in `block in execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/command.rb:92:in `initialize'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/application.rb:36:in `new'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/application.rb:36:in `execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/lib/dandelion/application.rb:7:in `execute'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dandelion-0.3.14/bin/dandelion:7:in `<top (required)>'
        from C:/Ruby193/bin/dandelion:23:in `load'
        from C:/Ruby193/bin/dandelion:23:in `<main>'

Do you have any suggestions how I can make this work?

Thanks,

Error : `show': undefined method

Hi, I get this error message
Any hint ?

Ruby : 1.9.3-p448
rbenv : 0.4.0
rubygem : 1.8.23
dandelion : 0.3.12
net-sftp installed

MacBook-Pro-de-Vivien:local.blog.viviengarcia.com vivien$ dandelion deploy      Connecting to sftp://[login]@[host]
Remote revision:      ---
Deploying revision:   3965ccce60024639720319e66889cb9994e00c0c
/Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/git.rb:81:in `show': undefined method `data' for nil:NilClass (NoMethodError)
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/deployment.rb:154:in `block in deploy'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/deployment.rb:150:in `each'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/deployment.rb:150:in `deploy'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/command/deploy.rb:50:in `execute'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/application.rb:38:in `block in execute'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/command.rb:92:in `initialize'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/application.rb:36:in `new'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/application.rb:36:in `execute'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/lib/dandelion/application.rb:7:in `execute'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dandelion-0.3.12/bin/dandelion:7:in `<top (required)>'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/bin/dandelion:23:in `load'
    from /Volumes/Data/vivien/.rbenv/versions/1.9.3-p448/bin/dandelion:23:in `<main>'

Deploying with repos that have many remote branches is slow

Here you're calling git remote show origin to detect unpushed commits as part of the validation before deployment.

We have repo with 130~ remote branches (I'm tracking about 10 locally) with 6500+ commits and this command is incredible slow to run (2min 43sec). Is there another, faster way to detect this?

Error During Initial Deploy via FTP (Connection refused - connect(2))

Attempting the first deploy using FTP on a client's site, I get the following error:

Connecting to:    ftp://xxx@xxxxx/public_html
~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/ftp.rb:159:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
from ~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/ftp.rb:159:in `open'
from ~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/ftp.rb:159:in `open_socket'
from ~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/ftp.rb:314:in `transfercmd'
from ~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/ftp.rb:404:in `retrbinary'
from ~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from ~/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/ftp.rb:402:in `retrbinary'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/backend/ftp.rb:24:in `read'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/deployment.rb:120:in `read_remote_revision'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/deployment.rb:67:in `initialize'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/deployment.rb:12:in `new'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/deployment.rb:12:in `create'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/cli.rb:156:in `deployment'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/cli.rb:123:in `execute'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/../lib/dandelion/cli.rb:105:in `execute'
from ~/.rvm/gems/ree-1.8.7-2011.03/gems/dandelion-0.2.2/bin/dandelion:7
from ~/.rvm/gems/ree-1.8.7-2011.03/bin/dandelion:19:in `load'
from ~/.rvm/gems/ree-1.8.7-2011.03/bin/dandelion:19

Connecting manually via Net::FTP works fine. Sorry that I don't have more info for you.

Crash when exclude config isn't set

Dandelion crashes on deploy when the exclude config parameter is not set

/Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:60:in `exclude_file?': undefined method `map' for nil:NilClass (NoMethodError)
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:94:in `block in deploy_changed'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:93:in `each'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:93:in `deploy_changed'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:82:in `deploy'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/command/deploy.rb:50:in `execute'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/application.rb:38:in `block in execute'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/command.rb:80:in `initialize'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/application.rb:36:in `new'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/application.rb:36:in `execute'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/lib/dandelion/application.rb:7:in `execute'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/gems/dandelion-0.3.7/bin/dandelion:7:in `<top (required)>'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/bin/dandelion:19:in `load'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/bin/dandelion:19:in `<main>'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/maggo/.rvm/gems/ruby-1.9.3-p286/bin/ruby_noexec_wrapper:14:in `<main>'

SFTP Deployment

I love this tool!

I am having a little trouble with SFTP deployment. I get all types of gem errors. Any tips? I have installed the net-sftp gem as it suggested.

Doesn't work with Ruby 2.0

Following the stack trace:

/Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/loose.rb:108:in unpack_object_header_gently': undefined method>>' for "x":String (NoMethodError)
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/loose.rb:56:in get_raw_object' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/internal/loose.rb:32:in[]'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:84:in block in get_raw_object_by_sha1' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:83:ineach'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:83:in get_raw_object_by_sha1' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:334:inwalk_log'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:287:in log' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby/repository.rb:306:inrev_list'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:70:in block in rev_list' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:211:inblock in try_run'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/timeout.rb:65:in timeout' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:210:intry_run'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/git-ruby.rb:70:in rev_list' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/commit.rb:120:infind_all'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/grit-2.5.0/lib/grit/repo.rb:427:in commit' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/git.rb:57:ininitialize'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/deployment.rb:23:in new' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/deployment.rb:23:ininitialize'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/deployment.rb:70:in initialize' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/deployment.rb:12:innew'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/deployment.rb:12:in create' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/command.rb:122:indeployment'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/command/deploy.rb:30:in execute' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/application.rb:38:inblock in execute'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/command.rb:92:in initialize' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/application.rb:36:innew'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/application.rb:36:in execute' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/lib/dandelion/application.rb:7:inexecute'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/dandelion-0.3.10/bin/dandelion:7:in <top (required)>' from /Users/victorcoder/.rbenv/versions/2.0.0-p0/bin/dandelion:23:inload'
from /Users/victorcoder/.rbenv/versions/2.0.0-p0/bin/dandelion:23:in <main>'

Can't convert Hash into Integer (TypeError)

Hi,

Im trying to adopt Dandelion for my project deployments.
Yesterday i've made some deployments successfully but today im getting this error:

Connecting to (I REMOVED THE SERVER INFO THAT WAS HERE)
/Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/session.rb:830:in initialize': can't convert Hash into Integer (TypeError) from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/session.rb:830:inopen'
from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/session.rb:830:in send' from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/session.rb:830:inrequest'
from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/session.rb:182:in open' from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/session.rb:191:inopen!'
from /Library/Ruby/Gems/1.8/gems/net-sftp-2.0.5/lib/net/sftp/operations/file_factory.rb:40:in open' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/backend/sftp.rb:22:inread'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/deployment.rb:126:in read_remote_revision' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/deployment.rb:73:ininitialize'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/deployment.rb:12:in new' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/deployment.rb:12:increate'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/command.rb:110:in deployment' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/command/status.rb:15:inexecute'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/application.rb:38:in execute' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/command.rb:80:ininitialize'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/application.rb:36:in new' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/application.rb:36:inexecute'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/../lib/dandelion/application.rb:7:in execute' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.8/bin/dandelion:7 from /usr/bin/dandelion:19:inload'
from /usr/bin/dandelion:19

Am I missing something?

Cheers,

...lib/dandelion/git.rb:67:in `show': undefined method `data' for nil:NilClass (NoMethodError)

I'm not sure at what point in the uploading process this happened but it did go through a lot of files before this error happened.

Any ideas?

/usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/git.rb:67:in `show': undefined method `data' for nil:NilClass (NoMethodError)
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:140:in `block in deploy'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:135:in `each'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/deployment.rb:135:in `deploy'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/command/deploy.rb:50:in `execute'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/application.rb:38:in `block in execute'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/command.rb:92:in `initialize'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/application.rb:36:in `new'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/application.rb:36:in `execute'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/lib/dandelion/application.rb:7:in `execute'
    from /usr/local/Cellar/gems/gems/dandelion-0.3.9/bin/dandelion:7:in `<top (required)>'
    from /usr/local/Cellar/gems/bin/dandelion:23:in `load'
    from /usr/local/Cellar/gems/bin/dandelion:23:in `<main>'

Error installing Dandelion

I keep getting this error when installing dandelion:

ERROR: Error installing dandelion:
ERROR: Failed to build gem native extension.

/Users/paul/.rvm/rubies/ruby-1.9.3-p429/bin/ruby extconf.rb

creating Makefile

I have XCode installed on the machine. Any hints?

Invalid argument (Errno::EINVAL)

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:456:in `write': Invalid argument (Errno::EINVAL)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:456:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:453:in `loop'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:453:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:450:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:562:in `putbinaryfile'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/backend/ftp.rb:35:in `write'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/backend.rb:49:in `temp'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/backend/ftp.rb:33:in `write'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/deployment.rb:98:in `deploy_changed'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/deployment.rb:93:in `each'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/deployment.rb:93:in `deploy_changed'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/deployment.rb:82:in `deploy'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/command/deploy.rb:50:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/application.rb:38:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/command.rb:80:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/application.rb:36:in `new'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/application.rb:36:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/../lib/dandelion/application.rb:7:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.5/bin/dandelion:7
    from /usr/bin/dandelion:19:in `load'
    from /usr/bin/dandelion:19```

Error Trying to Deploy

Hi there,

I'm getting this error when trying to deploy:

/Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/git.rb:58:in `initialize': Dandelion::Git::RevisionError (Dandelion::Git::RevisionError)
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/deployment.rb:23:in `new'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/deployment.rb:23:in `initialize'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/deployment.rb:72:in `initialize'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/deployment.rb:12:in `new'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/deployment.rb:12:in `create'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/command.rb:122:in `deployment'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/command/status.rb:15:in `execute'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/application.rb:38:in `execute'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/command.rb:92:in `initialize'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/application.rb:36:in `new'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/application.rb:36:in `execute'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/../lib/dandelion/application.rb:7:in `execute'
        from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.9/bin/dandelion:7
        from /usr/bin/dandelion:19:in `load'
        from /usr/bin/dandelion:19

I've tried changing config options and recreating my repo but nothing is working. Any ideas?

Thanks,
Jonah

auto deploy to live server

is it possible when changes are pushed to git repo, will automatically trigger dandelion to deploy the changes to live server?

thank you

Permission denied (Net::FTPPermError)

Hi,

Things have been going well in using dandelion to deploy from my GIT repo, but today I encountered a new issue while trying to deploy. While attempting to deploy a file (testhtaccess.txt) I get the following error:

Uploading file: testhtaccess.txt
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:243:in getresp': 550 testhtaccess.txt: Permission denied (Net::FTPPermError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:264:insendcmd'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in synchronize' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:262:insendcmd'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:321:in transfercmd' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:452:instorbinary'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in synchronize' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:450:instorbinary'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:562:in putbinaryfile' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/backend/ftp.rb:38:inwrite'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/backend.rb:49:in temp' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/backend/ftp.rb:33:inwrite'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:96:in deploy_changed' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:91:ineach'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:91:in deploy_changed' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/deployment.rb:80:indeploy'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/command/deploy.rb:50:in execute' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:38:inexecute'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/command.rb:92:in initialize' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:36:innew'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:36:in execute' from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/../lib/dandelion/application.rb:7:inexecute'
from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.10/bin/dandelion:7
from /usr/bin/dandelion:19:in `load'
from /usr/bin/dandelion:19

The permissions for this file are not particularly different than other files in the repository. As I'm reading the error message it seems as though it is being thrown by Ruby's FTP sendcmd. I'm not a ruby developer, so I don't know how to further debug.

Thanks,

Chris

Doesn't work with git submodules

When I have a git submodule in my repository, it seems that once dandelion gets to that folder, it just throws errors and quits.

Current work around is to put the submodule in the list of ignored files/folders (in dandelion.yml) and then create a separate dandelion.yml file and deploy the submodule separately.

It would be nice if dandelion could just copy the files from the submodule.

git bare repository

Is there a way to use Dandelion with git bare repository e.g. by giving config file an option which says is the current folder an bare repository or not? I understood that Dandelion only checks if current folder contains .git folder and takes git information from there.

dandelion catchup

It would be nice to have a function like git-ftp catchup where it uploads the .revision with the files already on the server. It would save a lot of time to implement dandelion with files already on the production server.

Doesn't Work with Media Temple Grid-Service Servers

I've tried many methods with no luck.

Due to the way the (gs) Grid-Service Server is configured, they use symlinks to connect certain directories.

The .home directory has a symlink, which navigates two levels up and places you in /home/XXXXXX/domains. This symlink exists to maintain a connection between certain (gs) Grid-Service Server services.

Here are all the paths I've tried with no such luck using dandelion deploy. I've also included my dandelion.yml settings file.

Try #1 - Full Root Path
nfs/cXX/home/mnt/home/XXXXXX/domains/sub-domain.grayghostvisuals.com/html/

Result:
This puts everything in a "home" directory within my ".home" directory

Try #2
home/XXXXXX/domains/sub-domain.grayghostvisuals.com/html/

Result:
This puts everything in a "home" directory within my ".home" directory

Try #3
home/XXXXXX/users/.home/domains/sub-domain.grayghostvisuals.com/html/

Result:
This puts everything in a "home" directory within my ".home" directory

dandelion.yml

# Required
# --------

scheme: sftp
host: sXXXXXX.gridserver.com
username: XXXXXXXXXXX
password: XXXXXXXXXXX

# Optional
# --------
# Remote path
path: home/XXXXXX/users/.home/domains/sub-domain.grayghostvisuals.com/html/
port: 22

# These files (from Git) will not be uploaded during a deploy
exclude:
    - .gitignore
    - dandelion.yml
    - new0513/

spawn: can't convert nil into string

hello,
I just installed dandelion but I get an error everytime I try to connect:
....Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/lib/posix/spawn.rb:162:in `spawn': can't convert nil into string

I'm on a windows 7 machine with a fresh version of ruby and dandelion 0.3.8. I guess is not really a dandelion problem but maybe someone can help me.

Thanks a lot for any support.

SSH Deployment

Would you consider writing a script for deployment using SSH?

Set the folder to deploy

Hey there,

I would love to know if it's possible to set the folder/path that you want to upload.
For example, I've this structure of folder:

.git
dandelion.yml
/frontend
   /deploy
   /source
/backend

So I just want to upload what's inside the frontend/deploy to my ftp, but the structure on my ftp is not the same, it's just the public_html folder.

Maybe if you could have a setting similar to the path, but where you would set the local folder to upload.

The dandelion would look like this:

# Required
scheme: ftp
host: ftp.example.com
username: user
password: pass

# Optional
folder: frontend/deploy
path: public_html

Is it possible? Or there's any other way around to do this?

requiring net-sftp gem

After updating Dandelion to last version i get the following when running the deploy:

The 'sftp' scheme requires additional gems:
net-sftp
Please install the gems: gem install net-sftp

I've already installed it but i still get the same.
It's my fault?

Error during initial deployment using FTP

Hi there,

Thanks for the great tool! I'm getting the following trying to deploy over FTP:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:456:in `write': Invalid argument (Errno::EINVAL)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:456:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:453:in `loop'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:453:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:450:in `storbinary'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/ftp.rb:562:in `putbinaryfile'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/backend/ftp.rb:33:in `write'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/backend.rb:49:in `temp'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/backend/ftp.rb:31:in `write'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/deployment.rb:140:in `deploy'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/deployment.rb:135:in `each'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/deployment.rb:135:in `deploy'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/command/deploy.rb:50:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/application.rb:38:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/command.rb:80:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/application.rb:36:in `new'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/application.rb:36:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/../lib/dandelion/application.rb:7:in `execute'
    from /Library/Ruby/Gems/1.8/gems/dandelion-0.3.1/bin/dandelion:7
    from /usr/bin/dandelion:19:in `load'
    from /usr/bin/dandelion:19

My settings are as follows:

# Required
scheme: ftp
host: ftp.myftp.com
username: myusername
password: mapass

# Optional
path: /mydomain.com/dev/
passive: false
exclude:
    - .gitignore
    - dandelion.yml
    - /wp-content/backup-db
    - /wp-content/bps-backup
    - /wp-content/w3tc

I get this with passive set to false or not.

Any ideas?

Thanks,
Jonah

Dandelion crashes when the name of a file it's moving contains certain special characters (over FTP)

Here's my deploy with the issue. This is my first deploy to this site (since deleting all its files), and it's over FTP. Previous deploys to this site without the problematic files worked perfectly.

~/Repos/folder_of_site_to_deploy master ✔ ➜ dandelion deploy
Connecting to [hidden]
Remote revision:      ---
Deploying revision:  [hidden]
[a lot of successful file transfers]
Uploading file: "a_bunch_of_directories/Cap\303\255tulo 5A vocabulary notes 2.doc"
/home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/git.rb:67:in `show': undefined method `data' for nil:NilClass (NoMethodError)
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:140:in `block in deploy'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:135:in `each'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/deployment.rb:135:in `deploy'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/command/deploy.rb:50:in `execute'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/application.rb:38:in `block in execute'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/command.rb:80:in `initialize'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/application.rb:36:in `new'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/application.rb:36:in `execute'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/lib/dandelion/application.rb:7:in `execute'
    from /home/nicolas/.gem/ruby/1.9.1/gems/dandelion-0.3.7/bin/dandelion:7:in `<top (required)>'
    from /home/nicolas/.gem/ruby/1.9.1/bin/dandelion:23:in `load'
    from /home/nicolas/.gem/ruby/1.9.1/bin/dandelion:23:in `<main>'

Filename of first problem file: Capítulo 5A vocabulary notes 2.doc

I'm guessing this is an issue with the accented i.

Atomic uploads

We have a problem where large files (that can take a few seconds to upload) get access by visitors whilst they are still being transferred to the server. e.g they get served a half uploaded CSS file and the site looks wrong.

Transmit on OSX gets around this by uploading the file using a temporary file name, then performs a rename it once it's fully uploaded.

Would it be possible to do something like this with dandelion? My Ruby knowledge isnt that strong but I can work on this feature if people want it. I imagine there'd need to be a config option to toggle it but should it be on or off by default?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.