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

Re: [PATCH 04/10] Migrate git-clone to use git-rev-parse --parseopt

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 6, 2007, 19:39 UTC
Message-ID
<7vmytrgo4q.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<alpine.LFD.0.9999.0711061355330.21255@xanadu.home>
Nicolas Pitre <nico@cam.org> writes:
Show 15 quoted lines
> On Sun, 4 Nov 2007, Pierre Habouzit wrote:
>
>> Signed-off-by: Pierre Habouzit <madcoder@debian.org>
>> ---
>>  git-clone.sh |  102 +++++++++++++++++++++++++++++++++-------------------------
>>  1 files changed, 58 insertions(+), 44 deletions(-)
>
> Well, this patch was merged in "next" and broke git-clone rather badly.
>
> Just try something as fundamental as this:
>
> 	$ git clone git://git.kernel.org/pub/scm/git/git.git
> 	fatal: Not a git repository
>
> Don't we have test cases covering this really basic operation?

We do, but RUN_SETUP will happily go up to find the .git/ next to t/ directory that is the parent of trash/ directory, in which the tests run, without reporting errors. As parseopt does not depend on anything in git, this will not do any harm other than falsely succeeding the test that should not pass.

We could probably introduce an environment variable, GIT_CEILING, that tells the setup_git_directory_gentry() never go up beyond that point, and set it to the t/trash directory while running the test.

Something like that may have other uses in practice. Often people wonder what would happen if there is /.git repository and they would want to make sure they would not accidentally add to the repository controlled by /.git when they have bunch of other repositories /some/where/.git in which they usually work.

Previous: Nicolas PitreNext: Ralf Wildenhues
Message 16 of 20 in “ph/parseopt-sh reloaded”
  1. Pierre HabouzitNov 4, 2007
  2. 01/10 Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.Pierre Habouzit, Nov 4, 2007
  3. 02/10 Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  4. 03/10 Migrate git-clean.sh to use git-rev-parse --parseopt.Pierre Habouzit, Nov 4, 2007
  5. 04/10 Migrate git-clone to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  6. 05/10 Migrate git-am.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  7. 06/10 Migrate git-merge.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  8. 07/10 Migrate git-instaweb.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  9. 08/10 Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdashPierre Habouzit, Nov 4, 2007
  10. 09/10 Migrate git-quiltimport.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  11. 10/10 Migrate git-repack.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  12. Pierre HabouzitNov 4, 2007
  13. Nicolas PitreNov 6, 2007
  14. Junio C HamanoNov 6, 2007
  15. Nicolas PitreNov 6, 2007
  16. Junio C HamanoNov 6, 2007
  17. Ralf WildenhuesNov 4, 2007
  18. Ralf WildenhuesNov 4, 2007
  19. Junio C HamanoNov 4, 2007
  20. Pierre HabouzitNov 4, 2007

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.