On Fri, May 26, 2017 at 2:37 PM, Jeff King <peff@xxxxxxxx> wrote: > > On Fri, May 26, 2017 at 07:36:54PM +0200, Andreas Heiduk wrote: > > > The function `set_ident` in `filter-branch` exported the variables > > GIT_(AUTHOR|COMMITTER)_(NAME|EMAIL|DATE) at least since 6f6826c52b in 2007. > > Therefore the filter scripts don't need to re-eport them again. > > Some old shells keep separate values for the internal and exporter > versions of variables. I.e., this: > > foo=one > export foo > foo=two > > would continue to export $foo as "one", even though it is "two" inside > the script. > > However, I think POSIX mandates the behavior you'd expect. And the only > shell I know that misbehaves in this way is Solaris /bin/sh, which we > have already declared too broken to support. Off-topic, but where is this explicitly documented? > According to > > https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Limitations-of-Builtins.html#export > > it sounds like there are some other antique shells which may do the > same (it doesn't cover this case explicitly, but the "coexist" cases it > mentions are likely to behave in this way). > > At this point, I'd be inclined to remove the text as you suggest and > either make a small note at the bottom of the page, or just omit it > entirely and assume that anybody on an old non-POSIX shell can fend for > themselves. > > -Peff