mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +00:00
215a7ad1ef
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <junkio@cox.net>
52 lines
2 KiB
Text
52 lines
2 KiB
Text
Date: Fri, 12 Aug 2005 22:39:48 -0700 (PDT)
|
|
From: Linus Torvalds <torvalds@osdl.org>
|
|
To: Dave Jones <davej@redhat.com>
|
|
cc: git@vger.kernel.org
|
|
Subject: Re: Fwd: Re: git checkout -f branch doesn't remove extra files
|
|
Abstract: In this article, Linus talks about building a tarball,
|
|
incremental patch, and ChangeLog, given a base release and two
|
|
rc releases, following the convention of giving the patch from
|
|
the base release and the latest rc, with ChangeLog between the
|
|
last rc and the latest rc.
|
|
|
|
On Sat, 13 Aug 2005, Dave Jones wrote:
|
|
>
|
|
> > 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 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
|
|
|