{"thread":{"id":"21151","subject":"Re: Alles wurde Git","startedAt":"2009-10-04T12:09:01Z","lastAt":"2009-10-07T22:15:13Z","messageCount":3,"participants":["Phil Lawrence","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"299130","messageId":"alpine.DEB.1.00.0910041310520.4985@pacific.mpi-cbg.de","threadId":"21151","inReplyTo":null,"subject":"Alles wurde Git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-10-04T12:09:01Z","receivedAt":"2009-10-04T12:09:01Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nwe had much fun yesterday!  Just a few quotes so you know what I mean:\n\n\"Mac's your mistress, Windows' your wife\" (Michael)\n\n\"I'm your user base\" (Thorsten)\n\n\"We have 3 maintainers working on one master branch, and it is...\nworking\" (Steffen)\n\n[inappropriate joke censored]\n\n\"Yes, it is possible. But it will be hard.\" (Sverre)\n\n\"I am the ambassador of the ugly and the stupid\" (Michael)\n\n\"Michael talked about what Subversion can do that Git cannot\" -- \"And I \nwasn't even hurt!\"\n\n\nWrap-up:\n\nWe were kindly offered hosting by the Zuse-Institut Berlin (thanks \nSteffen) and there was always a ready supply of coffee and snacks, as well \nas a pretty fast internet connection.\n\nAfter a round of introductions (apart from this developer, there were \nMichael Haggerty, Jens Lehmann, Heiko Voigt, Thorsten (I did not catch the \nsurname), Sebastian Schuberth, Steffen Prohaska, Christian Halstrick and \nSverre Rabbelier; Gitzilla and his friend Kristen joined us in the late \nafternoon), I started out with a few (hopefully interesting) tidbits and \ntrivia about msysGit.  I also discussed the relationship between Cygwin, \nMSys, MinGW32 and msysGit, as well as why git-svn is so slow on Windows \n(and what one can do about it).\n\nThen Michael talked a little bit about the versioning and the branching as \nwell as common merging techniques in CVS, and how Subversion handles \nsimilar scenarios.  I was stunned to hear that Subversion allows you to \ncherry-pick commits, and even parts of a commit, from other branches, and \nkeep track of it (i.e. remember at a later merge that this was already \nmerged, and take that into account).  This is definitely something Git \ncannot do, and I can see that people could miss this feature after a \nSVN->Git switch.  I was also suprised to learn that Subversion allows you \nto edit commit messages and even authorship after the fact, but not \npatches.\n\nSverre went on to describe his work on hg-git and his plans to integrate \nit as a foreign vcs, which was when we had quite a few words on the \ncurrent state of affairs of the foreign vcs support.  You all know what I \nmean.  We also discussed the possibility of git-remote-svn, which was seen \nas the natural way to integrate Subversion repositories as proper Git \nsubmodules... _iff_ we will be able to specify the clone URL together with \nthe type as one line (i.e. optimizing for the common case instead of the \nobscure one).  One important outcome of that discussion was that we \n_cannot_ imitate git-svn there, as the commit messages and authorships can \nbe edited (see above), so we would need to record the commits with a \nstandard author and only the revision number as commit message, and put \nthe mutable information into notes.  Git-svn can get away with the way it \ndoes things because it is meant to be single-user only, but with \nremote-svn submodules, you have to make sure that _every_ user will get \nthe same SHA-1s regardless of when they happened to clone the Subversion \nrepository.\n\nThen Thorsten, who described himself as \"probably the only person in the \nroom without commits in git.git, so I guess I'm your user base\" let us \nhave some glimpses of real-world problems with Git.  One thing that was \npretty obvious after thinking about it is the naming of branches.  Git is \nway too liberal, e.g. it allows \"git checkout -b origin/master\", when \nclearly \"-t\" was meant (and a look around told me that _everybody_ had \nthis problem at some stage).  Unfortunately, it did not occur to us to \ndiscuss what can be done about these issues, let alone to make a list of \nthem.\n\nJens offered some inside-stories of a company switching from RCS(!) to \nGit.  He also described himself and Heiko as heavy users of submodules, \nand took some time to explain in how many ways submodules are the \nneglected ugly duckling of Git.  He also showed us some of his \nwork-in-progress to do something about it.  Another part of the \npresentation was an in-depth account how important msysGit was to the \nadoption of Git in the company.\n\nChristian, who is working for SAP, and recently got involved in the \neGit/JGit story, related a few interesting facts about the company he \nworks for.  Already in 2001, they had a strong need for distributed \nversion control, and came up with their own tool.  When they realized just \nhow far Git advanced, a rather surprising change in policy allowed him not \nonly to look into eGit/JGit, but also to work on it.  Which he did later \nthat day, too, finding a bug in my diff implementation ;-)\n\nSteffen and Sebastian then told us about another example of Git in a \ncorporate setting.  What some of the Open Source guys did not appreciate \nfully before that presentation was that some things that cannot happen in \nOpen Source are unavoidable in a company.  For example, you will always \nfind people who work actively against having their patches reviewed.  \nAnother example is that accountability, and therefore code ownership, can \nbe really necessary.  Steffen also described some of the issues with \nworking on a large number of topic branches that need to be \nintegrated/cleaned up/rebased:  Git lacks good tools for working \ncollaboratively with topic branches that need to be rebased frequently.  \nHe also showed a rather complicated script that is necessary to coordinate \nwork between 3 different maintainers (at 3 different locations).\n\nWe also got some hacking done, e.g. Heiko, Sebastian and me on \nGit-Cheetah, and of course the utterly useful \"mispel\" patch (that has not \nmade it into git.git yet, much to my chagrin).  But most of the time we \njust had a good time and talked about what we love.\n\nOh, and Gitzilla entertained the whole party by recounting a few of the \nmost hilarious emails authored by yours truly.\n\nThe unanimous consensus at the end of the day, after we were for dinner, \nwas that we should do this more often: Git together.\n\nCiao,\nDscho\n\n\n\n"},{"id":"124347","messageId":"4ACD076B.3000902@gmail.com","threadId":"21151","inReplyTo":"alpine.DEB.1.00.0910041310520.4985@pacific.mpi-cbg.de","subject":"Re: Alles wurde Git","fromName":"Phil Lawrence","fromEmail":"prlawrence@gmail.com","sentAt":"2009-10-07T21:26:03Z","receivedAt":"2009-10-07T21:26:03Z","isPatch":false,"sender":{"key":"prlawrence@gmail.com","avatar":"https://gravatar.com/avatar/352044d06dd8919a32522c18c712e0a8d07b8e8719c820b4b50ffb8f6f2fa1f0?d=mp&s=160"},"body":"\nOn 10/04/2009 07:09 AM, Johannes Schindelin wrote:\n>\n> ...Steffen also described some of the issues with\n> working on a large number of topic branches that need to be\n> integrated/cleaned up/rebased:  Git lacks good tools for working\n> collaboratively with topic branches that need to be rebased frequently.\n> He also showed a rather complicated script that is necessary to coordinate\n> work between 3 different maintainers (at 3 different locations).\n> ...\n\nSteffen, any chance you would share that script with the list?  It \nsounds very interesting.\n\nPhil Lawrence\n"},{"id":"124348","messageId":"alpine.DEB.1.00.0910080014060.4985@pacific.mpi-cbg.de","threadId":"21151","inReplyTo":"4ACD076B.3000902@gmail.com","subject":"Re: Alles wurde Git","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-10-07T22:15:13Z","receivedAt":"2009-10-07T22:15:13Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nHi,\n\nOn Wed, 7 Oct 2009, Phil Lawrence wrote:\n\n> On 10/04/2009 07:09 AM, Johannes Schindelin wrote:\n> >\n> > ...Steffen also described some of the issues with working on a large \n> > number of topic branches that need to be integrated/cleaned \n> > up/rebased:  Git lacks good tools for working collaboratively with \n> > topic branches that need to be rebased frequently. He also showed a \n> > rather complicated script that is necessary to coordinate work between \n> > 3 different maintainers (at 3 different locations). ...\n> \n> Steffen, any chance you would share that script with the list?  It \n> sounds very interesting.\n\nI fear that the script is rather specific to the company's environment, \nand I fear further that Steffen might not be allowed to share it due to IP \nissues.\n\nCiao,\nDscho\n"}]}