using -gitX snapshot tags [was Re: Arrr! Linux v2.6.14-rc2]

From: Sean
Date: Tue Sep 20 2005 - 16:43:12 EST


On Tue, September 20, 2005 1:02 pm, Linus Torvalds said:

> It is. Just get the "id" file that is associated with a snapshot, and
> it gives the git commit ID for that state.
>
> So for example, the 2.6.14-rc1-git3 snapshot is associated with the ID
> file patch-2.6.14-rc1-git3.id, which contains
>
> v2.6/snapshots(0)$ cat patch-2.6.14-rc1-git3.id
> 065d9cac98a5406ecd5a1368f8fd38f55739dee9
>
> so once you know that something broke between rc1-git3 and rc1-git4,
> you can now do
>
> git bisect start
> git bisect good 065d9cac98a5406ecd5a1368f8fd38f55739dee9
> git bisect bad bc5e8fdfc622b03acf5ac974a1b8b26da6511c99
>
> and off you go..


The attached patch grabs all the .id files from the snapshot directory on
kernel.org and converts them into tags in a local git repository. So
after running "gtags", your example becomes:

git bisect start
git bisect good v2.6.14-rc1-git3
git bisect bad v2.6.14-rc1-git4

Sean

#----[gtags]-----
#!/bin/sh
cd .git/refs/tags/ || exit
lftp http://www.kernel.org <<\EOF
cd /pub/linux/kernel/v2.6/snapshots/
mget patch*.id
cd /pub/scm/linux/kernel/git/torvalds/linux-2.6.git/refs/tags/
mget *
EOF
rename patch- v patch-*.id
rename .id "" v*.id

Attachment: gtags
Description: Binary data