{"thread":{"id":"1975","subject":"[howto] Kernel hacker's guide to git, updated","startedAt":"2005-09-29T11:03:05Z","lastAt":"2005-10-02T08:47:24Z","messageCount":40,"participants":["Jeff Garzik","David Leimbach","Alberto Patino","Oliver Neukum","Jon Loeliger","Dave Jones","Anton Altaparmakov","Junio C Hamano","Linus Torvalds","Chuck Lever","Elfyn McBratney","Erik Mouw","Johannes Schindelin","Francois Romieu"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"9476","messageId":"433BC9E9.6050907@pobox.com","threadId":"1975","inReplyTo":null,"subject":"[howto] Kernel hacker's guide to git, updated","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-09-29T11:03:05Z","receivedAt":"2005-09-29T11:03:05Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"\nJust updated my KHGtG to include the latest goodies available in \ngit-core, the Linux kernel standard SCM tool:\n\n\thttp://linux.yyz.us/git-howto.html\n\nSeveral changes in git-core have made working with git a lot easier, so \nbe sure to re-familiarize yourself with the development process.\n\nComments, corrections, and notes of omission welcome.  This document \nmainly reflects my typical day-to-day git activities, and may not be \nvery applicable outside of kernel work.\n\n\tJeff\n"},{"id":"9478","messageId":"3e1162e605092908187e181936@mail.gmail.com","threadId":"1975","inReplyTo":"433BC9E9.6050907@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"David Leimbach","fromEmail":"leimy2k@gmail.com","sentAt":"2005-09-29T15:18:49Z","receivedAt":"2005-09-29T15:18:49Z","isPatch":false,"sender":{"key":"leimy2k@gmail.com","avatar":null},"body":"On 9/29/05, Jeff Garzik <jgarzik@pobox.com> wrote:\n>\n> Just updated my KHGtG to include the latest goodies available in\n> git-core, the Linux kernel standard SCM tool:\n>\n>         http://linux.yyz.us/git-howto.html\n\nCan you update the date on that page to reflect your latest updates? \nI was digging around with git yesterday and had a few surprises...\nlike checking out the kernel and being told I modified a bunch of\nfiles I never touched.\n\n- Dave\n"},{"id":"9480","messageId":"4489a22a050929090358badd29@mail.gmail.com","threadId":"1975","inReplyTo":"3e1162e605092908187e181936@mail.gmail.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Alberto Patino","fromEmail":"pato.lukaz@gmail.com","sentAt":"2005-09-29T16:03:23Z","receivedAt":"2005-09-29T16:03:23Z","isPatch":false,"sender":{"key":"pato.lukaz@gmail.com","avatar":null},"body":"On 9/29/05, David Leimbach <leimy2k@gmail.com> wrote:\n> On 9/29/05, Jeff Garzik <jgarzik@pobox.com> wrote:\n> >\n> > Just updated my KHGtG to include the latest goodies available in\n> > git-core, the Linux kernel standard SCM tool:\n> >\n> >         http://linux.yyz.us/git-howto.html\n>\n> Can you update the date on that page to reflect your latest updates?\n> - Dave\n\nThe  KHGtG page is updated to September 29, 2005.\n\n\n\n--\nDon't be evil!!!\n"},{"id":"9484","messageId":"3e1162e605092909137a0da92e@mail.gmail.com","threadId":"1975","inReplyTo":"4489a22a050929090358badd29@mail.gmail.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"David Leimbach","fromEmail":"leimy2k@gmail.com","sentAt":"2005-09-29T16:13:19Z","receivedAt":"2005-09-29T16:13:19Z","isPatch":false,"sender":{"key":"leimy2k@gmail.com","avatar":null},"body":"On 9/29/05, Alberto Patino <pato.lukaz@gmail.com> wrote:\n> On 9/29/05, David Leimbach <leimy2k@gmail.com> wrote:\n> > On 9/29/05, Jeff Garzik <jgarzik@pobox.com> wrote:\n> > >\n> > > Just updated my KHGtG to include the latest goodies available in\n> > > git-core, the Linux kernel standard SCM tool:\n> > >\n> > >         http://linux.yyz.us/git-howto.html\n> >\n> > Can you update the date on that page to reflect your latest updates?\n> > - Dave\n>\n> The  KHGtG page is updated to September 29, 2005.\n>\n>\nAwesome!  Thanks. :-)  I'm looking at cogito and darcs-git for working\nwith v9fs and other goodies.\n\nDave\n"},{"id":"9489","messageId":"200509292108.11092.oliver@neukum.org","threadId":"1975","inReplyTo":"433BC9E9.6050907@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Oliver Neukum","fromEmail":"oliver@neukum.org","sentAt":"2005-09-29T19:08:10Z","receivedAt":"2005-09-29T19:08:10Z","isPatch":false,"sender":{"key":"oliver@neukum.org","avatar":null},"body":"Am Donnerstag, 29. September 2005 13:03 schrieb Jeff Garzik:\n> \n> Just updated my KHGtG to include the latest goodies available in \n> git-core, the Linux kernel standard SCM tool:\n> \n> \thttp://linux.yyz.us/git-howto.html\n> \n> Several changes in git-core have made working with git a lot easier, so \n> be sure to re-familiarize yourself with the development process.\n> \n> Comments, corrections, and notes of omission welcome.  This document \n> mainly reflects my typical day-to-day git activities, and may not be \n> very applicable outside of kernel work.\n\nUnfortunately, following the instructions to the letter produces this:\noliver@oenone:~/linux-2.6> git checkout\nusage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n\n\tRegards\n\t\tOliver\n"},{"id":"9492","messageId":"1128022473.14595.6.camel@cashmere.sps.mot.com","threadId":"1975","inReplyTo":"200509292108.11092.oliver@neukum.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Jon Loeliger","fromEmail":"jdl@freescale.com","sentAt":"2005-09-29T19:34:33Z","receivedAt":"2005-09-29T19:34:33Z","isPatch":false,"sender":{"key":"jdl@jdl.com","avatar":"https://gravatar.com/avatar/75ce9a10b151acd2c28ec4ab2136dba7b2ff1634530bd04b155981a749d08a64?d=mp&s=160"},"body":"On Thu, 2005-09-29 at 14:08, Oliver Neukum wrote:\n\n> Unfortunately, following the instructions to the letter produces this:\n> oliver@oenone:~/linux-2.6> git checkout\n> usage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n\nYeah.  See if you still have a .git/HEADS that symlinks\nto a valid place or not...?\n\njdl\n"},{"id":"9493","messageId":"200509292138.26183.oliver@neukum.org","threadId":"1975","inReplyTo":"1128022473.14595.6.camel@cashmere.sps.mot.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Oliver Neukum","fromEmail":"oliver@neukum.org","sentAt":"2005-09-29T19:38:25Z","receivedAt":"2005-09-29T19:38:25Z","isPatch":false,"sender":{"key":"oliver@neukum.org","avatar":null},"body":"Am Donnerstag, 29. September 2005 21:34 schrieb Jon Loeliger:\n> On Thu, 2005-09-29 at 14:08, Oliver Neukum wrote:\n> \n> > Unfortunately, following the instructions to the letter produces this:\n> > oliver@oenone:~/linux-2.6> git checkout\n> > usage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n> \n> Yeah.  See if you still have a .git/HEADS that symlinks\n> to a valid place or not...?\n\noliver@oenone:~/linux-2.6> ls -la .git/\ninsgesamt 14\ndrwxrwxr-x    6 oliver users  224 2005-09-29 21:06 .\ndrwxr-xr-x    3 oliver users   72 2005-09-29 20:45 ..\n-rw-rw-r--    1 oliver users   19 2005-05-02 01:02 description\nlrwxrwxrwx    1 oliver users   17 2005-09-29 21:06 HEAD -> refs/heads/master\n-rw-------    1 oliver users   32 2005-09-29 21:06 index\ndrwxrwxr-x    2 oliver users  104 2005-09-11 21:41 info\ndrwxr-xr-x  260 oliver users 6240 2005-09-29 19:05 objects\ndrwxrwxr-x    4 oliver users   96 2005-05-02 02:15 refs\ndrwxr-xr-x    2 oliver users   72 2005-09-29 21:05 remotes\noliver@oenone:~/linux-2.6> ls -la .git/refs/\ninsgesamt 1\ndrwxrwxr-x  4 oliver users  96 2005-05-02 02:15 .\ndrwxrwxr-x  6 oliver users 224 2005-09-29 21:06 ..\ndrwxrwxr-x  2 oliver users  72 2005-09-29 19:05 heads\ndrwxrwxr-x  2 oliver users 600 2005-09-20 05:02 tags\noliver@oenone:~/linux-2.6> ls -la .git/refs/heads/\ninsgesamt 4\ndrwxrwxr-x  2 oliver users 72 2005-09-29 19:05 .\ndrwxrwxr-x  4 oliver users 96 2005-05-02 02:15 ..\n-rw-rw-r--  1 oliver users 41 2005-09-29 19:05 master\noliver@oenone:~/linux-2.6> cat .git/refs/heads/master\naa55a08687059aa169d10a313c41f238c2070488\n\n\tRegards\n\t\tOliver\n"},{"id":"9494","messageId":"20050929200252.GA31516@redhat.com","threadId":"1975","inReplyTo":"433BC9E9.6050907@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Dave Jones","fromEmail":"davej@redhat.com","sentAt":"2005-09-29T20:02:52Z","receivedAt":"2005-09-29T20:02:52Z","isPatch":false,"sender":{"key":"davej@redhat.com","avatar":null},"body":"On Thu, Sep 29, 2005 at 07:03:05AM -0400, Jeff Garzik wrote:\n > \n > Just updated my KHGtG to include the latest goodies available in \n > git-core, the Linux kernel standard SCM tool:\n > \n > \thttp://linux.yyz.us/git-howto.html\n > \n > Several changes in git-core have made working with git a lot easier, so \n > be sure to re-familiarize yourself with the development process.\n > \n > Comments, corrections, and notes of omission welcome.  This document \n > mainly reflects my typical day-to-day git activities, and may not be \n > very applicable outside of kernel work.\n\nYou wrote..\n\n$ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n$ cd linux-2.6\n$ rsync -a --verbose --stats --progress \\\n  rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ \\\n  .git/\n\nCould be just..\n\n$ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n$ cd linux-2.6\n$ git pull\n\nLikewise, in the next section, git pull doesn't need an argument\nif pulling from the repo it cloned.\n\n\t\tDave\n"},{"id":"9495","messageId":"Pine.LNX.4.60.0509292106080.17860@hermes-1.csi.cam.ac.uk","threadId":"1975","inReplyTo":"20050929200252.GA31516@redhat.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Anton Altaparmakov","fromEmail":"aia21@cam.ac.uk","sentAt":"2005-09-29T20:07:29Z","receivedAt":"2005-09-29T20:07:29Z","isPatch":false,"sender":{"key":"aia21@cam.ac.uk","avatar":null},"body":"On Thu, 29 Sep 2005, Dave Jones wrote:\n> On Thu, Sep 29, 2005 at 07:03:05AM -0400, Jeff Garzik wrote:\n>  > Just updated my KHGtG to include the latest goodies available in \n>  > git-core, the Linux kernel standard SCM tool:\n>  > \n>  > \thttp://linux.yyz.us/git-howto.html\n>  > \n>  > Several changes in git-core have made working with git a lot easier, so \n>  > be sure to re-familiarize yourself with the development process.\n>  > \n>  > Comments, corrections, and notes of omission welcome.  This document \n>  > mainly reflects my typical day-to-day git activities, and may not be \n>  > very applicable outside of kernel work.\n> \n> You wrote..\n> \n> $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n> $ cd linux-2.6\n> $ rsync -a --verbose --stats --progress \\\n>   rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ \\\n>   .git/\n> \n> Could be just..\n> \n> $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n> $ cd linux-2.6\n> $ git pull\n\nThat is not actually the same.  \"git pull\" for example will not download \nLinus' tags whilst the rsync would get everything.\n\n> Likewise, in the next section, git pull doesn't need an argument\n> if pulling from the repo it cloned.\n\nNow that is definitely correct.  (-:\n\nBest regards,\n\n\tAnton\n-- \nAnton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)\nUnix Support, Computing Service, University of Cambridge, CB2 3QH, UK\nLinux NTFS maintainer / IRC: #ntfs on irc.freenode.net\nWWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/\n"},{"id":"9496","messageId":"20050929201127.GB31516@redhat.com","threadId":"1975","inReplyTo":"Pine.LNX.4.60.0509292106080.17860@hermes-1.csi.cam.ac.uk","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Dave Jones","fromEmail":"davej@redhat.com","sentAt":"2005-09-29T20:11:27Z","receivedAt":"2005-09-29T20:11:27Z","isPatch":false,"sender":{"key":"davej@redhat.com","avatar":null},"body":"On Thu, Sep 29, 2005 at 09:07:29PM +0100, Anton Altaparmakov wrote:\n\n > > $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n > > $ cd linux-2.6\n > > $ rsync -a --verbose --stats --progress \\\n > >   rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ \\\n > >   .git/\n > > \n > > Could be just..\n > > \n > > $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n > > $ cd linux-2.6\n > > $ git pull\n > \n > That is not actually the same.  \"git pull\" for example will not download \n > Linus' tags whilst the rsync would get everything.\n\nAh. I didn't know this. Thanks.\nHmm, it'd be nice to have a shorthand 'not have to type the url, pull everything'.\nSomething like 'git pull all'.\n\n\t\tDave\n"},{"id":"9497","messageId":"433C4B6D.6030701@pobox.com","threadId":"1975","inReplyTo":"20050929200252.GA31516@redhat.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-09-29T20:15:41Z","receivedAt":"2005-09-29T20:15:41Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"Dave Jones wrote:\n> You wrote..\n> \n> $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n> $ cd linux-2.6\n> $ rsync -a --verbose --stats --progress \\\n>   rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ \\\n>   .git/\n> \n> Could be just..\n> \n> $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6\n> $ cd linux-2.6\n> $ git pull\n> \n> Likewise, in the next section, git pull doesn't need an argument\n> if pulling from the repo it cloned.\n\n\nNope.  It intentionally includes the manual rsync because clone/pull \ndoesn't seem to grab tags.  Or at least last time I checked...\n\n\tJeff\n"},{"id":"9501","messageId":"7virwjegb5.fsf@assigned-by-dhcp.cox.net","threadId":"1975","inReplyTo":"433C4B6D.6030701@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-29T21:04:46Z","receivedAt":"2005-09-29T21:04:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Garzik <jgarzik@pobox.com> writes:\n\n> Nope.  It intentionally includes the manual rsync because clone/pull \n> doesn't seem to grab tags.  Or at least last time I checked...\n\nclone does (or should), fetch (and hence pull) does not\nautomatically.  Running the following one-liner every once in a\nwhile would sync your set of tags with Linus:\n\ngit fetch origin `git-ls-remote --tags origin | sed -ne 's|^.*refs/tags/|tag |p'`\n"},{"id":"9503","messageId":"Pine.LNX.4.64.0509291413060.5362@g5.osdl.org","threadId":"1975","inReplyTo":"20050929201127.GB31516@redhat.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-29T21:14:36Z","receivedAt":"2005-09-29T21:14:36Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 29 Sep 2005, Dave Jones wrote:\n>\n> Ah. I didn't know this. Thanks.\n> Hmm, it'd be nice to have a shorthand 'not have to type the url, pull everything'.\n> Something like 'git pull all'.\n\nSomething like this?\n\nExcept it's called \"git fetch --all\", and it's obviously totally untested.\n\n \t\tLinus\n--\ndiff --git a/git-fetch.sh b/git-fetch.sh\n--- a/git-fetch.sh\n+++ b/git-fetch.sh\n@@ -5,6 +5,8 @@\n  _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'\n  _x40=\"$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40\"\n\n+all=\n+tags=\n  append=\n  force=\n  update_head_ok=\n@@ -17,6 +19,12 @@ do\n  \t-f|--f|--fo|--for|--forc|--force)\n  \t\tforce=t\n  \t\t;;\n+\t--tags)\n+\t\ttags=t\n+\t\t;;\n+\t--all)\n+\t\tall=t\n+\t\t;;\n  \t-u|--u|--up|--upd|--upda|--updat|--update|--update-|--update-h|\\\n  \t--update-he|--update-hea|--update-head|--update-head-|\\\n  \t--update-head-o|--update-head-ok)\n@@ -158,7 +166,16 @@ case \"$update_head_ok\" in\n  \t;;\n  esac\n\n-for ref in $(get_remote_refs_for_fetch \"$@\")\n+taglist=\n+if [ \"$tags$all\" ]; then\n+\tpattern='/refs\\/tags/'\n+\tif [ \"$all\" ]; then\n+\t\tpattern='/refs/'\n+\tfi\n+\ttaglist=$(git-ls-remote \"$remote\" | awk \"$pattern\"' { print $2\":\"$2 }')\n+fi\n+\n+for ref in $(get_remote_refs_for_fetch \"$@\" $taglist)\n  do\n      refs=\"$refs $ref\"\n"},{"id":"9504","messageId":"433C5B34.9060907@citi.umich.edu","threadId":"1975","inReplyTo":"433C4B6D.6030701@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Chuck Lever","fromEmail":"cel@citi.umich.edu","sentAt":"2005-09-29T21:23:00Z","receivedAt":"2005-09-29T21:23:00Z","isPatch":false,"sender":{"key":"cel@citi.umich.edu","avatar":null},"body":"Jeff Garzik wrote:\n> Dave Jones wrote:\n> \n>> You wrote..\n>>\n>> $ git clone \n>> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \n>> linux-2.6\n>> $ cd linux-2.6\n>> $ rsync -a --verbose --stats --progress \\\n>>   \n>> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/ \n>> \\\n>>   .git/\n>>\n>> Could be just..\n>>\n>> $ git clone \n>> rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \n>> linux-2.6\n>> $ cd linux-2.6\n>> $ git pull\n>>\n>> Likewise, in the next section, git pull doesn't need an argument\n>> if pulling from the repo it cloned.\n> \n> \n> \n> Nope.  It intentionally includes the manual rsync because clone/pull \n> doesn't seem to grab tags.  Or at least last time I checked...\n\ni just used the instructions at the bottom of your web page to grab new \ntags, and it completely wiped all my Stacked Git metadata.  (fortunately \ni was trying this in a test repository, and it will be simple to recover \nthe missing files).\n\nso, this is probably something that should have a warning, or maybe you \nmight consider providing an example that won't wipe out existing files \nand directories under .git/ ...\n\n\nbegin:vcard\nfn:Chuck Lever\nn:Lever;Charles\norg:Network Appliance, Incorporated;Linux NFS Client Development\nadr:535 West William Street, Suite 3100;;Center for Information Technology Integration;Ann Arbor;MI;48103-4943;USA\nemail;internet:cel@citi.umich.edu\ntitle:Member of Technical Staff\ntel;work:+1 734 763 4415\ntel;fax:+1 734 763 4434\ntel;home:+1 734 668 1089\nx-mozilla-html:FALSE\nurl:http://www.monkey.org/~cel/\nversion:2.1\nend:vcard\n\n"},{"id":"9506","messageId":"Pine.LNX.4.64.0509291425560.5362@g5.osdl.org","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291413060.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-29T21:26:42Z","receivedAt":"2005-09-29T21:26:42Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 29 Sep 2005, Linus Torvalds wrote:\n>\n> Something like this?\n\nGaah. Using a new pine version, and it is back to corrupting whitespace.\n\nDamn all mailer writers. Do they think email is just for grandma?\n\n \t\tLinus\n"},{"id":"9508","messageId":"20050929213312.GD31516@redhat.com","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291425560.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Dave Jones","fromEmail":"davej@redhat.com","sentAt":"2005-09-29T21:33:12Z","receivedAt":"2005-09-29T21:33:12Z","isPatch":false,"sender":{"key":"davej@redhat.com","avatar":null},"body":"On Thu, Sep 29, 2005 at 02:26:42PM -0700, Linus Torvalds wrote:\n\n > On Thu, 29 Sep 2005, Linus Torvalds wrote:\n > >\n > >Something like this?\n > \n > Gaah. Using a new pine version, and it is back to corrupting whitespace.\n > \n > Damn all mailer writers. Do they think email is just for grandma?\n\nWhat I find amusing is that it was a patch rejection mail from you\n*years* back (circa 2000 iirc), telling me my pine corrupted whitespace,\nthat made me switch MUA ;-)\n\nAll these years later, and it's still buggered ?\n\n\t\tDave\n"},{"id":"9507","messageId":"20050929213315.GA13542@zippy.emcb.local","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291425560.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Elfyn McBratney","fromEmail":"beu@gentoo.org","sentAt":"2005-09-29T21:33:15Z","receivedAt":"2005-09-29T21:33:15Z","isPatch":false,"sender":{"key":"beu@gentoo.org","avatar":null},"body":"On Thu, Sep 29, 2005 at 02:26:42PM -0700, Linus Torvalds wrote:\n > \n > \n > On Thu, 29 Sep 2005, Linus Torvalds wrote:\n > >Something like this?\n > \n > Gaah. Using a new pine version, and it is back to corrupting whitespace.\n > \n > Damn all mailer writers. Do they think email is just for grandma?\n\nOf course - grandma uses pine, hackers use mutt ;)\n\n*hides*\n\nBest,\nElfyn\n\n-- \nElfyn McBratney\nGentoo Developer/Perl Team Lead\nbeu/irc.freenode.net                            http://dev.gentoo.org/~beu/\n+------------O.o--------------------- http://dev.gentoo.org/~beu/pubkey.asc\n\nPGP Key ID: 0x69DF17AD\nPGP Key Fingerprint:\n  DBD3 B756 ED58 B1B4 47B9  B3BD 8D41 E597 69DF 17AD\n"},{"id":"9509","messageId":"Pine.LNX.4.64.0509291433040.5362@g5.osdl.org","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291425560.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-29T21:35:15Z","receivedAt":"2005-09-29T21:35:15Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 29 Sep 2005, Linus Torvalds wrote:\n> \n> Gaah. Using a new pine version, and it is back to corrupting whitespace.\n\nOk, disabling \"text flowing\" seems to have fixed it. It still leaves empty \nspaces at the end of lines when doing normal word-wrapping in the editor \n(and then seems to use those empty spaces as a \"marker\" for flowing), but \nthat's at least just a small silly detail.\n\nSo how about this patch now? With it you can do\n\n\tgit fetch --tags <linus-kernel-repo>\n\nand it should fetch all my tags automatically.\n\n\t\tLinus\n---\ndiff --git a/git-fetch.sh b/git-fetch.sh\n--- a/git-fetch.sh\n+++ b/git-fetch.sh\n@@ -5,6 +5,8 @@\n _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'\n _x40=\"$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40\"\n \n+all=\n+tags=\n append=\n force=\n update_head_ok=\n@@ -17,6 +19,12 @@ do\n \t-f|--f|--fo|--for|--forc|--force)\n \t\tforce=t\n \t\t;;\n+\t--tags)\n+\t\ttags=t\n+\t\t;;\n+\t--all)\n+\t\tall=t\n+\t\t;;\n \t-u|--u|--up|--upd|--upda|--updat|--update|--update-|--update-h|\\\n \t--update-he|--update-hea|--update-head|--update-head-|\\\n \t--update-head-o|--update-head-ok)\n@@ -158,7 +166,16 @@ case \"$update_head_ok\" in\n \t;;\n esac\n \n-for ref in $(get_remote_refs_for_fetch \"$@\")\n+taglist=\n+if [ \"$tags$all\" ]; then\n+\tpattern='/refs\\/tags/'\n+\tif [ \"$all\" ]; then\n+\t\tpattern='/refs/'\n+\tfi\n+\ttaglist=$(git-ls-remote \"$remote\" | awk \"$pattern\"' { print $2\":\"$2 }')\n+fi\n+\n+for ref in $(get_remote_refs_for_fetch \"$@\" $taglist)\n do\n     refs=\"$refs $ref\"\n \n"},{"id":"9510","messageId":"20050929214043.GE31516@redhat.com","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291433040.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Dave Jones","fromEmail":"davej@redhat.com","sentAt":"2005-09-29T21:40:43Z","receivedAt":"2005-09-29T21:40:43Z","isPatch":false,"sender":{"key":"davej@redhat.com","avatar":null},"body":"On Thu, Sep 29, 2005 at 02:35:15PM -0700, Linus Torvalds wrote:\n > \n > \n > On Thu, 29 Sep 2005, Linus Torvalds wrote:\n > > \n > > Gaah. Using a new pine version, and it is back to corrupting whitespace.\n > \n > Ok, disabling \"text flowing\" seems to have fixed it. It still leaves empty \n > spaces at the end of lines when doing normal word-wrapping in the editor \n > (and then seems to use those empty spaces as a \"marker\" for flowing), but \n > that's at least just a small silly detail.\n > \n > So how about this patch now? With it you can do\n > \n > \tgit fetch --tags <linus-kernel-repo>\n > \n > and it should fetch all my tags automatically.\n\nSeems to work. I blew away git/refs/tags/v2.6.13*\nand git fetch --tags fetched them all back just fine.\n\n\t\tDave\n"},{"id":"9512","messageId":"Pine.LNX.4.64.0509291451540.5362@g5.osdl.org","threadId":"1975","inReplyTo":"20050929213312.GD31516@redhat.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-29T21:55:43Z","receivedAt":"2005-09-29T21:55:43Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 29 Sep 2005, Dave Jones wrote:\n>\n> What I find amusing is that it was a patch rejection mail from you\n> *years* back (circa 2000 iirc), telling me my pine corrupted whitespace,\n> that made me switch MUA ;-)\n> \n> All these years later, and it's still buggered ?\n\nActually, it seems better. It seems to be buggered by default, but it used \nto be that you had to actually recompile pine to make it behave. Now you \ncan just disable \"strip-whitespace-before-send\" and _enable_ \n\"quell-flowed-text\" and those together seem to do the trick. No extra \npatches or recompiles necessary.\n\nSo there's progress. \n\nOf course, pico is still pico. Which I find a bit sad: my editor of choise \nis still an improved version of uemacs, and pico actually comes from the \nsame uemacs history, but has different key-bindings for just enough keys \nto be slightly confusing.\n\nStill, that shared history means that I find pico a lot more to my taste \nthan just about any other emailer editor out there. It may have a few \ndifferences, but it has more things in common..\n\n\t\tLinus\n"},{"id":"9513","messageId":"Pine.LNX.4.60.0509292309470.17860@hermes-1.csi.cam.ac.uk","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291451540.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Anton Altaparmakov","fromEmail":"aia21@cam.ac.uk","sentAt":"2005-09-29T22:12:37Z","receivedAt":"2005-09-29T22:12:37Z","isPatch":false,"sender":{"key":"aia21@cam.ac.uk","avatar":null},"body":"On Thu, 29 Sep 2005, Linus Torvalds wrote:\n> On Thu, 29 Sep 2005, Dave Jones wrote:\n> > What I find amusing is that it was a patch rejection mail from you\n> > *years* back (circa 2000 iirc), telling me my pine corrupted whitespace,\n> > that made me switch MUA ;-)\n> > \n> > All these years later, and it's still buggered ?\n> \n> Actually, it seems better. It seems to be buggered by default, but it used \n> to be that you had to actually recompile pine to make it behave. Now you \n> can just disable \"strip-whitespace-before-send\" and _enable_ \n> \"quell-flowed-text\" and those together seem to do the trick. No extra \n> patches or recompiles necessary.\n\nIndeed.  I use those two options like that, too.  (-:\n\n> So there's progress. \n> \n> Of course, pico is still pico. Which I find a bit sad: my editor of choise \n> is still an improved version of uemacs, and pico actually comes from the \n> same uemacs history, but has different key-bindings for just enough keys \n> to be slightly confusing.\n> \n> Still, that shared history means that I find pico a lot more to my taste \n> than just about any other emailer editor out there. It may have a few \n> differences, but it has more things in common..\n\nWhy don't you enable \"enable-alternate-editor-implicitly\" and set \neditor = \"your-editor-of-choice\" in the pine config?  It is integrated in \na quite seamless way.\n\nBest regards,\n\n\tAnton\n-- \nAnton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)\nUnix Support, Computing Service, University of Cambridge, CB2 3QH, UK\nLinux NTFS maintainer / IRC: #ntfs on irc.freenode.net\nWWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/\n"},{"id":"9515","messageId":"Pine.LNX.4.64.0509291521300.5362@g5.osdl.org","threadId":"1975","inReplyTo":"Pine.LNX.4.60.0509292309470.17860@hermes-1.csi.cam.ac.uk","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-29T22:25:34Z","receivedAt":"2005-09-29T22:25:34Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 29 Sep 2005, Anton Altaparmakov wrote:\n> \n> Why don't you enable \"enable-alternate-editor-implicitly\" and set \n> editor = \"your-editor-of-choice\" in the pine config?  It is integrated in \n> a quite seamless way.\n\nYou think so? I don't find it that way.\n\nWith an alternate editor you have to edit the headers separately, and \nthings like postponing a message suddenly turns into a big deal, not just \na trivial ^O. In fact, almost everything gets more involved.\n\nAnd pico _is_ pretty close to uemacs.\n\n\t\tLinus\n"},{"id":"9516","messageId":"Pine.LNX.4.60.0509292330130.17860@hermes-1.csi.cam.ac.uk","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509291521300.5362@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Anton Altaparmakov","fromEmail":"aia21@cam.ac.uk","sentAt":"2005-09-29T22:32:57Z","receivedAt":"2005-09-29T22:32:57Z","isPatch":false,"sender":{"key":"aia21@cam.ac.uk","avatar":null},"body":"On Thu, 29 Sep 2005, Linus Torvalds wrote:\n> On Thu, 29 Sep 2005, Anton Altaparmakov wrote:\n> > Why don't you enable \"enable-alternate-editor-implicitly\" and set \n> > editor = \"your-editor-of-choice\" in the pine config?  It is integrated in \n> > a quite seamless way.\n> \n> You think so? I don't find it that way.\n> \n> With an alternate editor you have to edit the headers separately, and \n> things like postponing a message suddenly turns into a big deal, not just \n> a trivial ^O. In fact, almost everything gets more involved.\n\nWell using vim as alternate editor a postpone turns into a \"ZZ\" followed \nby ^O which I don't think is such a big deal but in general I agree that \nit adds hassle.  It is a shame that the text based headers do not appear \nas part of the message in the editor in particular...\n \n> And pico _is_ pretty close to uemacs.\n\nI wouldn't know about that.  Never used uemacs.  I am a vim addict myself.  \n(-;\n\nBest regards,\n\n\tAnton\n-- \nAnton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)\nUnix Support, Computing Service, University of Cambridge, CB2 3QH, UK\nLinux NTFS maintainer / IRC: #ntfs on irc.freenode.net\nWWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/\n"},{"id":"9517","messageId":"7vek77ea2s.fsf@assigned-by-dhcp.cox.net","threadId":"1975","inReplyTo":"Pine.LNX.4.60.0509292309470.17860@hermes-1.csi.cam.ac.uk","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-29T23:19:23Z","receivedAt":"2005-09-29T23:19:23Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Anton Altaparmakov <aia21@cam.ac.uk> writes:\n\n> On Thu, 29 Sep 2005, Linus Torvalds wrote:\n>> On Thu, 29 Sep 2005, Dave Jones wrote:\n>> > What I find amusing is that it was a patch rejection mail from you\n>> > *years* back (circa 2000 iirc), telling me my pine corrupted whitespace,\n>> > that made me switch MUA ;-)\n>> > \n>> > All these years later, and it's still buggered ?\n>> \n>> Actually, it seems better. It seems to be buggered by default, but it used \n>> to be that you had to actually recompile pine to make it behave. Now you \n>> can just disable \"strip-whitespace-before-send\" and _enable_ \n>> \"quell-flowed-text\" and those together seem to do the trick. No extra \n>> patches or recompiles necessary.\n>\n> Indeed.  I use those two options like that, too.  (-:\n\nAnybody interested in adding entry to SubmittingPatches MUA\nSpecific Help section?\n"},{"id":"9537","messageId":"7vslvn6m6y.fsf@assigned-by-dhcp.cox.net","threadId":"1975","inReplyTo":"200509292138.26183.oliver@neukum.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-30T07:37:09Z","receivedAt":"2005-09-30T07:37:09Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Oliver Neukum <oliver@neukum.org> writes:\n\n> Am Donnerstag, 29. September 2005 21:34 schrieb Jon Loeliger:\n>> On Thu, 2005-09-29 at 14:08, Oliver Neukum wrote:\n>> \n>> > Unfortunately, following the instructions to the letter produces this:\n>> > oliver@oenone:~/linux-2.6> git checkout\n>> > usage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n>> \n>> Yeah.  See if you still have a .git/HEADS that symlinks\n>> to a valid place or not...?\n>\n> oliver@oenone:~/linux-2.6> ls -la .git/\n> insgesamt 14\n> drwxrwxr-x    6 oliver users  224 2005-09-29 21:06 .\n> drwxr-xr-x    3 oliver users   72 2005-09-29 20:45 ..\n> -rw-rw-r--    1 oliver users   19 2005-05-02 01:02 description\n> lrwxrwxrwx    1 oliver users   17 2005-09-29 21:06 HEAD -> refs/heads/master\n> -rw-------    1 oliver users   32 2005-09-29 21:06 index\n\nI wonder what that 32-byte small file called 'index' is doing\nthere.  If this is the kernel tree, its index file should weigh\nabout 1.7MB if I recall correctly.\n"},{"id":"9542","messageId":"200509301036.16887.oliver@neukum.org","threadId":"1975","inReplyTo":"7vslvn6m6y.fsf@assigned-by-dhcp.cox.net","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Oliver Neukum","fromEmail":"oliver@neukum.org","sentAt":"2005-09-30T08:36:16Z","receivedAt":"2005-09-30T08:36:16Z","isPatch":false,"sender":{"key":"oliver@neukum.org","avatar":null},"body":"Am Freitag, 30. September 2005 09:37 schrieb Junio C Hamano:\n> Oliver Neukum <oliver@neukum.org> writes:\n> \n> > Am Donnerstag, 29. September 2005 21:34 schrieb Jon Loeliger:\n> >> On Thu, 2005-09-29 at 14:08, Oliver Neukum wrote:\n> >> \n> >> > Unfortunately, following the instructions to the letter produces this:\n> >> > oliver@oenone:~/linux-2.6> git checkout\n> >> > usage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n> >> \n> >> Yeah.  See if you still have a .git/HEADS that symlinks\n> >> to a valid place or not...?\n> >\n> > oliver@oenone:~/linux-2.6> ls -la .git/\n> > insgesamt 14\n> > drwxrwxr-x    6 oliver users  224 2005-09-29 21:06 .\n> > drwxr-xr-x    3 oliver users   72 2005-09-29 20:45 ..\n> > -rw-rw-r--    1 oliver users   19 2005-05-02 01:02 description\n> > lrwxrwxrwx    1 oliver users   17 2005-09-29 21:06 HEAD -> refs/heads/master\n> > -rw-------    1 oliver users   32 2005-09-29 21:06 index\n> \n> I wonder what that 32-byte small file called 'index' is doing\n> there.  If this is the kernel tree, its index file should weigh\n> about 1.7MB if I recall correctly.\n\nI have no idea, but the instructions as stated didn't work for me.\nCan you replicate that?\n\n\tRegards\n\t\tOliver\n"},{"id":"9546","messageId":"433D1E5D.20303@pobox.com","threadId":"1975","inReplyTo":"7virwjegb5.fsf@assigned-by-dhcp.cox.net","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-09-30T11:15:41Z","receivedAt":"2005-09-30T11:15:41Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"\nThanks for all the comments.  I just updated the KHGtG with the feedback \nI received.  Go to\n\n\thttp://linux.yyz.us/git-howto.html\n\nand click reload.  Continued criticism^H^H^Hcomments welcome!\n\n\n\nTwo items of note:\n\n1)\n> automatically.  Running the following one-liner every once in a\n> while would sync your set of tags with Linus:\n> \n> git fetch origin `git-ls-remote --tags origin | sed -ne 's|^.*refs/tags/|tag |p'`\n\nthat's way too long and convoluted to deal with.  Once the 'git fetch \n--tags' changes make it into the official repository (are they there \nalready?), I'll remove all the remaining direct references to running rsync.\n\n\n2) What is the easiest way to obtain a list of changes present in \nrepository B, that are not present in repository A?  I used to use \ngit-changes-script [hacked cg-log script] for this:\n\n\t$ cd /repo/netdev-2.6\n\t$ git-changes-script -L ../linux-2.6\n\nwould display all changes in /repo/netdev-2.6 which are not present in \n/repo/linux-2.6.  This is similar to 'git log master..HEAD', except for \nrepositories rather than branches.\n\n\tJeff\n"},{"id":"9547","messageId":"7v64si4von.fsf@assigned-by-dhcp.cox.net","threadId":"1975","inReplyTo":"433D1E5D.20303@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-30T11:55:04Z","receivedAt":"2005-09-30T11:55:04Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Garzik <jgarzik@pobox.com> writes:\n\n> ...  Once the 'git fetch --tags' changes make it into the\n> official repository (are they there already?), I'll remove all\n> the remaining direct references to running rsync.\n\nSounds like a thinly veiled threat and/or very effective\nprodding ;-).\n\nIt is not there yet only because I simply have not got around to\nit, but it will happen before 0.99.8.\n\nI suspect the version Linus posted has a funny interaction with\n'git-pull'; 'git pull --tags' by mistake, or intentionally to\nfile a bug report to annoy me ;-), would create an Octopus out\nof those tags, if I am not mistaken.\n\n> 2) What is the easiest way to obtain a list of changes present in \n> repository B, that are not present in repository A?  I used to use \n> git-changes-script [hacked cg-log script] for this:\n\nI think I still have the copy you sent to the list.  If you do\nnot mind me placing in the master branch just holler -- better\nyet please send a patch with commit log and signoff to add the\nlatest, and I will apply it.\n\n-jc\n"},{"id":"9548","messageId":"200509301402.46740.oliver@neukum.org","threadId":"1975","inReplyTo":"433D1E5D.20303@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Oliver Neukum","fromEmail":"oliver@neukum.org","sentAt":"2005-09-30T12:02:46Z","receivedAt":"2005-09-30T12:02:46Z","isPatch":false,"sender":{"key":"oliver@neukum.org","avatar":null},"body":"Am Freitag, 30. September 2005 13:15 schrieb Jeff Garzik:\n> \n> Thanks for all the comments.  I just updated the KHGtG with the feedback \n> I received.  Go to\n> \n> \thttp://linux.yyz.us/git-howto.html\n> \n> and click reload.  Continued criticism^H^H^Hcomments welcome!\n> \n\nThe error is still there.\n\noliver@oenone:~/linux-2.6> git checkout -f master\nusage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n\n\tRegards\n\t\tOliver\n"},{"id":"9549","messageId":"20050930120739.GB9328@harddisk-recovery.com","threadId":"1975","inReplyTo":"433D1E5D.20303@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Erik Mouw","fromEmail":"erik@harddisk-recovery.com","sentAt":"2005-09-30T12:07:39Z","receivedAt":"2005-09-30T12:07:39Z","isPatch":false,"sender":{"key":"erik@harddisk-recovery.com","avatar":null},"body":"On Fri, Sep 30, 2005 at 07:15:41AM -0400, Jeff Garzik wrote:\n> >automatically.  Running the following one-liner every once in a\n> >while would sync your set of tags with Linus:\n> >\n> >git fetch origin `git-ls-remote --tags origin | sed -ne \n> >'s|^.*refs/tags/|tag |p'`\n> \n> that's way too long and convoluted to deal with.  Once the 'git fetch \n> --tags' changes make it into the official repository (are they there \n> already?), I'll remove all the remaining direct references to running rsync.\n\nFYI, the rsync command to get the tags blows away .git/branches/origin,\nso on the next \"git pull\", git will tell you \"Where do you want to\nfetch from today?\".\n\nIn the mean time, better make it two separate rsync commands (sorry for\nthe long lines):\n\nrsync -a --delete --verbose --stats --progress \\\n  rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/tags/ \\\n  .git/tags/\n\nrsync -a --delete --verbose --stats --progress \\\n  rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git/heads/ \\\n  .git/heads/\n\n\nErik\n\n-- \n+-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 --\n| Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands\n"},{"id":"9550","messageId":"Pine.LNX.4.63.0509301421160.15604@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1975","inReplyTo":"7vek77ea2s.fsf@assigned-by-dhcp.cox.net","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-30T12:22:25Z","receivedAt":"2005-09-30T12:22:25Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 29 Sep 2005, Junio C Hamano wrote:\n\n> Anton Altaparmakov <aia21@cam.ac.uk> writes:\n> \n> > On Thu, 29 Sep 2005, Linus Torvalds wrote:\n> >> On Thu, 29 Sep 2005, Dave Jones wrote:\n> >> > What I find amusing is that it was a patch rejection mail from you\n> >> > *years* back (circa 2000 iirc), telling me my pine corrupted whitespace,\n> >> > that made me switch MUA ;-)\n> >> > \n> >> > All these years later, and it's still buggered ?\n> >> \n> >> Actually, it seems better. It seems to be buggered by default, but it used \n> >> to be that you had to actually recompile pine to make it behave. Now you \n> >> can just disable \"strip-whitespace-before-send\" and _enable_ \n> >> \"quell-flowed-text\" and those together seem to do the trick. No extra \n> >> patches or recompiles necessary.\n> >\n> > Indeed.  I use those two options like that, too.  (-:\n> \n> Anybody interested in adding entry to SubmittingPatches MUA\n> Specific Help section?\n\nDid I miss something? Straight from my local git directory:\n\n-- snip --\n\nPine\n----\n\n(Johannes Schindelin)\n\nI don't know how many people still use pine, but for those poor\nsouls it may be good to mention that the quell-flowed-text is\nneeded for recent versions.\n\n... the \"no-strip-whitespace-before-send\" option, too. AFAIK it\nwas introduced in 4.60.\n\n-- snap --\n\nHth,\nDscho\n"},{"id":"9554","messageId":"433D447E.9030103@pobox.com","threadId":"1975","inReplyTo":"200509301402.46740.oliver@neukum.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-09-30T13:58:22Z","receivedAt":"2005-09-30T13:58:22Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"Oliver Neukum wrote:\n> Am Freitag, 30. September 2005 13:15 schrieb Jeff Garzik:\n> \n>>Thanks for all the comments.  I just updated the KHGtG with the feedback \n>>I received.  Go to\n>>\n>>\thttp://linux.yyz.us/git-howto.html\n>>\n>>and click reload.  Continued criticism^H^H^Hcomments welcome!\n>>\n> \n> \n> The error is still there.\n> \n> oliver@oenone:~/linux-2.6> git checkout -f master\n> usage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n\nSomething's wrong with your installation, not the instructions.  Works \nfine here.\n\n\tJeff\n"},{"id":"9555","messageId":"433D46F1.9010209@pobox.com","threadId":"1975","inReplyTo":"20050930120739.GB9328@harddisk-recovery.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-09-30T14:08:49Z","receivedAt":"2005-09-30T14:08:49Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"Erik Mouw wrote:\n> FYI, the rsync command to get the tags blows away .git/branches/origin,\n> so on the next \"git pull\", git will tell you \"Where do you want to\n> fetch from today?\".\n\nAgreed, though I always run 'git pull $url' each time, so I never \nnoticed this.\n\nSince git clone pulls the tags, I have eliminated the first rsync \ncompletely.\n\n\tJeff\n"},{"id":"9556","messageId":"433D477A.4010009@pobox.com","threadId":"1975","inReplyTo":"7v64si4von.fsf@assigned-by-dhcp.cox.net","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Jeff Garzik","fromEmail":"jgarzik@pobox.com","sentAt":"2005-09-30T14:11:06Z","receivedAt":"2005-09-30T14:11:06Z","isPatch":false,"sender":{"key":"jgarzik@pobox.com","avatar":null},"body":"Junio C Hamano wrote:\n> Jeff Garzik <jgarzik@pobox.com> writes:\n>>2) What is the easiest way to obtain a list of changes present in \n>>repository B, that are not present in repository A?  I used to use \n>>git-changes-script [hacked cg-log script] for this:\n> \n> \n> I think I still have the copy you sent to the list.  If you do\n> not mind me placing in the master branch just holler -- better\n> yet please send a patch with commit log and signoff to add the\n> latest, and I will apply it.\n\nIt's archived here:\nhttp://www.kernel.org/pub/linux/kernel/people/jgarzik/git-changes-script\n\nbut it needs a git expert (read: not me :)) to fix it up for the very \nlatest git-core stuff.\n\nCurrently, using 'git-changes-script -L ../linux-2.6' spits out\n> --------------------------\n> commit 2fca877b68b2b4fc5b94277858a1bedd46017cde\n> usage: git-cat-file [-t | -s | <type>] <sha1>\n> \n> --------------------------\n> commit ff40c6d3d1437ecdf295b8e39adcb06c3d6021ef\n> usage: git-cat-file [-t | -s | <type>] <sha1>\n> \n> --------------------------\n> commit 8bf62ecee58360749c5f0e68bc97d5e02a6816b1\n> usage: git-cat-file [-t | -s | <type>] <sha1>\n> \n> --------------------------\n\nRegards,\n\n\tJeff\n"},{"id":"9557","messageId":"4489a22a0509300810y723e5ef5tb9109a29508a1e38@mail.gmail.com","threadId":"1975","inReplyTo":"433D447E.9030103@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Alberto Patino","fromEmail":"pato.lukaz@gmail.com","sentAt":"2005-09-30T15:10:57Z","receivedAt":"2005-09-30T15:10:57Z","isPatch":false,"sender":{"key":"pato.lukaz@gmail.com","avatar":null},"body":"On 9/30/05, Jeff Garzik <jgarzik@pobox.com> wrote:\n> Oliver Neukum wrote:\n> >\n> > The error is still there.\n> >\n> > oliver@oenone:~/linux-2.6> git checkout -f master\n> > usage: read-tree (<sha> | -m <sha1> [<sha2> <sha3>])\n>\n> Something's wrong with your installation, not the instructions.  Works\n> fine here.\n>\n\nRight , you must have a corrupted copy of the git repo. Do the initial\ncloning of the linux repository again, and then retry the git\ncheckout.\n"},{"id":"9559","messageId":"Pine.LNX.4.64.0509300937130.3378@g5.osdl.org","threadId":"1975","inReplyTo":"7vslvn6m6y.fsf@assigned-by-dhcp.cox.net","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-30T16:39:18Z","receivedAt":"2005-09-30T16:39:18Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 30 Sep 2005, Junio C Hamano wrote:\n> \n> I wonder what that 32-byte small file called 'index' is doing\n> there.  If this is the kernel tree, its index file should weigh\n> about 1.7MB if I recall correctly.\n\n32 bytes is what you get for an empty index (it's a 12-byte header, \nfollowed by a 20-byte SHA1 of the contents).\n\nIn general, such an index file it should be 100% equivalent to not having \nan index file at all.\n\n\t\tLinus\n"},{"id":"9562","messageId":"Pine.LNX.4.64.0509301112100.3378@g5.osdl.org","threadId":"1975","inReplyTo":"7v64si4von.fsf@assigned-by-dhcp.cox.net","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-30T18:14:22Z","receivedAt":"2005-09-30T18:14:22Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Fri, 30 Sep 2005, Junio C Hamano wrote:\n> \n> I suspect the version Linus posted has a funny interaction with\n> 'git-pull'; 'git pull --tags' by mistake, or intentionally to\n> file a bug report to annoy me ;-), would create an Octopus out\n> of those tags, if I am not mistaken.\n\nHey, even more impressive is \"git pull --all\", which will happily try to \ncreate an octopus of every single ref available at the other end.\n\nNow, I think that octopus merges in _general_ are likely to be driver \nerror, and that it might make sense to have a separate flag to enable \nthem in the first place. That would solve the confusion..\n\nSo then you could do\n\n\tgit pull --all --octopus xyzzy\n\nif you _really_ meant to do that. \n\n\t\tLinus\n"},{"id":"9570","messageId":"20050930225207.GC24548@electric-eye.fr.zoreil.com","threadId":"1975","inReplyTo":"433D1E5D.20303@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Francois Romieu","fromEmail":"romieu@fr.zoreil.com","sentAt":"2005-09-30T22:52:07Z","receivedAt":"2005-09-30T22:52:07Z","isPatch":false,"sender":{"key":"romieu@fr.zoreil.com","avatar":null},"body":"Jeff Garzik <jgarzik@pobox.com> :\n[...]\n> Thanks for all the comments.  I just updated the KHGtG with the feedback \n> I received.  Go to\n> \n> \thttp://linux.yyz.us/git-howto.html\n> \n> and click reload.  Continued criticism^H^H^Hcomments welcome!\n\nThe basic tasks make no use of git-whatchanged.\n\nEven if it is a CVSism, it is quite handful to retrieve the history of\nthe patchsets by aiming at a specific file.\n\n--\nUeimor\n"},{"id":"9586","messageId":"7voe69664a.fsf@assigned-by-dhcp.cox.net","threadId":"1975","inReplyTo":"Pine.LNX.4.64.0509301112100.3378@g5.osdl.org","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-10-01T07:36:37Z","receivedAt":"2005-10-01T07:36:37Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@osdl.org> writes:\n\n> Hey, even more impressive is \"git pull --all\", which will happily try to \n> create an octopus of every single ref available at the other end.\n\nTrue.\n\nHowever, I think --all is a mistake even if you use it without\nmerging in 'git fetch', so I am not planning to do refs/heads/\nside, at least not yet.  Even if you prevent an Octopus, what\nwould you do then?  If you choose to merge one of them, which\none?  Not merging any that is not explicitly specified on the\ncommand line, seems to me the most sensible and safe option.\n\nThe rule for 'pull' to decide which refs to merge is:\n\n (1) if command line has explicit refspecs (--tags and --heads\n     do not count), they are all merged.\n\n (2) if command line has no explicit refspecs (--tags and\n     --heads do not count), the default one found from either\n     remotes or branches file is merged.\n\nNotice that I am forbidding remotes file to say \"by default I\nalways merge these three heads from there to make an Octopus\" by\nthe above rule (branches file cannot even name more than one\nhead so this is not an issue).  Since everybody seems to agree\nthat Octopus is not something that is done mechanically and\nroutinely anyway [*1*], I think this is a sensible way to guard\nagainst accidental Octopus.\n\nWe could consider fetching all heads, by minimally renaming\nremote master to origin and getting everything else under the\nsame name, but I'd really want to keep the local namespace for\nbranches isolated from each other.  Many kernel.org public\nrepositories seem to have 'test' and 'release' branches and if\nyou are a maintainer of such a tree, and if you are interested\nin another maintainer's tree, and if that other maintainer has\nthe 'test' and 'release' branches, --heads (or --tags)\noverwriting your 'test' with his 'test' is obviously not what\nyou want.\n\nPossibly, something like this could be arranged later:\n\n\t* git fetch --heads=$ns $remote \"$@\"\n\n\tIn addition to the usual refspecs (the rest of the\n\tcommand line arguments), fetch all remote heads and\n\tstore remote refs/heads/$a under local refs/heads/$ns/$a\n\tfor all $a.  If $ns is empty, remote \"master\" is renamed\n\t\"origin\".\n\n\t* git fetch --heads $remote \"$@\"\n\n        shorthand for empty $ns\n\n[Footnote]\n\n*1* I do make many Octopus merges, but they happen across my\nlocal topic branches.  Topics merged change day-by-day, and even\nthe set of topics alive at the time changes everyday.  IOW, it\nis not something I would want to do with the same sets of heads\nevery time by describing them in the remotes file.\n"},{"id":"9600","messageId":"7vr7b41f1f.fsf@assigned-by-dhcp.cox.net","threadId":"1975","inReplyTo":"433D477A.4010009@pobox.com","subject":"Re: [howto] Kernel hacker's guide to git, updated","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-10-02T08:47:24Z","receivedAt":"2005-10-02T08:47:24Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff Garzik <jgarzik@pobox.com> writes:\n\n> Junio C Hamano wrote:\n>> Jeff Garzik <jgarzik@pobox.com> writes:\n\n>>> 2) What is the easiest way to obtain a list of changes present in\n>>> repository B, that are not present in repository A?  I used to use\n>>> git-changes-script [hacked cg-log script] for this:\n\nI haven't really *read* that script, but I think it is trying to\nmake a list of commits from both repositories and trying to find\nthe set that are in one side and not in the other using diff (a\nreal shell programer probably would have used \"comm\" for this\nkind of task, not \"diff\"), then doing a handcrafted git-log on\neach of them.\n\nAttached is my quick hack, based on your original question,\nwithout really trying to understand what the script is doing, so\nI cannot claim it is a rewrite nor even attempting to be\ncompatible.  Please take a look at it and tell me if this is\nany close to what you need.\n\nI have a suspition that this might be better done as a natural\nextension of git-log, though.\n\n------------\n#!/bin/sh\n#\n# Copyright (c) 2005 Junio C Hamano\n#\n\n. git-sh-setup || die \"Not a git archive\"\n\nusage () {\n\techo >&2 \"$0 ( -L | -R ) <dir> [<ref>] [<ref>]\n\n-L shows changes in local not in remote.\n-R shows changes in remote not in local.\n<dir> names the remote repository.\n\nIf given no refs, local and remote HEADs are compared.\nIf given one ref, local HEAD and named remote ref are compared.\nIf given two refs, the first names a local ref, and the second names\nremote ref to be compared.\n\"\n\texit 1\n}\n\ncase \"$1\" in\n-L | -R)\n\t;;\n*)\n\tusage ;;\nesac\n\nother=\"$2\"\n\n(\n\tunset GIT_DIR GIT_OBJECT_DIRECTORY\n\tcd \"$other\" && . git-sh-setup ||\n\tdie \"$other is not a valid git repository.\"\n)\n\nlocal=${3:-HEAD}\nremote=${4:-HEAD}\n\n# Basic validation.\nlocal=$(git-rev-parse --verify \"$local^0\" 2>/dev/null) ||\ndie \"local ref $local is not valid.\"\nremote=$(GIT_DIR=\"$other\" git-rev-parse --verify \"$remote^0\" 2>/dev/null) ||\ndie \"remote ref $remote is not valid.\"\n\ncase \"$1\" in\n-L)\n\tlist_args=\"$local ^$remote\" ;;\n-R)\n\tlist_args=\"^$local $remote\" ;;\nesac\n\nGAOD=\"$GIT_ALTERNATE_OBJECT_DIRECTORIES\"\n\nGIT_ALTERNATE_OBJECT_DIRECTORIES=\"$other/.git/objects:$GAOD\" \\\ngit-rev-list --pretty $list_args |\nLESS=-S ${PAGER:-less}\n"}]}