Hi Franky, On Mon, Jun 27, 2011 at 10:08 AM, Franky Van Liedekerke <franky@xxxxxxxxxxxxx> wrote: > tried it out, and it seems (following the example presented here: > https://github.com/krimdomu/rex-scm) that the checkout happens on > every target machine and then via rsync the file gets placed in the > correct dir. I was under the impression that the checkout would happen > only on the rex master server? Yes, this example has a mistake. You can split the checkout and the sync in 2 tasks. ----8<-----8<------ task "checkout", sub { checkout 'static', branch => 'stable'; }; task "sync", group => "servers", sub { sync 'static/*', '/var/www/html'; }; task "deploy", sub { do_task [ qw/checkout sync/ ]; }; And call it with: rex deploy ----8<-----8<------ Or you can put the checkout in a LOCAL { } block. Everything in a LOCAL block will be executed on the host where rex is running, regardless of what is defined in the task or by the cli parameter "-H". ----8<-----8<------ task "deploy", group => "servers", sub { LOCAL { checkout 'static', branch => 'stable'; }; sync ... }; ----8<-----8<------ The SCM Module is a module i wrote for a project. So there are not many options right now. But this will be one of the next modules to stabilize. > > Btw: an extra option to checkout with a given username/password would > be very nice! > This is definitely a feature i will implement. Jan