git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rogan Dawes <lists@dawes.za.net>
To: Steven Grimm <koreth@midwinter.com>
Cc: Domenico Andreoli <cavokz@gmail.com>, git@vger.kernel.org
Subject: Re: dangling blob which is not dangling at all
Date: Wed, 01 Aug 2007 11:13:27 +0200	[thread overview]
Message-ID: <46B04EB7.80006@dawes.za.net> (raw)
In-Reply-To: <46B045D3.4070208@midwinter.com>

Steven Grimm wrote:
> Domenico Andreoli wrote:
>> What is this reflog thing and why is required?
>>   
> 
> It is a log of where each ref pointed at any given time. Or rather, a 
> log of changes to refs, with timestamps. It is not *required* per se 
> (you can turn it off and almost all of git will continue to work as 
> before) but it's handy in that you can say stuff like
> 
> git checkout -b newbranch master@"{4 days ago}"
> 
> and git will give you a new branch pointing at the rev that master 
> pointed to 4 days ago, even if it's a rev that is no longer reachable 
> from any of the existing heads (e.g., because you did a "git rebase" and 
> the rev in question was replaced by a new one.) Obviously as soon as you 
> do a "git gc" you will lose the ability to go back to unreachable revs 
> using the reflog.
> 

Not strictly true. "git gc" does take the reflogs into account when 
determining reachability, but it also prunes the reflogs periodically to 
prevent them from growing without bound (and preventing pruning of 
otherwise unreachable objects).

 From the git-gc manpage:

CONFIGURATION
  The optional configuration variable gc.reflogExpire can be set to
  indicate how long historical entries within each branch's reflog should
  remain available in this repository. The setting is expressed as a
  length of time, for example 90 days or 3 months. It defaults to 90
  days.

Regards,

Rogan

  reply	other threads:[~2007-08-01  9:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-01  1:34 dangling blob which is not dangling at all Domenico Andreoli
2007-08-01  2:22 ` Linus Torvalds
2007-08-01  6:32   ` Domenico Andreoli
2007-08-01  7:27     ` Junio C Hamano
2007-08-01  7:42       ` Domenico Andreoli
2007-08-01  8:35         ` Steven Grimm
2007-08-01  9:13           ` Rogan Dawes [this message]
2007-08-01 14:21             ` Domenico Andreoli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46B04EB7.80006@dawes.za.net \
    --to=lists@dawes.za.net \
    --cc=cavokz@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=koreth@midwinter.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).