-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Passing flags to rsync #71
Comments
Just had a deeper look at the code and if I'm not mistaken that's definitely not possible ATM. |
Looking at https://github.com/pstadler/flightplan/blob/master/lib/transport/shell.js#L117 I'd say the
It would make more sense if it was the same for transport.transfer( files, plan.runtime.options.dest, {
"copy-links" : true,
exclude: ".git",
exec : {
cwd: './app'
}
} ); Or enveloped for easier plucking: transport.transfer( files, plan.runtime.options.dest, {
transfer:{
"copy-links" : true,
exclude: ".git",
},
exec : {
cwd: './app'
}
} ); P.S.: obviously it would be even more fantastic if |
I agree, this makes sense. |
Also consider to pass the directory if this makes any sense (see #107) |
Take this into account: #109 |
This is more than just an enhancement. I just tried to use local.transfer from a mac to a Ubuntu VPS. Ownership of files were set to mac user and group, which made no sense on the remote. Furthermore, the parent directory (the home dir) were now owned by the local user, which caused SSH to deny any further connections, effectively shutting me out. I feel this must have been addressed before, and perhaps I am not aware of all option flags? |
@kparkov My workaround was using For example: |
That's definitely the way to go. rsync is a nightmare to utilize in the way that flightplan does. I'm thinking about replacing it with sftp. |
Hi @pstadler ! When you plan to do something with that one? In my case I need pass |
Pretty busy at the time, but I'm open for pull requests 👍 |
FYI: dirty hack in flightplan.js (in project) local._context.hosts.map(function (host) {
local.exec(
'rsync -azr --progress --delete-after * .symfony.ini --rsh="ssh -p 22" '
+ host.username + '@' + host.host + ':' + getRemoteDir(plan.runtime.target + '/repo/')
);
});```
works 👌 |
Maybe I just overlooked it in the documentation, but it's not entirely clear how I could pass flags to rsync when transferring files. E.g. I'd like to copy over symlink contents and not the symlinks themselves, this means I have to be able to set the
-L
flag.I've tried:
and
But to no avail. Is this not possible using the transfer wrapper, do I need to use
transport.exec
instead?The text was updated successfully, but these errors were encountered: