emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Erroneous "No such file or directory" with babel and remote dir


From: Nick Dokos
Subject: Re: [O] Erroneous "No such file or directory" with babel and remote dir
Date: Wed, 14 Nov 2012 14:47:30 -0500

Nick Dokos <address@hidden> wrote:


> I checked successive versions from 7.01h onwards and found breakage
> between release_7.8 and release_7.9. So I bisected and came up
> with this as the bad commit:
> 
> ,----
> | commit 5cb80c7e5b9bcae180b799d2a49c78d529e029f0
> | Author: Eric Schulte <address@hidden>
> | Date:   Mon Mar 12 13:23:53 2012 -0400
> | 
> |     apply :shebang and :padline to shell script execution
> |     
> |     * lisp/ob-sh.el (org-babel-execute:sh): Pass all params to subroutine.
> |       (org-babel-sh-evaluate): Apply :shebang and :padline to shell script
> |       execution.
> `----
> 
> Reverting it caused a merge conflict that I didn't have the patience to
> resolve.  But I made branches, one with this commit as its tip and one
> with its predecessor:
> 
>     git checkout -b foo 5cb80c7
>     git checkout -b bar de09874
> 
> Testing on foo gives me an error, testing on bar gives the correct
> result.  So I'm pretty sure this commit introduced the problem. Eric has
> applied a partial fix since then which gets rid of the error but still
> gives the wrong answer (not Eric's fault: he followed my suggestion, but
> I was treating the symptom, not the disease).
> 
> But I think this commit is the place that deserves more scrutiny.
> 

The plot thickens. If I create a branch with 5cb80c7 as the tip
and then immediately apply the later patch that fixes the error, then
things are working as they should.

Here is the procedure in case somebody wants to try to replicate:


o First, save the later commit as a patch to apply:

  git show 86e515d > patch.to.apply

o Then go back in time:

  git checkout -b foo 5cb80c7

That gets you back to 7.8.03 and when I try the code block with

  emacs -q -l /path/to/minimal.emacs.that.requires.ob-sh /path/to/loris.org

I get an error:

/bin/bash: /scpc:address@hidden:/tmp/sh-script-6207TKx: No such file or 
directory


o I then apply the patch:

  git apply patch.to.apply

and retry: I get the remote host name as I should.

Which tells me that the tmp file error is a red herring and the real
breakage occurred after 5cb80c7, probably through a commit that touched
ob-sh.el (although that's far from guaranteed). Here's that list:

$ git log --oneline -- lisp/ob-sh.el
86e515d fix remote execution w/empty shebang header arg
70dd119 Massive code clean-up.
966447c Don't use `org-flet' in ob-awk.el and ob-sh.el
8eb5843 Add punctuation at the end of the first line of docstrings.  Code 
cleanup.
63b5f8f replace flet/labels with org-flet/org-labels
ecd0562 Fix the master branch.
6e306f6 Fix copyright years in maint.
de42649 Manually revert maint to e85080.
73bb18b Manually revert to the Release 7.8.04 tag.
38c5045 Fix copyright years.
6e534f9 Manually revert back to commit e85080.
5cb80c7 apply :shebang and :padline to shell script execution
...


So unless somebody sees something wrong with the above procedure, we are a bit
closer to finding the culprit, but it's certainly not who I thought it was.

Nick





reply via email to

[Prev in Thread] Current Thread [Next in Thread]