Steven Klass [off-list ref] writes:
Hi Folks,
Corrects an Abort Trap: 6 error with completions.
Fixed an issue where the two commands on a single line would cause a strange unrelated 'Abort trap: 6' error on non-git commands on Mac OSX 10.8.
Signed-off-by: Steven Klass <redacted>
Can you explain how/why the original causes "abort trap: 6"
(whatever it is) and how/why the updated one avoids it in the log
message?
It also is not quite clear when the error happens. Do you mean, by
"non-git commands", something like:
$ ca<TAB>
does not complete to "cal", "case", "cat", etc. and instead breaks
the shell?
I am confused. The only change I can see in the patch is that it
makes the argument to this call to the __gitcomp shell function be a
string with tokens separated by LF and HT and no SP (the original
assumes that the tokens will be split by LF, HT or SP, and the shell
function locally sets $IFS to make sure that the change in this
patch does not make any difference). And in many other places in
the same script, the __gitcomp shell function is called with an
argument with LF, HT or SP spearated tokens, e.g.
_git_add ()
{
case "$cur" in
--*)
__gitcomp "
--interactive --refresh --patch --update --dry-run
--ignore-errors --intent-to-add
"
return
esac
quoted hunk
---
contrib/completion/git-completion.bash | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
mode change 100644 => 100755 contrib/completion/git-completion.bash
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
old mode 100644
new mode 100755
index 6c3bafe..d63b1ba
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2165,7 +2165,8 @@ _git_config ()
user.name
user.signingkey
web.browser
- branch. remote.
+ branch.
+ remote.
"
}
---
Steven Klass
(480) 225-1112
sklass@7stalks.com
http://www.7stalks.com
Hi Junio,
First - Thanks so much for your reply!
The original cause was simply running a non-related command. Specifically I was trying to build some internal software. Our internal software uses a build build tool from perforce called jam (http://www.perforce.com/resources/documentation/jam). Similar to the make build tool this looks up a Jamfile (ergo Makefile) and does the recipe. The issue is that running `jam` fatally aborts right from the start with an unintuitive `abort trap: 6` error.
As you can well imagine figuring out what was causing this was pretty difficult - because both the error was cryptic and so unrelated. I started backing out my environment until I was able to narrow this down to the bash_completions file. Further investigation finally nailed it on the concatenation of the `branch. remote.` line 2165. In summary when the lines were joined it showed the error, when they were on separate lines everything processed as expected.
Again - my only change was to shift them ( branch. remote. ) to two separate lines.
HTH
---
Steven Klass
(480) 225-1112
sklass@7stalks.com
http://www.7stalks.com
On Jul 8, 2013, at 10:32 AM, Junio C Hamano [off-list ref] wrote:
Steven Klass [off-list ref] writes:
quoted
Hi Folks,
Corrects an Abort Trap: 6 error with completions.
Fixed an issue where the two commands on a single line would cause a strange unrelated 'Abort trap: 6' error on non-git commands on Mac OSX 10.8.
Signed-off-by: Steven Klass <redacted>
Can you explain how/why the original causes "abort trap: 6"
(whatever it is) and how/why the updated one avoids it in the log
message?
It also is not quite clear when the error happens. Do you mean, by
"non-git commands", something like:
$ ca<TAB>
does not complete to "cal", "case", "cat", etc. and instead breaks
the shell?
I am confused. The only change I can see in the patch is that it
makes the argument to this call to the __gitcomp shell function be a
string with tokens separated by LF and HT and no SP (the original
assumes that the tokens will be split by LF, HT or SP, and the shell
function locally sets $IFS to make sure that the change in this
patch does not make any difference). And in many other places in
the same script, the __gitcomp shell function is called with an
argument with LF, HT or SP spearated tokens, e.g.
_git_add ()
{
case "$cur" in
--*)
__gitcomp "
--interactive --refresh --patch --update --dry-run
--ignore-errors --intent-to-add
"
return
esac
quoted
---
contrib/completion/git-completion.bash | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
mode change 100644 => 100755 contrib/completion/git-completion.bash
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
old mode 100644
new mode 100755
index 6c3bafe..d63b1ba
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2165,7 +2165,8 @@ _git_config ()
user.name
user.signingkey
web.browser
- branch. remote.
+ branch.
+ remote.
"}
---
Steven Klass
(480) 225-1112
sklass@7stalks.com
http://www.7stalks.com