git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Riesen" <raa.lkml@gmail.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: "Jakub Narebski" <jnareb@gmail.com>, git@vger.kernel.org
Subject: Re: Deprecation/Removal schedule
Date: Tue, 6 Feb 2007 11:20:40 +0100	[thread overview]
Message-ID: <81b0412b0702060220l3887624ax762e5cba3f75fd0c@mail.gmail.com> (raw)
In-Reply-To: <20070205225505.GA9222@spearce.org>

On 2/5/07, Shawn O. Pearce <spearce@spearce.org> wrote:
> Alex Riesen <raa.lkml@gmail.com> wrote:
> > On 2/5/07, Shawn O. Pearce <spearce@spearce.org> wrote:
> > >I use it daily.  Mainly `git log origin/master@{1}..origin/master`
> > >to see what has come in from Junio since my last fetch.  The @{n}
> > >syntax has (for me) been one of its best features.  (Thanks Junio!)
> >
> > It looks and smells like a useful feature. I just haven't found
> > any use for it yet. Besides all the good, it's another part of a repo
> > needing maintenance (constantly growing thing, like /var/log).
>
> `git gc` is your friend.  It automatically trims the reflogs, keeping
> only the last 90 days worth of entries.  You can tune this with the
> `gc.reflogexpire` configuration parameter.

git gc (repack -d of it) is too dangerous in a shared repo: it breaks
the repos which depend on the master repository, have sent (by some
means) some objects over to the master, and accidentally removed
the reference, and were pruned afterwards.
I'm not saying git gc is bad, I'm just saying you can't use it
whenever and wherever you want. Sometimes you'd prefer
to only expire logs, only pack refs or only repack. And if I
have no logs, I can't forget to trim them.

> So its not a constantly growing thing; you can at least bound it
> by time.

No, I can't. git gc and reflog --expire can. I have to call them.
And I don't think trimming the logs automatically is a good
idea: 90 days of commits can be a very long file on a busy repository.
Add to that slow disks and stupid OS (the worst case, which matters),
and you get a very annoyed user (if he was just angry before, having
to use the drive and OS, he'll definitely go berserk now).

> > >If the reflog code did fail to record something, and you needed it,
> > >and you hadn't git-prune'd yet, git-fsck would list the dangling
> > >commit.  And a copy-n-paste session with `git-log -p D --not --all`
> > >in another xterm would help you navigate what the dangling commits
> > >were.
> >
> > Yes, of course. I somehow missed it. Shows how often one does
> > git-fsck in cygwin, doesn't it?
>
> :-)
>
> Actually I have need for git-fsck too often on Cygwin; one of
> my coworkers looses objects all of the time in his repository.
> I think his harddrive is failed.  The zlib CRC checking we put into
> pack-objects saved his bacon when it failed to repack his repository
> with corrupt objects.

Never had that, can be hardware problem.

What I meant is that it takes too long and I just avoid running
fsck unless I am forced to.

  reply	other threads:[~2007-02-06 10:20 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-05  6:48 Deprecation/Removal schedule Junio C Hamano
2007-02-05  6:57 ` Shawn O. Pearce
2007-02-05  9:33 ` Jakub Narebski
2007-02-05 10:11   ` Jakub Narebski
2007-02-05 10:25     ` Shawn O. Pearce
2007-02-05 15:50   ` Alex Riesen
2007-02-05 19:45     ` Shawn O. Pearce
2007-02-05 22:49       ` Alex Riesen
2007-02-05 22:55         ` Shawn O. Pearce
2007-02-06 10:20           ` Alex Riesen [this message]
2007-02-06 10:45             ` Johannes Schindelin
2007-02-06 11:00               ` Jeff King
2007-02-06 11:03                 ` Johannes Schindelin
2007-02-06 13:09                   ` Alex Riesen
2007-02-06 13:24                     ` Johannes Schindelin
2007-02-06 13:32                       ` Alex Riesen
2007-02-06 13:01               ` Alex Riesen
2007-02-05 12:00 ` Mark Wooding
2007-02-05 12:45 ` Johannes Schindelin
2007-02-05 15:53 ` Alex Riesen
2007-02-05 16:26 ` Linus Torvalds
2007-02-05 17:56   ` Junio C Hamano
2007-02-05 19:24 ` [PATCH] Add --patchdepth parameter to git-am.sh Andy Parkins
2007-02-05 19:37   ` Shawn O. Pearce
2007-02-07  8:27   ` Junio C Hamano
2007-02-07  9:44     ` Jakub Narebski
2007-02-07  9:59     ` Andy Parkins
2007-02-06 14:55 ` Deprecation/Removal schedule Andreas Ericsson
2007-02-06 15:26   ` Alex Riesen
2007-02-06 15:33     ` Johannes Schindelin
2007-02-07  7:12 ` Junio C Hamano
2007-02-07  8:33   ` Jakub Narebski
2007-02-07  9:33     ` Johannes Schindelin
2007-02-07 10:13       ` Jakub Narebski
2007-02-07  9:37     ` Junio C Hamano
2007-02-07 11:10   ` Johannes Schindelin

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=81b0412b0702060220l3887624ax762e5cba3f75fd0c@mail.gmail.com \
    --to=raa.lkml@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=spearce@spearce.org \
    /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).