git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Redirect cd output to /dev/null, was: git-clone seems dead

From
Junio C Hamano <junkio@cox.net>
Date
Sep 12, 2005, 12:29 UTC
Message-ID
<7vbr2yfp0r.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20050912105637.GA5290@athame.dynamicro.on.ca>
Greg Louis <glouis@dynamicro.on.ca> writes:
> I could argue that it's a relatively harmless contribution to
> robustness of the git scripts, but if someone replied that total
> idiot-proofing isn't a worthwhile goal for a project of this sort, I   
> wouldn't necessarily disagree.

I have been made aware of the CDPATH issue since Carl Baldwin diagnosed it last week, but have not done anything about it because I am ambivalent about what the right thing to do is.

We could:
 (0) do nothing and let people shoot in the foot themselves.
 (1) unset CDPATH silently while we run.  Most conveniently done
     by doing so at the beginning of git-setup-sh, and scripts
     that do not use the setup script but still does "cd".
 (2) detect CDPATH in the same places as (1), complain and die.

Among these, (1) would be naturally the approach of least resistance. It would make things "just work" for everybody, and I do not have to deal with bug reports from people with a broken environment, nor have to waste time preaching why CDPATH as an environment is bad.

That, however, would guard only me without helping the world. Such a broken environment would still harm other scripts. In that sense (2) would be a better approach -- the "complain and die" step would make it explicit what we do not like about their environments. But that would put me in the position of "CDPATH considered harmful" preacher -- I do not want to waste time on defending that position every time a misguided soul wants to keep CDPATH in his environment for whatever reason. I may end up even explaining the difference between plain shell variable and environment variable depending on how misguided that soul is X-<.

And unlike (1), it would be more baggage to carry around. It's only difference between 1 line vs 3 to 4 lines of shell scripts, but 1 line just to idiot proof feels far more attractive to me than 4 lines that starts and commits me to a crusade I do not particularly care about.

Yes, I do realize that I am contradicting myself when I say (1) does not help the world but I do not particularly want to spend time and effort on helping the world anyway. If I really wanted to make the world a better place, I should do (2) and be prepared to spend some time defending that position. Otherwise I should just weasel out of the problem by doing (1), keep silent about the issue, let other people who supply scripted solution suffer and call it their problem.

I would probably end up doing (1), though.
Previous: Greg LouisNext: Greg Louis
Message 8 of 11 in “git-clone seems dead”
  1. Peter EriksenSep 11, 2005
  2. Junio C HamanoSep 11, 2005
  3. Greg LouisSep 11, 2005
  4. Redirect cd output to /dev/null, was: git-clone seems deadGreg Louis, Sep 11, 2005
  5. Junio C HamanoSep 12, 2005
  6. Peter EriksenSep 12, 2005
  7. Greg LouisSep 12, 2005
  8. Junio C HamanoSep 12, 2005
  9. Greg LouisSep 12, 2005
  10. Junio C HamanoSep 12, 2005
  11. Greg LouisSep 13, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.