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

Re: git ls-tree -d doesn't work if the specified path is the repository root?

From
Santiago Torres <santiago@nyu.edu>
Date
Sep 25, 2017, 19:22 UTC
Message-ID
<20170925192204.hmhgejhzsj6phqlg@LykOS.localdomain>
In-Reply-To
<CAF5E6=pqGZt_BUDRDeN2uAQK7qBTeO+zcR8NsvSPg-rLjbsqdQ@mail.gmail.com>
> Is there some reason for this? This behavior seems like a bug to me:
> it means that prior to calling ls-tree I need to check if the
> referenced path happens to be the root, and if so, find some other
> means (rev-parse?) of converting it to a treehash.
Hmm, interesting.
I see these four behaviors:
[santiago@LykOS bg_daemon]$ git ls-tree -d HEAD -- src
    040000 tree 238a62ca62527423fd3190d00917ddfef0d254a3    src
[santiago@LykOS bg_daemon]$ git ls-tree -d HEAD -- src/
    040000 tree 767beaaf0927f89e630c52830b6fbac138ec039a    src/bg_daemon
[santiago@LykOS bg_daemon]$ git ls-tree -d HEAD -- .
    040000 tree 238a62ca62527423fd3190d00917ddfef0d254a3    src
    040000 tree de12675d1023b1e743f7e11c2276fc417b3650a6    tests
[santiago@LykOS bg_daemon]$ git ls-tree -d HEAD -- ./
    040000 tree 238a62ca62527423fd3190d00917ddfef0d254a3    src
    040000 tree de12675d1023b1e743f7e11c2276fc417b3650a6    tests

IMHO, I think it'd be more consistent if . returned the root treehash and ./ returned the treehash of the directories in root.

I don't personally know if there is a reason for this...

Thanks, -Santiago.

> 
> Thanks,
> —Roy
Previous: Roy WellingtonNext: Jonathan Nieder
Message 2 of 3 in “git ls-tree -d doesn't work if the specified path is the repository root?”
  1. Roy WellingtonSep 25, 2017
  2. Santiago TorresSep 25, 2017
  3. Jonathan NiederSep 25, 2017

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.