From: Amin Azez <azez@ufomechanic.net>
To: git@vger.kernel.org
Subject: Re: Updated git HOWTO for kernel hackers
Date: Fri, 08 Jul 2005 16:18:57 +0100 [thread overview]
Message-ID: <42CE9961.3090708@ufomechanic.net> (raw)
In-Reply-To: <42B9E536.60704@pobox.com>
Thanks for the HOWTO, Jeff, but it gives me problems in step 4.
I checked out your latest git source today and "make install"ed it as
part of your instructions and at step 4 I get:
$ git checkout -f
error: cannot map sha1 file f8640c306db2d583b9a30f2e52f8fb0a4cf624e0
fatal: failed to unpack tree object a92b7b80579fe68fe229892815c750f6652eb6a9
$ cat .git/HEAD
a92b7b80579fe68fe229892815c750f6652eb6a9
Naturally I have no idea what f8640c306db2d583b9a30f2e52f8fb0a4cf624e0
refers to.
Step 3:
$ git-pull-script \
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
said I was already up to date.
Variations on step 4:
$ git-read-tree -m HEAD
or
$ git-read-tree a92b7b80579fe68fe229892815c750f6652eb6a9
also fail in the same way.
My linux-2.6 directory only has one entry, .git, containing about 75M of
files.
Sam
Jeff Garzik wrote:
>
> Things in git-land are moving at lightning speed, and usability has
> improved a lot since my post a month ago:
> http://lkml.org/lkml/2005/5/26/11
>
>
>
> 1) installing git
>
> git requires bootstrapping, since you must have git installed in order
> to check out git.git (git repo), and linux-2.6.git (kernel repo). I
> have put together a bootstrap tarball of today's git repository.
>
> Download tarball from:
> http://www.kernel.org/pub/linux/kernel/people/jgarzik/git-20050622.tar.bz2
>
> tarball build-deps: zlib, libcurl, libcrypto (openssl)
>
> install tarball: unpack && make && sudo make prefix=/usr/local install
>
> jgarzik helper scripts, not in official git distribution:
> http://www.kernel.org/pub/linux/kernel/people/jgarzik/git-new-branch
> http://www.kernel.org/pub/linux/kernel/people/jgarzik/git-changes-script
>
> After reading the rest of this document, come back and update your copy
> of git to the latest:
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/git.git
>
>
> 2) download a linux kernel tree for the very first time
>
> $ mkdir -p linux-2.6/.git
> $ cd linux-2.6
> $ rsync -a --delete --verbose --stats --progress \
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/
> \ <- word-wrapped backslash; sigh
> .git/
>
>
> 3) update local kernel tree to latest 2.6.x upstream ("fast-forward merge")
>
> $ cd linux-2.6
> $ git-pull-script \
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
>
>
> 4) check out files from the git repository into the working directory
>
> $ git checkout -f
>
>
> 5) check in your own modifications (e.g. do some hacking, or apply a patch)
>
> # go to repo
> $ cd linux-2.6
>
> # make some modifications
> $ patch -sp1 < /tmp/my.patch
> $ diffstat -p1 < /tmp/my.patch
>
> # NOTE: add '--add' and/or '--remove' if files were added or removed
> $ git-update-cache <list of all files changed>
>
> # check in changes
> $ git commit
>
>
> 6) List all changes in working dir, in diff format.
>
> $ git-diff-cache -p HEAD
>
>
> 7) List all changesets (i.e. show each cset's description text) in local
> branch of local tree, that are not present in remote tree.
>
> $ cd my-kernel-tree-2.6
> $ git-changes-script -L ../linux-2.6 | less
>
>
> 8) List all changesets:
>
> $ git-whatchanged
>
>
> 9) apply all patches in a Berkeley mbox-format file
>
> First, download and add to your PATH Linus's git tools:
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/git-tools.git
>
> $ cd my-kernel-tree-2.6
> $ dotest /path/to/mbox # yes, Linus has no taste in naming scripts
>
>
> 10) don't forget to download tags from time to time.
>
> git-pull-script only downloads sha1-indexed object data, and the
> requested remote head. This misses updates to the .git/refs/tags/ and
> .git/refs/heads directories. It is advisable to update your kernel .git
> directories periodically with a full rsync command, to make sure you got
> everything:
>
> $ cd linux-2.6
> $ rsync -a --delete --verbose --stats --progress \
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/
> \ <- word-wrapped backslash; sigh
> .git/
>
>
> 11) list all branches, such as those found in my netdev-2.6 or
> libata-dev trees.
>
> Download
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
> or
> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
>
>
> $ cd netdev-2.6
> $ ls .git/refs/heads/
>
> { these are the current netdev-2.6 branches }
>
>> 8139cp forcedeth master qeth smc91x we18
>> 8139too-iomap for-linus natsemi r8169 smc91x-eeprom wifi
>> airo hdlc ns83820 register-netdev starfire
>> atmel ieee80211 orinoco remove-drivers tlan
>> chelsio iff-running orinoco-hch sis900 veth
>> dm9000 janitor ppp skge viro
>
>
>
> 12) make desired branch current in working directory
>
> $ git checkout -f $branch
>
>
> 13) create a new branch, and make it current
>
> $ cp .git/refs/heads/master .git/refs/heads/my-new-branch-name
> $ git checkout -f my-new-branch-name
>
>
> 14) examine which branch is current
>
> $ ls -l .git/HEAD
>
>
> 15) undo all local modifications (same as checkout):
>
> $ git checkout -f
>
>
> 16) obtain a diff between current branch, and master branch
>
> In most trees WITH BRANCHES, .git/refs/heads/master contains the current
> 'vanilla' upstream tree, for easy diffing and merging. (in trees
> without branches, 'master' simply contains your latest changes)
>
> $ git-diff-tree -p master HEAD
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2005-07-08 15:31 UTC|newest]
Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-22 22:24 Updated git HOWTO for kernel hackers Jeff Garzik
2005-06-22 22:40 ` Dave Jones
2005-06-22 22:47 ` Jeff Garzik
2005-06-22 22:52 ` Dave Jones
2005-06-23 0:14 ` Jeff Garzik
2005-06-25 3:33 ` Jeff Garzik
2005-06-25 17:29 ` Dave Jones
2005-06-22 23:09 ` Greg KH
2005-06-22 23:25 ` Linus Torvalds
2005-06-23 0:05 ` Jeff Garzik
2005-06-23 0:29 ` Linus Torvalds
2005-06-23 1:47 ` Jeff Garzik
2005-06-23 1:56 ` Linus Torvalds
2005-06-23 2:16 ` Jeff Garzik
2005-06-23 2:39 ` Linus Torvalds
2005-06-23 3:06 ` Jeff Garzik
2005-06-23 3:24 ` Linus Torvalds
2005-06-23 5:16 ` Jeff Garzik
2005-06-23 5:58 ` Linus Torvalds
2005-06-23 6:20 ` Greg KH
2005-06-23 6:51 ` Linus Torvalds
2005-06-23 7:11 ` Greg KH
2005-06-23 7:03 ` Jeff Garzik
2005-06-23 7:38 ` Petr Baudis
2005-06-23 8:18 ` Martin Langhoff
2005-06-23 8:30 ` Vojtech Pavlik
2005-06-23 14:31 ` Horst von Brand
2005-06-22 23:16 ` Linus Torvalds
2005-06-23 0:15 ` Jeff Garzik
2005-06-23 1:53 ` Linus Torvalds
2005-06-23 7:06 ` Jeff Garzik
2005-06-23 15:29 ` Linus Torvalds
2005-06-23 0:33 ` Linus Torvalds
2005-06-23 1:19 ` Christian Kujau
2005-06-23 1:45 ` Linus Torvalds
2005-06-24 0:42 ` Christian Kujau
2005-06-23 2:04 ` Jeff Garzik
2005-06-23 2:28 ` Linus Torvalds
2005-06-23 3:52 ` Adam Kropelin
2005-06-23 4:54 ` Linus Torvalds
2005-06-23 5:35 ` Jeff Garzik
2005-06-23 6:37 ` Linus Torvalds
2005-06-23 6:07 ` Miles Bader
2005-06-23 7:15 ` Jeff Garzik
2005-06-23 16:06 ` Linus Torvalds
2005-06-23 8:01 ` Anton Altaparmakov
2005-06-23 2:08 ` Kurt Wall
2005-06-23 4:23 ` Daniel Barkalow
2005-06-23 12:25 ` Dave Airlie
2005-06-23 23:56 ` Mercurial vs " Matt Mackall
2005-06-24 6:41 ` Petr Baudis
2005-06-24 12:38 ` Christopher Li
2005-06-28 15:00 ` Petr Baudis
2005-06-28 15:00 ` Petr Baudis
2005-06-28 15:10 ` Andrew Thompson
2005-06-28 15:10 ` Andrew Thompson
2005-06-28 15:35 ` Petr Baudis
2005-06-28 15:35 ` Petr Baudis
2005-06-28 21:54 ` Horst von Brand
2005-06-28 18:47 ` Christopher Li
2005-06-28 18:47 ` Christopher Li
2005-06-29 0:12 ` Kyle Moffett
2005-06-29 0:12 ` Kyle Moffett
2005-06-28 18:01 ` Matt Mackall
2005-06-28 18:01 ` Matt Mackall
2005-06-28 20:27 ` Kyle Moffett
2005-06-28 20:27 ` Kyle Moffett
2005-06-28 20:45 ` Sean
2005-06-28 22:14 ` Matt Mackall
2005-06-28 22:14 ` Matt Mackall
2005-06-28 22:23 ` Sean
2005-06-28 22:23 ` Sean
2005-06-28 22:47 ` Kyle Moffett
2005-06-28 22:47 ` Kyle Moffett
2005-06-28 22:49 ` Matt Mackall
2005-06-28 22:49 ` Matt Mackall
2005-06-28 22:59 ` Sean
2005-06-28 22:59 ` Sean
2005-06-28 23:25 ` Kyle Moffett
2005-06-28 23:25 ` Kyle Moffett
2005-06-28 23:37 ` Sean
2005-06-28 23:37 ` Sean
2005-06-29 0:08 ` Kyle Moffett
2005-06-29 0:08 ` Kyle Moffett
2005-06-29 0:25 ` Sean
2005-06-29 0:25 ` Sean
2005-06-29 3:53 ` Kyle Moffett
2005-06-29 3:53 ` Kyle Moffett
2005-06-29 10:27 ` Vojtech Pavlik
2005-06-28 23:29 ` Matt Mackall
2005-06-28 23:29 ` Matt Mackall
2005-06-29 6:32 ` Thomas Arendsen Hein
2005-06-24 13:06 ` Andrea Arcangeli
2005-06-24 13:39 ` Theodore Ts'o
2005-06-24 13:46 ` Paolo Ciarrocchi
2005-06-24 12:19 ` Christopher Li
2005-06-24 13:57 ` Kevin Smith
2005-06-24 18:03 ` Matt Mackall
2005-06-28 15:07 ` Petr Baudis
2005-06-28 15:15 ` Sven Verdoolaege
2005-06-28 15:34 ` Petr Baudis
2005-06-28 16:50 ` Cygwin and Native MS Windows (was: Mercurial vs Updated git HOWTO for kernel hackers) Kevin Smith
2005-06-28 16:51 ` Cogito vs. Git " Kevin Smith
2005-06-28 20:54 ` Petr Baudis
2005-06-24 13:16 ` Mercurial vs Updated git HOWTO for kernel hackers Matthias Urlichs
2005-06-24 13:16 ` Matthias Urlichs
2005-06-24 19:00 ` Linus Torvalds
2005-06-24 19:25 ` John W. Linville
2005-06-24 22:38 ` Jeff Garzik
2005-06-24 21:11 ` Daniel Barkalow
2005-06-24 22:08 ` Should "git-read-tree -m -u" delete files? Junio C Hamano
2005-06-24 22:45 ` Mercurial vs Updated git HOWTO for kernel hackers Joel Becker
2005-06-24 23:08 ` Kyle Moffett
2005-06-27 18:31 ` Pavel Machek
2005-06-27 19:05 ` Kyle Moffett
2005-06-27 19:40 ` Matt Mackall
2005-06-27 19:51 ` Benjamin LaHaise
2005-06-27 19:51 ` Benjamin LaHaise
2005-06-27 20:51 ` Matt Mackall
2005-06-27 20:51 ` Matt Mackall
2005-06-27 21:53 ` Ed Tomlinson
2005-07-08 15:18 ` Amin Azez [this message]
2005-07-11 8:56 ` Amin Azez
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=42CE9961.3090708@ufomechanic.net \
--to=azez@ufomechanic.net \
--cc=git@vger.kernel.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.