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

Re: Hash for a commit sourcetree beside to a commit hash

From
Philip Oakley <philipoakley@iee.email>
Date
Feb 3, 2023, 22:39 UTC
Message-ID
<01dd49c1-026d-1215-dd06-02fe73ce14f8@iee.email>
In-Reply-To
<1309893232.20230203163720@inbox.ru>
On 03/02/2023 13:37, Andry wrote:
Show 23 quoted lines
> Hello Philip,
>
>
>
> Friday, February 3, 2023, 2:11:19 PM, you wrote:
>
> PO> On 03/02/2023 02:21, Andry wrote:
>>> Đoàn, 
>>> Friday, February 3, 2023, 5:01:09 AM, you wrote:
>>> ĐTCD>         git rev-list <a-commit-tish> |
>>> ĐTCD>         while read commit; do
>>> ĐTCD>                 if test $(git rev-parse $commit^{tree}) = $hash; then
>>> ĐTCD>                         echo $commit
>>> ĐTCD>                         break
>>> ĐTCD>                 fi
>>> ĐTCD>         done
>>>
>>> Nice, but I can not apply this over a git hub or a web interface without a clone.
> PO> As a 'Distributed'-VCS, cloning the repository would be the de-facto
> PO> normal approach, otherwise you have re-invented centralised VCS ;-)
>
> Cloning repository is a heavy operation by downloading everything instead of search a single commit.
> And searching at the remote does not make it a central.
It's not local though ;-)

Given that there's usually a trusted remote in this scenario (that's why your searching it) it does feel very like a 'centralised' VCS, even if formally is isn't stated as such.

Show 6 quoted lines
>
> PO> Alternatively, you could approach the server (hub/web interface)
> PO> provider to see if they are willing to provide that level of search
> PO> interface.
>
> The GitHub already provides that in the search field. Just input a hash and see what happens.

There is still a need to walk the commit graph to discover each commit's tree to do the look-back. There are some catch 22 steps to be done.

How do you determine the sourcetree has that starts this process? (have we accidentally created an XY problem?)

Obliterating history is hard [1]. -- Philip

[1] https://lore.kernel.org/git/5cab1530-f8b6-cef3-7b93-48fad410a160@iee.email/

Previous: AndryNext: Andry
Message 8 of 11 in “Hash for a commit sourcetree beside to a commit hash”
  1. AndryFeb 3, 2023
  2. Đoàn Trần Công DanhFeb 3, 2023
  3. AndryFeb 3, 2023
  4. Philip OakleyFeb 3, 2023
  5. AndryFeb 3, 2023
  6. Đoàn Trần Công DanhFeb 3, 2023
  7. AndryFeb 4, 2023
  8. Philip OakleyFeb 3, 2023
  9. AndryFeb 5, 2023
  10. AndryFeb 12, 2023
  11. AndryFeb 26, 2023

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.