[123768] trunk/base/src/macports1.0/macports.tcl

Lawrence Velázquez larryv at macports.org
Thu Aug 14 09:30:30 PDT 2014


On Aug 14, 2014, at 4:04 AM, Joshua Root <jmr at macports.org> wrote:

> On 2014-8-14 17:58 , Lawrence Velázquez wrote:
>> On Aug 14, 2014, at 2:40 AM, Joshua Root <jmr at macports.org> 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.
> 
> Nope, system does a fork + exec of /bin/sh.

Nice, that makes things easier.

https://trac.macports.org/changeset/123792


On Aug 14, 2014, at 3:58 AM, Lawrence Velázquez <larryv at macports.org> wrote:

> 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.

I double-checked; what happens is that PortIndex will not be run for a git-svn source if "git svn rebase" fails. This happens fairly commonly — for example, if there are unstaged changes in your working tree.

Ignoring the failure does feel a little wrong. One alternative would be to bookend the update operation with "git stash" and "git stash pop". Manual merge resolution might be required after the pop, but that wouldn't be any worse than what Subversion does currently.

vq


More information about the macports-dev mailing list