On Aug 14, 2014, at 2:40 AM, Joshua Root <[email protected]> wrote:

> Do we really need to call 'sh -c' here?

I assumed that directory changes persist after the call to "system" — hence the 
pushd/popd in the previous version. We could probably get by with "cd $portdir 
&& … && cd \$OLDPWD", though.

We could also pass options directly to Git to tell it where the repository and 
working directory are, but robustly determining the correct values might be 
more trouble than just cd(1)-ing into the working directory and letting Git 
figure it out.

> And is the '|| true' needed
> given that the 'system $git_commandline' is wrapped in a catch?

The previous command-line implicitly behaved this way; the Git command was 
followed by a semicolon, so the popd was executed regardless of whether the Git 
operation succeeded.

I thought that "port sync" failed immediately if any of the source syncs exited 
with a failure status, but I may have been misinterpreting the output I saw, 
since my git-svn repository is last in my sources list.

> And would it be better to replace the 'cd $portdir' with a -W arg to system, 
> or do we want to see it in the ui_debug output?

I think it's useful to see the value of $portdir in the debug output, like we 
do for Subversion repositories.

vq
Sent from my iPhone
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to