{"thread":{"id":"1384","subject":"Re: Git 1.0 Synopis (Draft v3","startedAt":"2005-07-31T22:15:40Z","lastAt":"2006-05-29T22:12:40Z","messageCount":19,"participants":["Horst von Brand","Ryan Anderson","Junio C Hamano","Daniel Barkalow","Johannes Schindelin","Dongsheng Song","Eric Wong"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"6703","messageId":"200507312215.j6VMFeqn030963@laptop11.inf.utfsm.cl","threadId":"1384","inReplyTo":"ryan@michonline.com","subject":"Re: Git 1.0 Synopis (Draft v3","fromName":"Horst von Brand","fromEmail":"vonbrand@inf.utfsm.cl","sentAt":"2005-07-31T22:15:40Z","receivedAt":"2005-07-31T22:15:40Z","isPatch":false,"sender":{"key":"vonbrand@inf.utfsm.cl","avatar":"https://avatars.githubusercontent.com/u/211384?v=4"},"body":"Ryan Anderson <ryan@michonline.com> wrote:\n> Source Code Management with Git\n\nMore bugging...\n\n- Either stay with your idea of \"Git is the idea, git the implementation\"\n  (iff blessed by the Git Powers That Be) and be consistent about it, or\n  just use \"git\" throughout.\n\n- Attribute the meaning appropiately, say by:\n\nIn Linus' own words as the inventor of git:\n\n> \"git\" can mean anything, depending on your mood.\n> \n>  - random three-letter combination that is pronounceable, and not\n>    actually used by any common UNIX command.  The fact that it is a\n>    mispronunciation of \"get\" may or may not be relevant.\n>  - stupid. contemptible and despicable. simple. Take your pick from the\n>    dictionary of slang.\n>  - \"global information tracker\": you're in a good mood, and it actually\n>    works for you. Angels sing, and a light suddenly fills the room. \n>  - \"goddamn idiotic truckload of sh*t\": when it breaks\n[...]\n\n> To get a copy of Git:\n> \tDaily snapshots are available at:\n> \thttp://www.codemonkey.org.uk/projects/git-snapshots/git/\n> \t(Thanks to Dave Jones)\n> \n> \tSource tarballs and RPMs at:\n> \thttp://www.kernel.org/pub/software/scm/git/\n> \n> \tDeb packages at:\n> \t<insert url here>\n> \n> \tOr via Git itself:\n> \tgit clone http://www.kernel.org/pub/scm/git/git.git/ <local directory>\n> \tgit clone rsync://rsync.kernel.org/pub/scm/git/git.git/ <local directory>\n> \n> \t(rsync is generally faster for an initial clone, you can switch later\n> \tby editing .git/branches/origin and changing the url)\n> \n> To get the 'Porcelain' tools mentioned above:\n> \tSCM Interface layers:\n> \tcogito - http://www.kernel.org/pub/software/scm/cogito/\n> \tStGIT - http://www.procode.org/stgit/\n\nAt least cogito includes a (slightly old) version of git. Dunno about\nStGIT. And git and cogito have a gitk inside too. This should be mentioned,\ni.e., look at the package(s) you are interested and see what else they\ncarry or require and keep in mind that (for now?) getting git as part of\none package is /not/ guaranteed to be compatible with another or standard\ngit.\n-- \nDr. Horst H. von Brand                   User #22616 counter.li.org\nDepartamento de Informatica                     Fono: +56 32 654431\nUniversidad Tecnica Federico Santa Maria              +56 32 654239\nCasilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513\n"},{"id":"7260","messageId":"20050815045546.GA7001@mythryan2.michonline.com","threadId":"1384","inReplyTo":"200507312215.j6VMFeqn030963@laptop11.inf.utfsm.cl","subject":"Git 1.0 Synopis (Draft v4)","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2005-08-15T04:55:46Z","receivedAt":"2005-08-15T04:55:46Z","isPatch":false,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"On Sun, Jul 31, 2005 at 06:15:40PM -0400, Horst von Brand wrote:\n> Ryan Anderson <ryan@michonline.com> wrote:\n> > Source Code Management with Git\n> \n> More bugging...\n\nOk, I think I've got all this addressed (plus the other email).\n\nIt just took me a lot longer to get to it than I planned.\n\nJunio, do you want to pull this into the git tree?  (I'll reply with a\npatch)\n\n==========\n\nSource Code Management with git\n\nIn Linus's own words as the creator of git:\n\"git\" can mean anything, depending on your mood.\n\n - random three-letter combination that is pronounceable, and not\n   actually used by any common UNIX command.  The fact that it is a\n   mispronunciation of \"get\" may or may not be relevant.\n - stupid. contemptible and despicable. simple. Take your pick from the\n   dictionary of slang.\n - \"global information tracker\": you're in a good mood, and it actually\n   works for you. Angels sing, and a light suddenly fills the room. \n - \"goddamn idiotic truckload of sh*t\": when it breaks\n\ngit is a \"directory content manager\".  git has been designed to handle\nabsolutely massive projects with speed and efficiency, and the release of the\n2.6.12 and (soon) the 2.6.13 version of the Linux kernel would indicate that it\ndoes this task well.\n\ngit falls into the category of distributed source code management tools,\nsimilar to Arch or Darcs (or, in the commercial world, BitKeeper).  Every git\nworking directory is a full-fledged repository with full revision tracking\ncapabilities, not dependent on network access to a central server.\n\ngit provides a content-addressable pseudo filesystem, complete with its own\nversion of fsck.\n\n  o Speed of use, both for the project maintainer, and the end-users, is\n    a key development principle.\n\n  o The history is stored as a directed acyclic graph, making long-lived\n    branches and repeated merging simple.\n\n  o The core git project considers itself to provide \"plumbing\" for other\n     projects, as well as to serve to arbitrate for compatibility between them.\n     The project built on top of the core git are referred to as \"porcelain\".\n     Stgit, Cogito, qgit, gitk and gitweb are all building upon the core git\n     tools, and providing an easy to use interface to various pieces of\n     functionality.\n\n  o Some other projects have taken the concepts from the core git project, and\n    are either porting an existing toolset to use the git tools, or\n    reimplementing the concepts internally, to benefit from the performance\n     improvements.  This includes both Arch 2.0, and Darcs-git.\n  \n  o Two, interchangeable, on-disk formats are used:\n    o An efficient, packed format that saves space and network\n      bandwidth.\n    o An unpacked format, optimized for fast writes and incremental\n      work.\n\nTo get a copy of git:\n\tDaily snapshots are available at:\n\thttp://www.codemonkey.org.uk/projects/git-snapshots/git/\n\t(Thanks to Dave Jones)\n\n\tSource tarballs and RPMs at:\n\thttp://www.kernel.org/pub/software/scm/git/\n\n\tDebian packages should be availabe in unstable (sid) as \"git-core\"\n\n\tOr via git itself:\n\tgit clone http://www.kernel.org/pub/scm/git/git.git/ <local directory>\n\tgit clone rsync://rsync.kernel.org/pub/scm/git/git.git/ <local directory>\n\n\t(rsync is generally faster for an initial clone, you can switch later\n\tby editing .git/branches/origin and changing the url)\n\nTo get the 'Porcelain' tools mentioned above:\n\tSCM Interface layers:\n\tcogito - http://www.kernel.org/pub/software/scm/cogito/\n\n\tPatch Management (similar to Quilt):\n\tStGIT - http://www.procode.org/stgit/\n\n\tHistory Visualization:\n\tgitk - http://ozlabs.org/~paulus/gitk/ (Included in the standard git\n\t\tdistribution)\n\tgitweb - http://www.kernel.org/pub/software/scm/gitweb/\n\tqgit - http://sourceforge.net/projects/qgit\n\n\ngit distributions contain a tutorial in the Documentation subdirectory.\nAdditionally, the Kernel-Hacker's git Tutorial at\nhttp://linux.yyz.us/git-howto.html may be useful.  (Thanks to Jeff Garzik for\nthat document)\n\ngit development takes place on the git mailing list.  To subscribe, send an\nemail with just \"subscribe git\" in the body to majordomo@vger.kernel.org.\nMailing list archives are available at http://marc.theaimsgroup.com/?l=git\n\n(This summary written by Ryan Anderson <ryan@michonline.com>.  Please bug him\nwith any corrections or complaints.)\n\n\n-- \n\nRyan Anderson\n  sometimes Pug Majere\n"},{"id":"7262","messageId":"20050815050958.GC7001@mythryan2.michonline.com","threadId":"1384","inReplyTo":"20050815045546.GA7001@mythryan2.michonline.com","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2005-08-15T05:09:58Z","receivedAt":"2005-08-15T05:09:58Z","isPatch":false,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"\nAdd a SYNOPSIS/release summary to the tree.\n\nSigned-off-by: Ryan Anderson <ryan@michonline.com>\n\ndiff --git a/SYNOPSIS b/SYNOPSIS\nnew file mode 100644\n--- /dev/null\n+++ b/SYNOPSIS\n@@ -0,0 +1,93 @@\n+Source Code Management with git\n+\n+In Linus's own words as the creator of git:\n+\"git\" can mean anything, depending on your mood.\n+\n+ - random three-letter combination that is pronounceable, and not\n+   actually used by any common UNIX command.  The fact that it is a\n+   mispronunciation of \"get\" may or may not be relevant.\n+ - stupid. contemptible and despicable. simple. Take your pick from the\n+   dictionary of slang.\n+ - \"global information tracker\": you're in a good mood, and it actually\n+   works for you. Angels sing, and a light suddenly fills the room. \n+ - \"goddamn idiotic truckload of sh*t\": when it breaks\n+\n+git is a \"directory content manager\".  git has been designed to handle\n+absolutely massive projects with speed and efficiency, and the release of the\n+2.6.12 and (soon) the 2.6.13 version of the Linux kernel would indicate that it\n+does this task well.\n+\n+git falls into the category of distributed source code management tools,\n+similar to Arch or Darcs (or, in the commercial world, BitKeeper).  Every git\n+working directory is a full-fledged repository with full revision tracking\n+capabilities, not dependent on network access to a central server.\n+\n+git provides a content-addressable pseudo filesystem, complete with its own\n+version of fsck.\n+\n+  o Speed of use, both for the project maintainer, and the end-users, is\n+    a key development principle.\n+\n+  o The history is stored as a directed acyclic graph, making long-lived\n+    branches and repeated merging simple.\n+\n+  o The core git project considers itself to provide \"plumbing\" for other\n+     projects, as well as to serve to arbitrate for compatibility between them.\n+     The project built on top of the core git are referred to as \"porcelain\".\n+     Stgit, Cogito, qgit, gitk and gitweb are all building upon the core git\n+     tools, and providing an easy to use interface to various pieces of\n+     functionality.\n+\n+  o Some other projects have taken the concepts from the core git project, and\n+    are either porting an existing toolset to use the git tools, or\n+    reimplementing the concepts internally, to benefit from the performance\n+     improvements.  This includes both Arch 2.0, and Darcs-git.\n+  \n+  o Two, interchangeable, on-disk formats are used:\n+    o An efficient, packed format that saves space and network\n+      bandwidth.\n+    o An unpacked format, optimized for fast writes and incremental\n+      work.\n+\n+To get a copy of git:\n+\tDaily snapshots are available at:\n+\thttp://www.codemonkey.org.uk/projects/git-snapshots/git/\n+\t(Thanks to Dave Jones)\n+\n+\tSource tarballs and RPMs at:\n+\thttp://www.kernel.org/pub/software/scm/git/\n+\n+\tDebian packages should be availabe in unstable (sid) as \"git-core\"\n+\n+\tOr via git itself:\n+\tgit clone http://www.kernel.org/pub/scm/git/git.git/ <local directory>\n+\tgit clone rsync://rsync.kernel.org/pub/scm/git/git.git/ <local directory>\n+\n+\t(rsync is generally faster for an initial clone, you can switch later\n+\tby editing .git/branches/origin and changing the url)\n+\n+To get the 'Porcelain' tools mentioned above:\n+\tSCM Interface layers:\n+\tcogito - http://www.kernel.org/pub/software/scm/cogito/\n+\n+\tPatch Management (similar to Quilt):\n+\tStGIT - http://www.procode.org/stgit/\n+\n+\tHistory Visualization:\n+\tgitk - http://ozlabs.org/~paulus/gitk/ (Included in the standard git\n+\t\tdistribution)\n+\tgitweb - http://www.kernel.org/pub/software/scm/gitweb/\n+\tqgit - http://sourceforge.net/projects/qgit\n+\n+\n+git distributions contain a tutorial in the Documentation subdirectory.\n+Additionally, the Kernel-Hacker's git Tutorial at\n+http://linux.yyz.us/git-howto.html may be useful.  (Thanks to Jeff Garzik for\n+that document)\n+\n+git development takes place on the git mailing list.  To subscribe, send an\n+email with just \"subscribe git\" in the body to majordomo@vger.kernel.org.\n+Mailing list archives are available at http://marc.theaimsgroup.com/?l=git\n+\n+(This summary written by Ryan Anderson <ryan@michonline.com>.  Please bug him\n+with any corrections or complaints.)\n\n-- \n\nRyan Anderson\n  sometimes Pug Majere\n"},{"id":"7264","messageId":"7vr7cv7p61.fsf@assigned-by-dhcp.cox.net","threadId":"1384","inReplyTo":"20050815045546.GA7001@mythryan2.michonline.com","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-08-15T05:19:18Z","receivedAt":"2005-08-15T05:19:18Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ryan Anderson <ryan@michonline.com> writes:\n\n> Junio, do you want to pull this into the git tree?\n\nYes, but I have been wondering where it should go.  Should it go\nunder Documentation/ and made into html via asciidoc along with\nother tools?\n"},{"id":"7268","messageId":"20050815065833.GE7001@mythryan2.michonline.com","threadId":"1384","inReplyTo":"7vr7cv7p61.fsf@assigned-by-dhcp.cox.net","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2005-08-15T06:58:33Z","receivedAt":"2005-08-15T06:58:33Z","isPatch":false,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"On Sun, Aug 14, 2005 at 10:19:18PM -0700, Junio C Hamano wrote:\n> Ryan Anderson <ryan@michonline.com> writes:\n> \n> > Junio, do you want to pull this into the git tree?\n> \n> Yes, but I have been wondering where it should go.  Should it go\n> under Documentation/ and made into html via asciidoc along with\n> other tools?\n\nI was somewhat thinking it should go in the main directory, and be a\nuseful introduction to the project for people.... but it's not really\naimed at that very well, now that I think about it.\n\nTo be fair, it's not really aimed well at being documentation for people\nthat already have git, either.  I've been writing it with the idea of\n\"something to send to LWN when 1.0 happens so they can post it mostly\nverbatim.\"\n\nI guess this means, \"I dunno, either place works for me.\"\n\n-- \n\nRyan Anderson\n  sometimes Pug Majere\n"},{"id":"7271","messageId":"7v7jen6545.fsf@assigned-by-dhcp.cox.net","threadId":"1384","inReplyTo":"20050815065833.GE7001@mythryan2.michonline.com","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-08-15T07:17:46Z","receivedAt":"2005-08-15T07:17:46Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ryan Anderson <ryan@michonline.com> writes:\n\n> I guess this means, \"I dunno, either place works for me.\"\n\nI was hoping it means to \"Oh, come to think of it, maybe I\nshould send this to corbet@lwn.net\" ;-).\n\nI agree with you that this may be a lot more suitable for people\n_before_ they get the git sources, which is to say it may make\nmore sense not to include in core-git tarball but is made into a\npatch to Pasky's introduction website.\n"},{"id":"7275","messageId":"20050815080218.GG7001@mythryan2.michonline.com","threadId":"1384","inReplyTo":"7v7jen6545.fsf@assigned-by-dhcp.cox.net","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2005-08-15T08:02:18Z","receivedAt":"2005-08-15T08:02:18Z","isPatch":false,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"On Mon, Aug 15, 2005 at 12:17:46AM -0700, Junio C Hamano wrote:\n> Ryan Anderson <ryan@michonline.com> writes:\n> \n> > I guess this means, \"I dunno, either place works for me.\"\n> \n> I was hoping it means to \"Oh, come to think of it, maybe I\n> should send this to corbet@lwn.net\" ;-).\n\nI was waiting until you said, \"Ok, 1.00 tomorrow morning\"\n\n> I agree with you that this may be a lot more suitable for people\n> _before_ they get the git sources, which is to say it may make\n> more sense not to include in core-git tarball but is made into a\n> patch to Pasky's introduction website.\n\nGood point.\n\nIt's already there (now that I found the site.)\n\n-- \n\nRyan Anderson\n  sometimes Pug Majere\n"},{"id":"7280","messageId":"7vhddr397g.fsf@assigned-by-dhcp.cox.net","threadId":"1384","inReplyTo":"20050815080218.GG7001@mythryan2.michonline.com","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-08-15T08:17:39Z","receivedAt":"2005-08-15T08:17:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ryan Anderson <ryan@michonline.com> writes:\n\n> I was waiting until you said, \"Ok, 1.00 tomorrow morning\"\n\nMakes sense.  There would be some weeks until that happens I am\nafraid.\n"},{"id":"7308","messageId":"Pine.LNX.4.63.0508151453100.21501@iabervon.org","threadId":"1384","inReplyTo":"7vhddr397g.fsf@assigned-by-dhcp.cox.net","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-08-15T18:59:03Z","receivedAt":"2005-08-15T18:59:03Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Mon, 15 Aug 2005, Junio C Hamano wrote:\n\n> Ryan Anderson <ryan@michonline.com> writes:\n> \n> > I was waiting until you said, \"Ok, 1.00 tomorrow morning\"\n> \n> Makes sense.  There would be some weeks until that happens I am\n> afraid.\n\nIt might be worth putting the list of things left to do before 1.0 in the \ntree (since they clearly covary), and it would be useful to know what \nyou're thinking of as preventing the release at any particular stage.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"7351","messageId":"7vy872fiin.fsf@assigned-by-dhcp.cox.net","threadId":"1384","inReplyTo":"Pine.LNX.4.63.0508151453100.21501@iabervon.org","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-08-16T07:28:00Z","receivedAt":"2005-08-16T07:28:00Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Daniel Barkalow <barkalow@iabervon.org> writes:\n\n> It might be worth putting the list of things left to do before 1.0 in the \n> tree (since they clearly covary), and it would be useful to know what \n> you're thinking of as preventing the release at any particular stage.\n\nYeah, yeah.  Call me lazy.\n\nExcerpts from my \"last mile to 1.0\", my Itchlist, and pieces from\nrandom other messages since then.\n\n- Documentation. [I really need help here --- among ~7000 lines\n  there, I've written around 2500 lines, David Greaves another\n  2500, and Linus 1400.  And it is not very easy to proofread\n  what you wrote yourself.]\n\n  - Are all the core commands described in Documentation/\n    directory?\n\n  - Many files under Documentation/ directory have become stale.\n    I've tried to do one pass of full sweep recently [and\n    another since I wrote the original \"last mile\" message], but\n    I'd like somebody else to make another pass to make sure\n    that the usage strings in programs, what the programs do,\n    and what Documentation says they do match.  Also, the\n    spelling and grammar fixes, which I am very bad at and have\n    not done any attempt, needs to be done.\n\n    Volunteers?\n\n  - Are all the files in Documentation/ reachable from git(7)\n    or otherwise made into a standalone document using asciidoc\n    by the Makefile?  I haven't looked into documentation\n    generation myself (I use only the text files as they are);\n    help to update the Makefile by somebody handy with asciidoc\n    suite is greatly appreciated here.\n\n    Volunteers?\n\n  - We may want to describe more Best Current Practices, along\n    the lines of \"Working with Others\" section in the tutorial.\n    Please write on your faviorite topic and send patches in\n    ;-)) [ryan started collecting Documentation/howto which\n    would greatly help in this area].\n\n  - Glossary documentation Johannes Schindelin is working on.\n\n    I think coming up with the concensus of terms would come\n    fairly quickly on the list.  Updating docs to match the\n    concensus may take some time.  Help is greatly appreciated.\n\n  - Maybe doing another pass at tutorial.  Could somebody run\n    (or preferably, find a friend who has never touched git and\n    have her run) the tutorial examples from the beginning to\n    the end, and find rooms of improvements?  Does the order of\n    materials presented make sense?  Do we talk about things\n    assuming that the user knows something else that we have not\n    talked about?  Have we introduced better way of doing the\n    same thing since the tutorial was written?\n\n    I've done that once with the text that is currently in the\n    head of the master branch, but that is getting rather stale,\n    and also I did that myself so I am sure I've sidestepped\n    pitfalls without even realizing.\n\nThe above does not have to be all there in 0.99.5, but I\nconsider that lack of any of the above to block 1.0.\n\n- Commit walker downloading from packed repository is finally\n  complete.  Thanks, Daniel!\n\n- Teach fetch-pack reference renaming.\n\n  On the push side, send-pack now knows updating arbitrary\n  remote references from local references.  We need something\n  similar for fetching [since then I outlined the design of the\n  new shorthand file format and semantics but have not got\n  around to actually do it.  Maybe on my next GIT day...].  This\n  is scheduled for 0.99.5.\n\n- commit template filler discussed with Pasky some time ago,\n  with perhaps pre-commit and post-commit hooks.  Somehow the\n  discussion died out but that does not mean _I_ forgot about\n  it.\n\n- Binary packaging.  Should _I_ worry about \"/usr/bin/git\" stay\n  there myself --- I think not.  But I _do_ want to help Debian\n  packaging folks if that path is causing problems in their\n  effort to push git-core into the official Debian archive.\n\n  As Linus mentioned earlier, this seems to be a Debian specific\n  problem, and will not block 1.0 --- if Debian heavyweights do\n  not want to stay compatible with the rest of the world, so be\n  it.\n\n- I have not heard from Darwin or BSD people for some time.  Is\n  your portfile up to date?  Do you have updates you want me to\n  include?  Have we introduced non-Linux non-GNU\n  incompatibilities lately that you want to see fixed and/or\n  worked around?\n\n  Again, I consider binary packaging issue independent from our\n  release schedule; it is a distribution local issue, so this\n  would not block 1.0 in any way.  But I _am_ willing to help\n  them.\n\n- Oh, another itch I did not list in the previous message.  Is\n  anybody interested in doing an Emacs VC back-end for GIT?\n\n- git prune and git fsck-cache; think about their interactions\n  with an object database that borrows from another.  This\n  includes the case where .git/objects itself is symlinked to\n  somewhere else (i.e. running \"git prune\" that somewhere else\n  without consulting this repository would lose objects), and\n  alternates pointing at somewhere else (i.e. ditto).\n\n  My personal feeling is that we should just warn users about\n  doing .git/objects symlinking and/or alternates pointing ---\n  do not do it unless you have an off-line arrangement with the\n  owner of the repository you are borrowing from.  Even if that\n  would become our official position to take, it needs to be\n  documented clearly before we declare this issue to have been\n  \"dealt with\".\n\nI am sure I am forgetting something, but the above would be a\ngood start.\n"},{"id":"7352","messageId":"Pine.LNX.4.63.0508161158400.3026@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1384","inReplyTo":"7vy872fiin.fsf@assigned-by-dhcp.cox.net","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-08-16T10:03:50Z","receivedAt":"2005-08-16T10:03:50Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 16 Aug 2005, Junio C Hamano wrote:\n\n>   - Glossary documentation Johannes Schindelin is working on.\n\nYeah, yeah. Call _me_ lazy :-) I'll try to come up with a discussable item \ntoday.\n\n> - git prune and git fsck-cache; think about their interactions\n>   with an object database that borrows from another.  This\n>   includes the case where .git/objects itself is symlinked to\n>   somewhere else (i.e. running \"git prune\" that somewhere else\n>   without consulting this repository would lose objects), and\n>   alternates pointing at somewhere else (i.e. ditto).\n\nI don´t see how git could help in the case you are pruning a repository \nwhich another repository points to. After all, the first repository \ndoesn´t know about being used by the second.\n\n> I am sure I am forgetting something, but the above would be a\n> good start.\n\nMaybe your $GIT_DIR/remotes idea? Along with a \"--store <remotename>\" flag \nto git-pull-script?\n\nCiao,\nDscho\n"},{"id":"7353","messageId":"4b3406f050816031419a3ee39@mail.gmail.com","threadId":"1384","inReplyTo":"Pine.LNX.4.63.0508161158400.3026@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Dongsheng Song","fromEmail":"dongsheng.song@gmail.com","sentAt":"2005-08-16T10:14:59Z","receivedAt":"2005-08-16T10:14:59Z","isPatch":false,"sender":{"key":"dongsheng.song@gmail.com","avatar":null},"body":"Hi,\n\nIs there any guide or advise for deploy git server ? \n\nHow do I set repository permissions correctly?\n\ncauchy\n"},{"id":"7354","messageId":"4b3406f050816031720cbaf4c@mail.gmail.com","threadId":"1384","inReplyTo":"Pine.LNX.4.63.0508161158400.3026@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"about git server & permissions","fromName":"Dongsheng Song","fromEmail":"dongsheng.song@gmail.com","sentAt":"2005-08-16T10:17:18Z","receivedAt":"2005-08-16T10:17:18Z","isPatch":false,"sender":{"key":"dongsheng.song@gmail.com","avatar":null},"body":"Hi,\n\nIs there any guide or advise for deploy git server ? Especially\nhttp/https/ssh server.\n\nHow do I set repository permissions correctly?\n\ncauchy\n"},{"id":"7363","messageId":"Pine.LNX.4.63.0508161730120.11105@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1384","inReplyTo":"7vy872fiin.fsf@assigned-by-dhcp.cox.net","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-08-16T15:31:23Z","receivedAt":"2005-08-16T15:31:23Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 16 Aug 2005, Junio C Hamano wrote:\n\n>   - Are all the files in Documentation/ reachable from git(7)\n>     or otherwise made into a standalone document using asciidoc\n>     by the Makefile?  I haven't looked into documentation\n>     generation myself (I use only the text files as they are);\n>     help to update the Makefile by somebody handy with asciidoc\n>     suite is greatly appreciated here.\n> \n>     Volunteers?\n\nThe attached script reveals:\n\ngit-unpack-objects.txt is not reachable from git.txt\ngit-cvsimport-script.txt is not reachable from git.txt\ngit-send-email-script.txt is not reachable from git.txt\ngit-rename-script.txt is not reachable from git.txt\ntutorial.txt is not reachable from git.txt\ngit-show-index.txt is not reachable from git.txt\ncvs-migration.txt is not reachable from git.txt\ndiffcore.txt is not reachable from git.txt\ngit-ls-remote-script.txt is not reachable from git.txt\ngit-apply.txt is not reachable from git.txt\ngit-diff-stages.txt is not reachable from git.txt\npack-protocol.txt is not reachable from git.txt\n\nCiao,\nDscho\n"},{"id":"7364","messageId":"Pine.LNX.4.63.0508161123480.23242@iabervon.org","threadId":"1384","inReplyTo":"7vy872fiin.fsf@assigned-by-dhcp.cox.net","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-08-16T15:39:04Z","receivedAt":"2005-08-16T15:39:04Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Tue, 16 Aug 2005, Junio C Hamano wrote:\n\n> Daniel Barkalow <barkalow@iabervon.org> writes:\n>\n> > It might be worth putting the list of things left to do before 1.0 in the\n> > tree (since they clearly covary), and it would be useful to know what\n> > you're thinking of as preventing the release at any particular stage.\n>\n> Yeah, yeah.  Call me lazy.\n>\n> Excerpts from my \"last mile to 1.0\", my Itchlist, and pieces from\n> random other messages since then.\n>\n> - Documentation. [I really need help here --- among ~7000 lines\n>   there, I've written around 2500 lines, David Greaves another\n>   2500, and Linus 1400.  And it is not very easy to proofread\n>   what you wrote yourself.]\n\nI'm not sure how done this can actually get before some sort of feature\nfreeze; the best ways to do things keeps changing as more convenient ways\nare added. Once the new stuff is diverted to post-1.0, I'd be interested\nin going through it.\n\n> - git prune and git fsck-cache; think about their interactions\n>   with an object database that borrows from another.  This\n>   includes the case where .git/objects itself is symlinked to\n>   somewhere else (i.e. running \"git prune\" that somewhere else\n>   without consulting this repository would lose objects), and\n>   alternates pointing at somewhere else (i.e. ditto).\n\nIt should be fine, but only if .git/refs is symlinked to the matching\nplace; this gives you the same repository with multiple working trees.\nHaving refs/ and objects/ directories that aren't always together would be\nmuch less safe.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"7365","messageId":"Pine.LNX.4.63.0508161139410.23242@iabervon.org","threadId":"1384","inReplyTo":"Pine.LNX.4.63.0508161730120.11105@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Git 1.0 Synopis (Draft v4)","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-08-16T15:47:05Z","receivedAt":"2005-08-16T15:47:05Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Tue, 16 Aug 2005, Johannes Schindelin wrote:\n\n> Hi,\n>\n> On Tue, 16 Aug 2005, Junio C Hamano wrote:\n>\n> >   - Are all the files in Documentation/ reachable from git(7)\n> >     or otherwise made into a standalone document using asciidoc\n> >     by the Makefile?  I haven't looked into documentation\n> >     generation myself (I use only the text files as they are);\n> >     help to update the Makefile by somebody handy with asciidoc\n> >     suite is greatly appreciated here.\n> >\n> >     Volunteers?\n>\n> The attached script reveals:\n>\n> git-unpack-objects.txt is not reachable from git.txt\n> git-cvsimport-script.txt is not reachable from git.txt\n> git-send-email-script.txt is not reachable from git.txt\n> git-rename-script.txt is not reachable from git.txt\n> tutorial.txt is not reachable from git.txt\n> git-show-index.txt is not reachable from git.txt\n> cvs-migration.txt is not reachable from git.txt\n> diffcore.txt is not reachable from git.txt\n> git-ls-remote-script.txt is not reachable from git.txt\n> git-apply.txt is not reachable from git.txt\n> git-diff-stages.txt is not reachable from git.txt\n> pack-protocol.txt is not reachable from git.txt\n\nThe ones that don't start with git probably don't belong in the same set;\nperhaps there should be a \"technical\" (or something similar but shorter)\nsubdirectory for developer documentation instead of user documentation?\n(And tutorial and cvs-migration can move to howto)\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"20912","messageId":"200605292106.k4TL6L4o014248@laptop11.inf.utfsm.cl","threadId":"1384","inReplyTo":"ryan@michonline.com","subject":"Re: [PATCH] git-send-email.perl extract_valid_address issue","fromName":"Horst von Brand","fromEmail":"vonbrand@inf.utfsm.cl","sentAt":"2006-05-29T21:06:21Z","receivedAt":"2006-05-29T21:06:21Z","isPatch":true,"sender":{"key":"vonbrand@inf.utfsm.cl","avatar":"https://avatars.githubusercontent.com/u/211384?v=4"},"body":"Ryan Anderson <ryan@michonline.com> wrote:\n> On Mon, May 29, 2006 at 12:00:44AM -0400, Nicolas Troncoso Carrere wrote:\n> > \n> > The third fallback was returning if the match was done or not instead of\n> > returning the actual email address that was matched. This prevented sending\n> > the mail to the people included in the CC. This bug only affect those that\n> > dont have Email::Valid.\n> > \n> > I initialized $valid_email as undef so it would mimic the behavior of \n> > Email::Verify->address(), which returns undef if no valid address was found.\n> \n> Odd, I noticed the same thing this weekend.\n> \n> > Signed-off-by: Nicolas <ntroncos@inf.utfsm.cl>\n> Acked-by: Ryan Anderson <ryan@michonline.com>\n> \n> (Or pick up my patch that fixes this in a slightly different way)\n> \n> > \n> > \n> > ---\n> > \n> >  git-send-email.perl |    4 +++-\n> >  1 files changed, 3 insertions(+), 1 deletions(-)\n> > \n> > 84853ca89c15de7a24e9eb9fd422654b86c63be9\n> > diff --git a/git-send-email.perl b/git-send-email.perl\n> > index 312a4ea..dfff3e6 100755\n> > --- a/git-send-email.perl\n> > +++ b/git-send-email.perl\n> > @@ -316,7 +316,9 @@ sub extract_valid_address {\n> >  \t} else {\n> >  \t\t# less robust/correct than the monster regexp in Email::Valid,\n> >  \t\t# but still does a 99% job, and one less dependency\n> > -\t\treturn ($address =~ /([^\\\"<>\\s]+@[^<>\\s]+)/);\n> > +                my $valid_email=undef;\n> > +                ($valid_email ) = ($address =~ /([^\\\"<>\\s]+@[^<>\\s]+)/);\n> > +                return ($valid_email);\n> >  \t}\n> >  }\n\nI just looked it over, and this is certainly broken in the original. The\nfirst return gives the string back if it matches, the second one evaluates\nthe list returned by the match in scalar context, and so returns 1 for a\nmatch or 0 for non-match. Besides, the regexps are fishy...\n\n- The first one won't consider 'Joe.Hacker' as a valid local address\n- The second one will consider 'Joe.Hacker@example.com\"' valid (note \")\n\nNeed to make both branches (with and without @) agree here, at least. And\nthis is certainly severely underpowered... dunno if it merits a better job\n(or just bail out if Email::Valid isn't found, instead of kludgeing\naround...)\n\nWill propose a fix ASAP.\n-- \nDr. Horst H. von Brand                   User #22616 counter.li.org\nDepartamento de Informatica                     Fono: +56 32 654431\nUniversidad Tecnica Federico Santa Maria              +56 32 654239\nCasilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513\n"},{"id":"20913","messageId":"200605292109.k4TL9g7E014263@laptop11.inf.utfsm.cl","threadId":"1384","inReplyTo":"ryan@michonline.com","subject":"Re: [PATCH] git-send-email.perl extract_valid_address issue","fromName":"Horst von Brand","fromEmail":"vonbrand@inf.utfsm.cl","sentAt":"2006-05-29T21:09:42Z","receivedAt":"2006-05-29T21:09:42Z","isPatch":true,"sender":{"key":"vonbrand@inf.utfsm.cl","avatar":"https://avatars.githubusercontent.com/u/211384?v=4"},"body":"Fix regexps to better match email addresses if Email::Valid isn't present\nMake it return the address on match containing a @\n\nSigned-off-by:  Horst H. von Brand <vonbrand@inf.utfsm.cl>\n---\n git-send-email.perl |    4 ++--\n 1 files changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/git-send-email.perl b/git-send-email.perl\nindex 312a4ea..6e39f2f 100755\n--- a/git-send-email.perl\n+++ b/git-send-email.perl\n@@ -309,14 +309,14 @@ sub extract_valid_address {\n \tmy $address = shift;\n \n \t# check for a local address:\n-\treturn $address if ($address =~ /^([\\w\\-]+)$/);\n+\treturn $address if ($address =~ /^([\\w\\-.]+)$/);\n \n \tif ($have_email_valid) {\n \t\treturn Email::Valid->address($address);\n \t} else {\n \t\t# less robust/correct than the monster regexp in Email::Valid,\n \t\t# but still does a 99% job, and one less dependency\n-\t\treturn ($address =~ /([^\\\"<>\\s]+@[^<>\\s]+)/);\n+\t\treturn ($address =~ /([\\w\\-.]+@[\\w\\-.]+)/) ? $1 : undef;\n \t}\n }\n \n-- \n1.3.3.g0f0ac\n"},{"id":"20927","messageId":"20060529221240.GE24077@localdomain","threadId":"1384","inReplyTo":"200605292109.k4TL9g7E014263@laptop11.inf.utfsm.cl","subject":"Re: [PATCH] git-send-email.perl extract_valid_address issue","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-05-29T22:12:40Z","receivedAt":"2006-05-29T22:12:40Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Horst von Brand <vonbrand@inf.utfsm.cl> wrote:\n> Fix regexps to better match email addresses if Email::Valid isn't present\n> Make it return the address on match containing a @\n> \n> Signed-off-by:  Horst H. von Brand <vonbrand@inf.utfsm.cl>\n> ---\n>  git-send-email.perl |    4 ++--\n>  1 files changed, 2 insertions(+), 2 deletions(-)\n> \n> diff --git a/git-send-email.perl b/git-send-email.perl\n> index 312a4ea..6e39f2f 100755\n> --- a/git-send-email.perl\n> +++ b/git-send-email.perl\n> @@ -309,14 +309,14 @@ sub extract_valid_address {\n>  \tmy $address = shift;\n>  \n>  \t# check for a local address:\n> -\treturn $address if ($address =~ /^([\\w\\-]+)$/);\n> +\treturn $address if ($address =~ /^([\\w\\-.]+)$/);\n>  \n>  \tif ($have_email_valid) {\n>  \t\treturn Email::Valid->address($address);\n>  \t} else {\n>  \t\t# less robust/correct than the monster regexp in Email::Valid,\n>  \t\t# but still does a 99% job, and one less dependency\n> -\t\treturn ($address =~ /([^\\\"<>\\s]+@[^<>\\s]+)/);\n> +\t\treturn ($address =~ /([\\w\\-.]+@[\\w\\-.]+)/) ? $1 : undef;\n>  \t}\n>  }\n\nOops on the original bug, my fault :x\nAcked-by: Eric Wong <normalperson@yhbt.net>\n\n-- \nEric Wong\n"}]}