{"thread":{"id":"1490","subject":"git/cogito workshop/bof at linuxconf au?","startedAt":"2005-08-13T07:34:58Z","lastAt":"2005-08-15T23:01:31Z","messageCount":8,"participants":["Martin Langhoff","Linus Torvalds","Petr Baudis","tony.luck@intel.com","Johannes Schindelin","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"7176","messageId":"46a038f90508130034858ad34@mail.gmail.com","threadId":"1490","inReplyTo":null,"subject":"git/cogito workshop/bof at linuxconf au?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-08-13T07:34:58Z","receivedAt":"2005-08-13T07:34:58Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"Anyone coming to Linuxconf.au 2006? It'll will be in Dunedin NZ and\nI'd be really keen on joining a git/cogito workshop or bof.\n\nI would gladly try and organize a workshop, but I am far from fluent\nwith git, so I won't go at it alone. Any takers? Call for papers ends\n5th September, not too far ahead. We have to register our interest\n_now_.\n\ncheers,\n\n\nmartin\n"},{"id":"7206","messageId":"Pine.LNX.4.58.0508131111270.19049@g5.osdl.org","threadId":"1490","inReplyTo":"46a038f90508130034858ad34@mail.gmail.com","subject":"Re: git/cogito workshop/bof at linuxconf au?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-08-13T18:14:14Z","receivedAt":"2005-08-13T18:14:14Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sat, 13 Aug 2005, Martin Langhoff wrote:\n>\n> Anyone coming to Linuxconf.au 2006? It'll will be in Dunedin NZ and\n> I'd be really keen on joining a git/cogito workshop or bof.\n\nI was planning to be there. I like lca, but passed it over this year\nbecause of it being in Canberra (I'm sure it's a nice city to live in, but\nit's not a very exciting one, and I've been there several times before ;)\n\n> I would gladly try and organize a workshop, but I am far from fluent\n> with git, so I won't go at it alone. Any takers? Call for papers ends\n> 5th September, not too far ahead. We have to register our interest\n> _now_.\n\nI'm no good with papers, though. One of the reasons I decided to leave the \nuniversity lifestyle was that I hate writing papers. That's \nanti-conductive to being at a uni ;)\n\n\t\tLinus\n"},{"id":"7224","messageId":"46a038f905081316056e83ebec@mail.gmail.com","threadId":"1490","inReplyTo":"Pine.LNX.4.58.0508131111270.19049@g5.osdl.org","subject":"Re: git/cogito workshop/bof at linuxconf au?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-08-13T23:05:45Z","receivedAt":"2005-08-13T23:05:45Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 8/14/05, Linus Torvalds <torvalds@osdl.org> wrote:\n> I was planning to be there. I like lca, but passed it over this year\n> because of it being in Canberra \n\nAnd how are things lining up for the upcoming one (January 2006, Dunedin, NZ)?  \n\n> > I would gladly try and organize a workshop, but I am far from fluent\n> > with git, so I won't go at it alone. Any takers? Call for papers ends\n> > 5th September, not too far ahead. We have to register our interest\n> > _now_.\n> \n> I'm no good with papers, though. \n\nWorkshops and BOFs don't need to be paper-backed at all. Though it's\nnot unlikely that someone with an interest in SCM theory would write a\npaper covering git. I think the main interest would be to bring git\npractical usage to the masses.\n\nThere's a lot of interest, but the barriers of entry are somewhat\nhigh, with the codebase moving fast, and some of the concepts\nrequiring re-learning of what to expect from an SCM. Perhaps no so\nmuch among kernel hackers, but the general populace is largely still\nladen with cvs/svn and their mindset.\n\ncheers,\n\n\nmartin\n"},{"id":"7226","messageId":"Pine.LNX.4.58.0508131625010.3553@g5.osdl.org","threadId":"1490","inReplyTo":"46a038f905081316056e83ebec@mail.gmail.com","subject":"Re: git/cogito workshop/bof at linuxconf au?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-08-13T23:33:53Z","receivedAt":"2005-08-13T23:33:53Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sun, 14 Aug 2005, Martin Langhoff wrote:\n> \n> And how are things lining up for the upcoming one (January 2006, Dunedin, NZ)?  \n\nDunno yet. I have a policy of trying to travel with the whole family,\nwhich means I'll have to decide whether I'm willing to put that much money\ninto it, or whether some poor unsuspecting company can help sponsor me ;)\nWe'll see.\n\n> There's a lot of interest, but the barriers of entry are somewhat\n> high, with the codebase moving fast, and some of the concepts\n> requiring re-learning of what to expect from an SCM. Perhaps no so\n> much among kernel hackers, but the general populace is largely still\n> laden with cvs/svn and their mindset.\n\nYeah. We do not have a nice paper explaining the concepts and usage. The \ntutorial isn't really in-depth enough (it doesn't even mention a lot of \nthe helper scripts or even some of the core stuff). The old README started \nout explaining some of the concepts, but it's _way_ of out date in all \nusage respects.\n\nPasky has the Overview thing, which gets pointed to by kernel.org, and \nwhich could be expanded upon a lot. \n\nI'll happily help anybody who wants to try to write some nice\ndocumentation (answer questions etc), but I'm just not very good at doing\nit myself.\n\n\t\tLinus\n"},{"id":"7243","messageId":"20050814095422.GQ5608@pasky.ji.cz","threadId":"1490","inReplyTo":"Pine.LNX.4.58.0508131625010.3553@g5.osdl.org","subject":"Re: git/cogito workshop/bof at linuxconf au?","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2005-08-14T09:54:22Z","receivedAt":"2005-08-14T09:54:22Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"Dear diary, on Sun, Aug 14, 2005 at 01:33:53AM CEST, I got a letter\nwhere Linus Torvalds <torvalds@osdl.org> told me that...\n> On Sun, 14 Aug 2005, Martin Langhoff wrote:\n> > \n> > And how are things lining up for the upcoming one (January 2006, Dunedin, NZ)?  \n> \n> Dunno yet. I have a policy of trying to travel with the whole family,\n> which means I'll have to decide whether I'm willing to put that much money\n> into it, or whether some poor unsuspecting company can help sponsor me ;)\n> We'll see.\n\nBTW, I've asked my unsuspecting company. I'll see too. ;-)\n\n> > There's a lot of interest, but the barriers of entry are somewhat\n> > high, with the codebase moving fast, and some of the concepts\n> > requiring re-learning of what to expect from an SCM. Perhaps no so\n> > much among kernel hackers, but the general populace is largely still\n> > laden with cvs/svn and their mindset.\n> \n> Yeah. We do not have a nice paper explaining the concepts and usage. The \n> tutorial isn't really in-depth enough (it doesn't even mention a lot of \n> the helper scripts or even some of the core stuff). The old README started \n> out explaining some of the concepts, but it's _way_ of out date in all \n> usage respects.\n> \n> Pasky has the Overview thing, which gets pointed to by kernel.org, and \n> which could be expanded upon a lot. \n\nI wanted to offer a Git/Cogito tutorial session (Is that what is meant\nby \"workshop\"? I'm no skilled conference traveller and the website\nmentions no workshops.), but on a second thought paper might be better -\nCogito is supposed to be so simple to use that a tutorial wouldn't give\nyou much (except tutorial.txt since I would have a strong incentive to\nwrite it), and Git concepts aren't tutorial material. So I might try to\napply with a paper giving some overview of the new wave of \"modern\"\nversion control systems, with a special focus on GIT design and core\ninterface. (I will probably skip the core GIT plumbing since I'm\nnaturally a bit sceptical about it. ;-)\n\nI also imagined a BOF session for more interested people (if there would\nbe any), for discussing advanced topics, possible further development\ndirections (see also the Cogito TODO for also some Git-related stuff I\nhave on my mind but is not yet ready for mailing list bashing) etc.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nStuff: http://pasky.or.cz/\nIf you want the holes in your knowledge showing up try teaching\nsomeone.  -- Alan Cox\n"},{"id":"7309","messageId":"200508151917.j7FJHfFv009367@agluck-lia64.sc.intel.com","threadId":"1490","inReplyTo":"Pine.LNX.4.58.0508131625010.3553@g5.osdl.org","subject":"Some tutorial text (was git/cogito workshop/bof at linuxconf au?)","fromName":"","fromEmail":"tony.luck@intel.com","sentAt":"2005-08-15T19:17:41Z","receivedAt":"2005-08-15T19:17:41Z","isPatch":false,"sender":{"key":"tony.luck@intel.com","avatar":"https://avatars.githubusercontent.com/u/5446021?v=4"},"body":"Linus Torvalds wrote:\n> I'll happily help anybody who wants to try to write some nice\n> documentation (answer questions etc), but I'm just not very good at doing\n> it myself.\n\nHere's something that I've been putting together on how I'm using\nGIT as a Linux subsystem maintainer.\n\nI suspect that I'm a bit slap-happy with the \"git checkout\" commands in\nthe examples below, and perhaps missing some of the _true-git_ ways of\ndoing things.\n\n-Tony\n\nLinux subsystem maintenance using GIT\n-------------------------------------\n\nMy requirements here are to be able to create two public trees:\n\n1) A \"test\" tree into which patches are initially placed so that they\ncan get some exposure when integrated with other ongoing development.\nThis tree is available to Andrew for pulling into -mm whenever he wants.\n\n2) A \"release\" tree into which tested patches are moved for final\nsanity checking, and as a vehicle to send them upstream to Linus\n(by sending him a \"please pull\" request.)\n\nNote that the period of time that each patch spends in the \"test\" tree\nis dependent on the complexity of the change.  Since GIT does not support\ncherry picking, it is not practical to simply apply all patches to the\ntest tree and then pull to the release tree as that would leave trivial\npatches blocked in the test tree waiting for complex changes to accumulate\nenough test time to graduate.\n\nBack in the BitKeeper days I achieved this my creating small forests of\ntemporary trees, one tree for each logical grouping of patches, and then\npulling changes from these trees first to the test tree, and then to the\nrelease tree.  At first I replicated this in GIT, but then I realised\nthat I could so this far more efficiently using branches inside a single\nGIT repository.\n\nSo here is the step-by-step guide how this all works for me.\n\nFirst create your work tree by cloning Linus's public tree:\n\n $ git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work\n\nChange directory into the cloned tree you just created\n\n $ cd work\n\nMake a GIT branch named \"linus\", and rename the \"origin\" branch as linus too:\n\n $ git checkout -b linus\n $ mv .git/branches/origin .git/branches/linus\n\nThe \"linus\" branch will be used to track the upstream kernel.  To update it,\nyou simply run:\n\n $ git checkout linus && git pull linus\n\nyou can do this frequently (as long as you don't have any uncommited work\nin your tree).\n\nIf you need to keep track of other public trees, you can add branches for\nthem too:\n\n $ git checkout -b another linus\n $ echo URL-for-another-public-tree > .git/branches/another\n\nNow create the branches in which you are going to work, these start\nout at the current tip of the linus branch.\n\n $ git checkout -b test linus\n $ git checkout -b release linus\n\nThese can be easily kept up to date by merging from the \"linus\" branch:\n\n $ git checkout test && git resolve test linus \"Auto-update from upstream\"\n $ git checkout release && git resolve release linus \"Auto-update from upstream\"\n\nSet up so that you can push upstream to your public tree:\n\n $ echo master.kernel.org:/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6.git > .git/branches/origin\n\nand then push each of the test and release branches using:\n\n $ git push origin test\nand\n $ git push origin release\n\nNow to apply some patches from the community.  Think of a short\nsnappy name for a branch to hold this patch (or related group of\npatches), and create a new branch from the current tip of the\nlinus branch:\n\n $ git checkout -b speed-up-spinlocks linus\n\nNow you apply the patch(es), run some tests, and commit the change(s).  If\nthe patch is a multi-part series, then you should apply each as a separate\ncommit to this branch.\n\n $ ... patch ... test  ... commit [ ... patch ... test ... commit ]*\n\nWhen you are happy with the state of this change, you can pull it into the\n\"test\" branch in preparation to make it public:\n\n $ git checkout test && git resolve test speed-up-spinlocks \"Pull speed-up-spinlock changes\"\n\nIt is unlikely that you would have any conflicts here ... but you might if you\nspent a while on this step and had also pulled new versions from upstream.\n\nSome time later when enough time has passed and testing done, you can pull the\nsame branch into the \"release\" tree ready to go upstream.  This is where you\nsee the value of keeping each patch (or patch series) in its own branch.  It\nmeans that the patches can be moved into the \"release\" tree in any order.\n\n $ git checkout release && git resolve release speed-up-spinlocks \"Pull speed-up-spinlock changes\"\n\nAfter a while, you will have a number of branches, and despite the\nwell chosen names you picked for each of them, you may forget what\nthey are for, or what status they are in.  To get a reminder of what\nchanges are in a specific branch, use:\n\n $ git-whatchanged branchname ^linus | git-shortlog\n\nTo see whether it has already been merged into the test or release branches\nuse:\n\n $ git-rev-list branchname ^test\nor\n $ git-rev-list branchname ^release\n\n[If this branch has not yet been merged you will see a set of SHA1 values\nfor the commits, if it has been merged, then there will be no output]\n\nOnce a patch completes the great cycle (moving from test to release, then\npulled by Linus, and finally coming back into your local \"linus\" branch)\nthe branch for this change is no longer needed.  You detect this when the\noutput from:\n\n $ git-rev-list branchname ^linus\n\nis empty.  At this point the branch can be deleted:\n\n $ rm .git/refs/heads/branchname\n\nTo create diffstat and shortlog summaries of changes to include in a \"please\npull\" request to Linus you can use:\n\n $ git-whatchanged -p release ^linus | diffstat -p1\nand\n $ git-whatchanged release ^linus | git-shortlog\n"},{"id":"7320","messageId":"Pine.LNX.4.63.0508160043140.25894@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1490","inReplyTo":"200508151917.j7FJHfFv009367@agluck-lia64.sc.intel.com","subject":"Re: Some tutorial text (was git/cogito workshop/bof at linuxconf au?)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-08-15T22:44:18Z","receivedAt":"2005-08-15T22:44:18Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 15 Aug 2005, tony.luck@intel.com wrote:\n\n> Linus Torvalds wrote:\n> > I'll happily help anybody who wants to try to write some nice\n> > documentation (answer questions etc), but I'm just not very good at doing\n> > it myself.\n> \n> Here's something that I've been putting together on how I'm using\n> GIT as a Linux subsystem maintainer.\n\nThis is perfect material for the newly introduced howto/ directory! How \nabout Documentation/howto/how-tony-luck-does-it.txt :-)\n\nCiao,\nDscho\n"},{"id":"7323","messageId":"7vhddqx0s4.fsf@assigned-by-dhcp.cox.net","threadId":"1490","inReplyTo":"Pine.LNX.4.63.0508160043140.25894@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Some tutorial text","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-08-15T23:01:31Z","receivedAt":"2005-08-15T23:01:31Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n>> Here's something that I've been putting together on how I'm using\n>> GIT as a Linux subsystem maintainer.\n>\n> This is perfect material for the newly introduced howto/ directory! How \n> about Documentation/howto/how-tony-luck-does-it.txt :-)\n\nI already have done that pushed it out.  Tony is clearly a\nwinner with this one.\n"}]}