scttnlsn / dandelion

Incremental Git repository deployment.
http://scttnlsn.github.io/dandelion
MIT License
738 stars 57 forks source link

dandelion status didn´t show needed gems #117

Closed BergBenji closed 9 years ago

BergBenji commented 9 years ago

HI,

i love dandelion but update is not possible.

If i use dandelion 0.3.11 with ruby 1.9.3 everything is working. Every dandelion version higher then 0.3.11 do nothing. Testet with: ruby 1.9.3 ruby 2.1.4 ruby 2.2.0

But if i update to a new version of dandelion nothing happens.

Here are the results:

$ dandelion -v
Usage: dandelion [options] <command> [<args>]
    -v, --version                    Dispay the current version
    -h, --help                       Display this help info
        --repo=[REPO]                Use the given repository
        --config=[CONFIG]            Use the given config file
        --log=[level]                Use the given log level (fatal, error, warn, info, debug)

Available commands:
    deploy
    init
    status

$ dandelion deploy --dry-run
Connecting to ftp://user@myftpserver/httpdocs/
Remote revision:    cc35f495ec99f01353e3f54fc330bb136bf28019
Deploying revision: 2908c9f50986da2344d3bd10fb10980afe8d54ca
Deploying changes...

$ dandelion deploy
Connecting to ftp://user@myftpserver/httpdocs/
Remote revision:    cc35f495ec99f01353e3f54fc330bb136bf28019
Deploying revision: 2908c9f50986da2344d3bd10fb10980afe8d54ca
Deploying changes...

The deploy only refreshs the .revision file nothing else.

Any idea?

Thanks much

scttnlsn commented 9 years ago

I noticed that the -v flag was not working properly and fixed that on master (no release yet).

Could you try running git diff cc35f495ec99f01353e3f54fc330bb136bf28019 2908c9f50986da2344d3bd10fb10980afe8d54ca to verify that there are indeed changes that need deploying?

Thanks!

BergBenji commented 9 years ago

HI, Git diff shows diffrent changes.

If i do the same with the "old" version, everything is working. (only need to change the rvm)

$ git diff cc35f495ec99f01353e3f54fc330bb136bf28019
diff --git a/test.php b/test.php
index f54977d..0e344bb 100644
--- a/test.php
+++ b/test.php
@@ -1,3 +1,5 @@
 <?php

-echo 'Hello';
\ No newline at end of file
+echo 'Hello';
+
+echo "TEST";
´´´´

Old Version: (ruby 1.9.3 + dandelion 0.3.11)
´´´
$ dandelion deploy --dry-run
Connecting to ftp:/MYHOST.de/httpdocs/
Remote revision:      cc35f495ec99f01353e3f54fc330bb136bf28019
Deploying revision:   2908c9f50986da2344d3bd10fb10980afe8d54ca
Uploading file: test.php
No additional files to deploy
Deployment complete
´´´

New Version: (ruby 2.2.0 + dandelion 0.4.9)
´´´
$ dandelion deploy --dry-run
Connecting to ftp:/MYHOST.de/httpdocs/
Remote revision:    cc35f495ec99f01353e3f54fc330bb136bf28019
Deploying revision: 2908c9f50986da2344d3bd10fb10980afe8d54ca
Deploying changes...
´´´
But nothing happens.
scttnlsn commented 9 years ago

@BergBenji I cannot reproduce this. Could you try running the following and paste the output here?

$ irb
require 'dandelion'
c = Dandelion::CLI.new([])
c.workspace.changeset.empty?
BergBenji commented 9 years ago

HI, sure.

Here the output:

$ irb
2.2.0 :001 > require 'dandelion'
 => true 
2.2.0 :002 >   c = Dandelion::CLI.new([])
 => #<Dandelion::CLI:0x007f8add23bfa8 @args=[], @options={:help=>false, :version=>false, :repo=>nil, :config=>nil}, @parser=#<OptionParser:0x007f8add23bf58 @stack=[#<OptionParser::List:0x007f8adc8a0ac0 @atype={Object=>[/.*/m, #<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>], NilClass=>[/.*/m, #<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>], String=>[/.+/m, #<Proc:0x007f8adc8a0098@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1664>], Integer=>[/\A[-+]?(?:0(?:[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*|x[\da-f]+(?:_[\da-f]+)*)?|\d+(?:_\d+)*)\z/i, #<Proc:0x007f8add0abdf0@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1677>], Float=>[/\A[-+]?(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:E[-+]?\d+(?:_\d+)*)?\z/i, #<Proc:0x007f8add0abb98@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1690>], Numeric=>[/\A([-+]?(?:0(?:[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*|x[\da-f]+(?:_[\da-f]+)*)?|(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:E[-+]?\d+(?:_\d+)*)?))(?:\/([-+]?(?:0(?:[0-7]+(?:_[0-7]+)*|b[01]+(?:_[01]+)*|x[\da-f]+(?:_[\da-f]+)*)?|(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:E[-+]?\d+(?:_\d+)*)?)))?\z/i, #<Proc:0x007f8add0ab8f0@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1697>], /\A[-+]?\d+(?:_\d+)*\z/i=>[/\A[-+]?\d+(?:_\d+)*\z/i, #<Proc:0x007f8add0ab6c0@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1709>], /\A[-+]?(?:[0-7]+(?:_[0-7]+)*|0(?:b[01]+(?:_[01]+)*|x[\da-f]+(?:_[\da-f]+)*))\z/i=>[/\A[-+]?(?:[0-7]+(?:_[0-7]+)*|0(?:b[01]+(?:_[01]+)*|x[\da-f]+(?:_[\da-f]+)*))\z/i, #<Proc:0x007f8add0ab440@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1722>], /\A[-+]?(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:E[-+]?\d+(?:_\d+)*)?\z/i=>[/\A[-+]?(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:E[-+]?\d+(?:_\d+)*)?\z/i, #<Proc:0x007f8add0ab3a0@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1735>], TrueClass=>[{"-"=>false, "no"=>false, "false"=>false, "+"=>true, "yes"=>true, "true"=>true, "nil"=>false}, #<Proc:0x007f8add0ab058@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1752>], FalseClass=>[{"-"=>false, "no"=>false, "false"=>false, "+"=>true, "yes"=>true, "true"=>true, "nil"=>false}, #<Proc:0x007f8add0aafb8@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1756>], Array=>[/.*/m, #<Proc:0x007f8add0aaf18@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1761>], Regexp=>[/\A\/((?:\\.|[^\\])*)\/([[:alpha:]]+)?\z|.*/, #<Proc:0x007f8add0aae78@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1771>]}, @short={"-"=>#<OptionParser::Switch::NoArgument:0x007f8adc8a09d0 @pattern=nil, @conv=nil, @short=nil, @long=nil, @arg=nil, @desc=nil, @block=#<Proc:0x007f8adc8a0980@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:786>>}, @long={""=>#<OptionParser::Switch::NoArgument:0x007f8adc8a08e0 @pattern=nil, @conv=nil, @short=nil, @long=nil, @arg=nil, @desc=nil, @block=#<Proc:0x007f8adc8a08b8@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:787>>}, @list=[]>, #<OptionParser::List:0x007f8add23bee0 @atype={}, @short={}, @long={"help"=>#<OptionParser::Switch::NoArgument:0x007f8add23bcd8 @pattern=nil, @conv=nil, @short=nil, @long=nil, @arg=nil, @desc=nil, @block=#<Proc:0x007f8add23bc88@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:817>>, "*-completion-bash"=>#<OptionParser::Switch::RequiredArgument:0x007f8add23bc38 @pattern=nil, @conv=nil, @short=nil, @long=nil, @arg=nil, @desc=nil, @block=#<Proc:0x007f8add23bbe8@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:828>>, "*-completion-zsh"=>#<OptionParser::Switch::OptionalArgument:0x007f8add23bb98 @pattern=nil, @conv=nil, @short=nil, @long=nil, @arg=nil, @desc=nil, @block=#<Proc:0x007f8add23bb48@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:839>>, "version"=>#<OptionParser::Switch::OptionalArgument:0x007f8add23baf8 @pattern=nil, @conv=nil, @short=nil, @long=nil, @arg=nil, @desc=nil, @block=#<Proc:0x007f8add23baa8@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:850>>}, @list=[]>, #<OptionParser::List:0x007f8add23be18 @atype={}, @short={"v"=>#<OptionParser::Switch::NoArgument:0x007f8add23ad88 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>, @short=["-v"], @long=["--version"], @arg=nil, @desc=["Dispay the current version"], @block=#<Proc:0x007f8add23b8c8@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:29>>, "h"=>#<OptionParser::Switch::NoArgument:0x007f8add23a130 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>, @short=["-h"], @long=["--help"], @arg=nil, @desc=["Display this help info"], @block=#<Proc:0x007f8add23aae0@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:34>>}, @long={"version"=>#<OptionParser::Switch::NoArgument:0x007f8add23ad88 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>, @short=["-v"], @long=["--version"], @arg=nil, @desc=["Dispay the current version"], @block=#<Proc:0x007f8add23b8c8@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:29>>, "help"=>#<OptionParser::Switch::NoArgument:0x007f8add23a130 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>, @short=["-h"], @long=["--help"], @arg=nil, @desc=["Display this help info"], @block=#<Proc:0x007f8add23aae0@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:34>>, "repo"=>#<OptionParser::Switch::OptionalArgument:0x007f8add239410 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>, @short=[], @long=["--repo"], @arg="=[REPO]", @desc=["Use the given repository"], @block=#<Proc:0x007f8add239f00@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:39>>, "config"=>#<OptionParser::Switch::OptionalArgument:0x007f8add238510 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>, @short=[], @long=["--config"], @arg="=[CONFIG]", @desc=["Use the given config file"], @block=#<Proc:0x007f8add239028@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:44>>, "log"=>#<OptionParser::Switch::OptionalArgument:0x007f8add233ad8 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>, @short=[], @long=["--log"], @arg="=[level]", @desc=["Use the given log level (fatal, error, warn, info, debug)"], @block=#<Proc:0x007f8add238308@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:48>>}, @list=[#<OptionParser::Switch::NoArgument:0x007f8add23ad88 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>, @short=["-v"], @long=["--version"], @arg=nil, @desc=["Dispay the current version"], @block=#<Proc:0x007f8add23b8c8@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:29>>, #<OptionParser::Switch::NoArgument:0x007f8add23a130 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0200@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1657>, @short=["-h"], @long=["--help"], @arg=nil, @desc=["Display this help info"], @block=#<Proc:0x007f8add23aae0@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:34>>, #<OptionParser::Switch::OptionalArgument:0x007f8add239410 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>, @short=[], @long=["--repo"], @arg="=[REPO]", @desc=["Use the given repository"], @block=#<Proc:0x007f8add239f00@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:39>>, #<OptionParser::Switch::OptionalArgument:0x007f8add238510 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>, @short=[], @long=["--config"], @arg="=[CONFIG]", @desc=["Use the given config file"], @block=#<Proc:0x007f8add239028@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:44>>, #<OptionParser::Switch::OptionalArgument:0x007f8add233ad8 @pattern=/.*/m, @conv=#<Proc:0x007f8adc8a0138@/Users/MyWorkstation/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/optparse.rb:1659>, @short=[], @long=["--log"], @arg="=[level]", @desc=["Use the given log level (fatal, error, warn, info, debug)"], @block=#<Proc:0x007f8add238308@/Users/MyWorkstation/.rvm/gems/ruby-2.2.0/gems/dandelion-0.4.9/lib/dandelion/command.rb:48>>]>], @program_name=nil, @banner="Usage: dandelion [options] <command> [<args>]", @summary_width=32, @summary_indent="    ", @default_argv=[]>> 
2.2.0 :003 > c.workspace.changeset.empty?
 => false 
2.2.0 :004 > 

Hope this helps

scttnlsn commented 9 years ago

Okay, how about:

c.workspace.changeset.each { |c| puts c.path }; nil

It might be easier to troubleshoot this if we can chat in realtime: https://gitter.im/scttnlsn/dandelion

BergBenji commented 9 years ago

Hi, here the output of you snippet:

2.2.0 :003 > c.workspace.changeset.empty?
 => false 
2.2.0 :004 > c.workspace.changeset.each { |c| puts c.path }; nil
 => nil 
2.2.0 :005 > 
scttnlsn commented 9 years ago

What's the output of:

c.workspace.changeset.diff.each { |c| puts c.path }; nil

Could you post your config file? Do you have a local_path set?

BergBenji commented 9 years ago

The return is again "nill".

echo $PATH returns the following: /Users/MyMAC/.rvm/gems/ruby-2.2.0/bin:/Users/MyMAC/.rvm/gems/ruby-2.2.0@global/bin:/Users/MyMAC/.rvm/rubies/ruby-2.2.0/bin:/Users/MyMAC/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

local_path seems not to be set, local_path returns "command not found"

# Required
#scheme: ftp
adapter: ftp
host: host1.MYSERVER.tld
username: MyUSERNAME
password: MYSECRETPASS

# Optional
path: httpdocs/
local_path: .
exclude:
    - .gitignore
    - dandelion.yml
    - git-deploy
    - public/tmp
    - .git
    - .travis.yml
    - .DS_Store
revision_file: .revision
scttnlsn commented 9 years ago

The issue here is the local_path: .. For now, just remove that line from the config and everything should work as expected. I'll work on fixing the naive implementation of local_path handling.

scttnlsn commented 9 years ago

This should be fixed now in v0.4.10. Please test with local_path: .. Thanks!