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

Re: Fwd: Re: git checkout -f branch doesn't remove extra files

From
Linus Torvalds <torvalds@osdl.org>
Date
Aug 13, 2005, 05:39 UTC
Message-ID
<Pine.LNX.4.58.0508122235120.19049@g5.osdl.org>
In-Reply-To
<20050813052731.GC11456@redhat.com>
On Sat, 13 Aug 2005, Dave Jones wrote:
Show 7 quoted lines
> 
>  > Git actually has a _lot_ of nifty tools. I didn't realize that people 
>  > didn't know about such basic stuff as "git-tar-tree" and "git-ls-files". 
> 
> Maybe its because things are moving so fast :)  Or maybe I just wasn't
> paying attention on that day. (I even read the git changes via RSS,
> so I should have no excuse).

Well, git-tar-tree has been there since late April - it's actually one of those really early commands. I'm pretty sure the RSS feed came later ;)

I use it all the time in doing releases, it's a lot faster than creating a tar tree by reading the filesystem (even if you don't have to check things out). A hidden pearl.

This is my crappy "release-script":
	[torvalds@g5 ~]$ cat bin/release-script
	#!/bin/sh
	stable="$1"
	last="$2"
	new="$3"
	echo "# git-tag-script v$new"
	echo "git-tar-tree v$new linux-$new | gzip -9 > ../linux-$new.tar.gz"
	echo "git-diff-tree -p v$stable v$new | gzip -9 > ../patch-$new.gz"
	echo "git-rev-list --pretty v$new ^v$last > ../ChangeLog-$new"
	echo "git-rev-list --pretty=short v$new ^v$last | git-shortlog > ../ShortLog"
	echo "git-diff-tree -p v$last v$new | git-apply --stat > ../diffstat-$new"

and when I want to do a new kernel release I literally first tag it, and then do

	release-script 2.6.12 2.6.13-rc6 2.6.13-rc7
and check that things look sane, and then just cut-and-paste the commands.
Yeah, it's stupid.
		Linus
Previous: Dave JonesNext: Linus Torvalds
Message 4 of 8 in “Fwd: Re: git checkout -f branch doesn't remove extra files”
  1. Dave JonesAug 13, 2005
  2. Linus TorvaldsAug 13, 2005
  3. Dave JonesAug 13, 2005
  4. Linus TorvaldsAug 13, 2005
  5. Linus TorvaldsAug 13, 2005
  6. Petr BaudisAug 13, 2005
  7. Sergey VlasovAug 13, 2005
  8. Petr BaudisAug 13, 2005

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.