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
next prev parent 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).