Git development
 help / color / mirror / Atom feed
* git stash syntax error under AIX 5.3
@ 2010-11-03 14:05 Brian Riehman
  2010-11-03 15:07 ` Jonathan Nieder
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Riehman @ 2010-11-03 14:05 UTC (permalink / raw)
  To: git

The stash command relies on bash-specific shell scripting techniques
when the shebang line lists Bourne shell.  This was introduced in
b0f0ecd97924ee775e7f3b29366133448f4f8e15.  The error was noticed when
running under AIX 5.3:

$ /bin/sh -n git-stash.sh
git-stash.sh[63]: syntax error at line 498 : `"' unmatched
$ /bin/sh -n git-stash-modified.sh
$ diff git-stash.sh git-stash-modified.sh
314,321c314,321
<       if test "${REV}" != "${REV%{*\}}"
<       then
<               # maintainers: it would be better if git rev-parse indicated
<               # this condition with a non-zero status code but as of
1.7.2.1 it
<               # it did not. So, we use non-empty stderr output as a
proxy for the
<               # condition of interest.
<               test -z "$(git rev-parse "$REV" 2>&1 >/dev/null)" ||
die "$REV does not exist in the stash log"
<       fi
---
> #     if test "${REV}" != "${REV%{*\}}"
> #     then
> #             # maintainers: it would be better if git rev-parse indicated
> #             # this condition with a non-zero status code but as of 1.7.2.1 it
> #             # it did not. So, we use non-empty stderr output as a proxy for the
> #             # condition of interest.
> #             test -z "$(git rev-parse "$REV" 2>&1 >/dev/null)" || die "$REV does not exist in the stash log"
> #     fi
$ head -1 git-stash.sh
#!/bin/sh

Removing the code from that commit causes the stash command to work
properly.  I am not sure if other systems have /bin/sh symbolically
linked to /bin/bash, but in AIX the /bin/sh fails to properly parse
the default git-stash.sh.

I am not sure how to correct this logic since Bourne shell does not
have an equally powerful search and replace variable substitution
operator nor do I know exactly what this is meant to filter out of the
variable.  For now, I have simply patched the source to comment out
those lines.

Brian Riehman

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-11-03 15:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-03 14:05 git stash syntax error under AIX 5.3 Brian Riehman
2010-11-03 15:07 ` Jonathan Nieder
2010-11-03 15:29   ` Brian Riehman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox