I have a tendency to do git work on laymans overlay checkouts, first, the master (editing) copy of my developer overlay is a `layman -a xmw` checkout with removed user.name & user.email (bug 480884) and ssh:// upload-url. A second use case is are local modifications of overlays, say, layman -a lorem_ipsum #defined in /etc/layman/overlays/lorem_ipsum.xml cd /var/lib/layman/lorem_ipsum git config --unset user.email git config --unset user.name git branch xmw #do editing stuff git commit -p git send-mail HEAD~1..HEAD # async wait for upstream to respond (later/in cron) layman -S #continue using this centralized solution Now, having branch xmw checked out, `layman -s lorem_ipsum` fails running just `git pull`, I need `git pull origin master` to merge upstream changes into this branch. TL;DR git_syncopts: origin master in layman.conf gets passed as a single command line argument 'origin master' which fails. Proposed solution is to use newlines for argument separation, spaces might be legal argument values.
Created attachment 383096 [details] patch against layman-9999
Sorry, it's taken so long. This was not a complete patch (all repo types possible) plus I didn't know if I wanted to enforce splitting the args by line. I've applied a patch waiting for Devan to review that uses space separation instead. I think space separation is a lot more logicial for the majority of users. However if you need line separation due to long options data. We could re-open this bug and apply a config option for the split() method. That way it can be configured for space ' ' or '\n' separation. see also bug 538330