All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Pearce <spearce@spearce.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Petr Baudis <pasky@suse.cz>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: git pull for update of netdev fails.
Date: Wed, 20 Sep 2006 12:28:10 -0400	[thread overview]
Message-ID: <20060920162810.GB23260@spearce.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0609200915550.4388@g5.osdl.org>

Linus Torvalds <torvalds@osdl.org> wrote:
> On Wed, 20 Sep 2006, Petr Baudis wrote:
> > 
> >   I personally don't think "throwing away" history is an issue. You can
> > print the old sha1 and it is still in the database so you can recover
> > it.
> 
> No it isn't. Once you've lost the reference, you can't really depend on it 
> any more in the long run.
> 
> A lot of people do things like "git repack -a -d" by hand, and we've tried 
> to encourage people to do so in cron-jobs etc. We've even had patches 
> floating around that do it automatically after a pull.

Ouch.  That's really bad.

I knew it but didn't realize it until just now.

	git repack -a -d
	git branch -D foo
	git repack -a -d

and *poof* no foo.  Even if you somehow have its SHA1 and haven't
used `git prune` you still have just pruned the thing away and
can't look it up anymore.

git branch -D is just the obvious way of doing it.  git rebase is
slightly less obvious for some people (perhaps more so for others).
git fetch with a '+' in a Pull: line is even less obvious, especially
if you have reflog enabled for exactly that reason.


So we've managed to encourage people to run prune without actually
running prune.  Should we just integrate prune and repack -a -d with
the 'rm -rf /' command?  Perhaps a kernel module at the VFS layer
would do the trick?  I hear we have some kernel folks nearby.  :-)

-- 
Shawn.

  parent reply	other threads:[~2006-09-20 16:28 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-20 15:03 git pull for update of netdev fails Stephen Hemminger
2006-09-20 15:28 ` Linus Torvalds
2006-09-20 15:54   ` Petr Baudis
2006-09-20 16:02     ` Johannes Schindelin
2006-09-20 16:07       ` Petr Baudis
2006-09-20 16:19         ` Linus Torvalds
2006-09-20 16:26           ` Linus Torvalds
2006-09-20 16:34             ` Shawn Pearce
2006-09-20 16:49               ` Linus Torvalds
2006-09-20 17:10                 ` Shawn Pearce
2006-09-20 21:23               ` Johannes Schindelin
2006-09-20 21:27                 ` Shawn Pearce
2006-09-20 21:37                   ` Johannes Schindelin
2006-09-20 21:42                     ` Junio C Hamano
2006-09-20 21:53                       ` Johannes Schindelin
2006-09-20 21:53                       ` Shawn Pearce
2006-09-20 21:49                     ` Shawn Pearce
2006-09-23  4:18             ` Petr Baudis
2006-09-20 16:28           ` Shawn Pearce [this message]
2006-09-20 16:38             ` Linus Torvalds
2006-09-20 21:14           ` Johannes Schindelin
2006-09-20 21:21             ` Shawn Pearce
2006-09-20 21:27               ` Johannes Schindelin
2006-09-20 21:40                 ` Shawn Pearce
2006-09-20 22:34             ` Jakub Narebski
2006-09-23  3:44             ` Petr Baudis
2006-09-23  4:00               ` Shawn Pearce
2006-09-23  4:09                 ` Petr Baudis
2006-09-23 13:15                   ` Catalin Marinas
2006-09-23 13:10               ` Catalin Marinas
2006-09-24 20:54                 ` Petr Baudis
2006-09-25 12:47                   ` Catalin Marinas
2006-09-20 16:05     ` Junio C Hamano
2006-09-20 16:18       ` Petr Baudis
2006-09-20 16:33         ` Linus Torvalds
2006-09-20 20:01         ` Jakub Narebski
2006-09-20 16:15     ` Linus Torvalds
2006-09-20 16:59       ` Shawn Pearce
2006-09-20 17:34         ` Linus Torvalds
2006-09-20 23:12         ` Krzysztof Halasa
2006-09-20 19:58     ` Jakub Narebski
2006-09-21  9:14       ` Johannes Schindelin
2006-09-20 19:24   ` Jeff Garzik

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=20060920162810.GB23260@spearce.org \
    --to=spearce@spearce.org \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=pasky@suse.cz \
    --cc=torvalds@osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.