Re: git-gui: Warn when username and e-mail address is unconfigured?

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

 



On Thu, Dec 4, 2008 at 2:34 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> "Jeremy Ramer" <jdramer@xxxxxxxxx> writes:
>
>> On Thu, Dec 4, 2008 at 12:04 PM, Sverre Rabbelier <alturin@xxxxxxxxx> wrote:
>>> On Thu, Dec 4, 2008 at 17:05, Jeremy Ramer <jdramer@xxxxxxxxx> wrote:
>>>> That's strange. I am using git 1.6.0.4 on cygwin and I get a warning
>>>> message every time I start git gui.  I actually find this really
>>>> annoying and would like a way to turn this warning message off.
>>>
>>> git config --global user.name "Your Name"
>>> git config --global user.email "you@xxxxxxxxxxx"
>>>
>>
>> I have done that.  I still get the warning message every time I start git gui.
>
> I do not use Windows, and I do not run git-gui, so I am guessing only from
> the source.  Are you talking about the message composed by this part?
>
>    # -- Warn the user about environmental problems.  Cygwin's Tcl
>    #    does *not* pass its env array onto any processes it spawns.
>    #    This means that git processes get none of our environment.
>    #
>    if {[is_Cygwin]} {
>            set ignored_env 0
>            set suggest_user {}
>            set msg [mc "Possible environment issues exist.
>
>    The following environment variables are probably
>    going to be ignored by any Git subprocess run
>    by %s:
>
>    " [appname]]

Yes, that does appear to be the message I get, with the following
environment variables:
- GIT_AUTHOR_EMAIL
- GIT_COMMITTER_NAME
- GIT_COMMITER_EMAIL
- GIT_AUTHOR_NAME

Now that I look closer I see that I am setting these in my .bashrc
file.  When I first started using git a year ago I was given the
impression that these were needed. But I see that that is no longer
the case since I use the config:

git config --global user.name "Your Name"
git config --global user.email "you@xxxxxxxxxxx"

Removing them from my .bashrc removes the warning.  In hindsight the
warning should have clued me in, but I've been seeing that message
since I first started using git on Cygwin so I figured it was a cygwin
issue that I couldn't do anything about.

>
> The logic to produce the error message does look somewhat screwy.
>
> It checks a selected set of variables whose name begin with GIT_ in the
> environment, and if it finds any, it gives the above message.  In
> addition, if GIT_{AUTHOR,COMMITTER}_{EMAIL,NAME} are among them, it also
> adds this to the message:
>
>                    if {$suggest_user ne {}} {
>                            append msg [mc "
>    A good replacement for %s
>    is placing values for the user.name and
>    user.email settings into your personal
>    ~/.gitconfig file.
>    " $suggest_user]
>
> There are two and half issues about this code.
>
>  (1) When it prepares additional message about user.{email,name},
>     it does not check if the user already has them defined.  IOW, there
>     is no way other than unsetenv before running git-gui to squelch this
>     part of the message.
>
>  (2) For other environment variables, such as GIT_PAGER, it does not offer
>     alternatives, such as core.pager.  Again, there is no way other than
>     unsetenv to squelch the warning.
>
> An excuse to both of the above could be that the warning is not about the
> user having environment variables that can be discarded, but about
> brokenness of Cygwin Tcl envirnonment that discards them.  But if that is
> the case, there is this other half issue:
>
>  (3) The warning does not trigger if the environment is not set when this
>     check is made.  Now I do not know if git-gui tries to spawn
>     subprocesses with its own (customized) environment settings (e.g. you
>     would need to be able to run git-commit-tree with modified
>     GIT_AUTHOR_NAME if you want to use the lowlevel plumbing to create a
>     new commit and lie about the author identity), but if it does, the
>     warning does not trigger.
>

I agree that the logic could using improvement.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux