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

Re: ephemeral-branches instead of detached-head?

From
Sitaram Chamarty <sitaramc@gmail.com>
Date
Aug 14, 2013, 06:32 UTC
Message-ID
<520B2478.3000100@gmail.com>
In-Reply-To
<7vmwolujvb.fsf@alter.siamese.dyndns.org>
On 08/14/2013 07:14 AM, Junio C Hamano wrote:
Show 15 quoted lines
> Sitaram Chamarty <sitaramc@gmail.com> writes:
> 
>>     # all reflog entries that are not on a branch, tag, or remote
>>     d1 = !gitk --date-order $(git log -g --pretty=%H) --not --branches --tags --remotes
>>     # all dangling commits not on a branch, tag, or remote
>>     d2 = !gitk --date-order $(git fsck | grep "dangling.commit" | cut -f3 -d' ') --not --branches --tags --remotes
>>
>> (Apologies if something like this was already said; I was not following
>> the discussion closely enough to notice)
> 
> Yup.
> 
> A potential problem is that the output from "log -g --pretty=%H" or
> "fsck | grep dangling" may turn out to be humongous.  Other than
> that, they correctly compute what you want.

I thought I mentioned that but I can't find my email now so maybe I didn't.

In practice though, I find that, bash at least seems happy to take command lines as long as 7+ million characters long, so with the default reflog expire times, that should work out to 10,000 commits *per day*. [Tested with: echo {1000000..1900000} > junk; echo `cat junk` | wc]

Incidentally, am I the only one who thinks the default values for gc.reflogexpire (90 days) and gc.reflogexpireunreachable (30) should be reversed?

In terms of recovering potentially lost commits at least, it seems it would make more sense that something that is UNreachable have a longer expiry, whereas stuff that's reachable... that's only a quick "gitk" browse away.

Design question: is the primary purpose of the reflog "what was I doing X days ago" or is it "I need some code from a commit that got rebased out [or whatever] X days ago"?

I have always only used the reflog for the latter.
Previous: Junio C HamanoNext: Jeff King
Message 16 of 24 in “ephemeral-branches instead of detached-head?”
  1. David JeskeAug 12, 2013
  2. Jonathan NiederAug 12, 2013
  3. Junio C HamanoAug 12, 2013
  4. David JeskeAug 12, 2013
  5. David JeskeAug 12, 2013
  6. Duy NguyenAug 12, 2013
  7. Andreas SchwabAug 12, 2013
  8. Junio C HamanoAug 12, 2013
  9. David JeskeAug 12, 2013
  10. David JeskeAug 12, 2013
  11. Junio C HamanoAug 12, 2013
  12. Duy NguyenAug 13, 2013
  13. Junio C HamanoAug 13, 2013
  14. Sitaram ChamartyAug 14, 2013
  15. Junio C HamanoAug 14, 2013
  16. Sitaram ChamartyAug 14, 2013
  17. Jeff KingAug 14, 2013
  18. Andres PereraAug 14, 2013
  19. Sitaram ChamartyAug 14, 2013
  20. Andres PereraAug 14, 2013
  21. Duy NguyenAug 13, 2013
  22. Fwd: ephemeral-branches instead of detached-head?David Jeske, Aug 13, 2013
  23. Junio C HamanoAug 13, 2013
  24. Junio C HamanoAug 13, 2013

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.