{"thread":{"id":"787","subject":"[PATCH] One Git To Rule Them All","startedAt":"2005-06-01T05:58:33Z","lastAt":"2005-06-01T16:22:34Z","messageCount":6,"participants":["Jason McMullan","Junio C Hamano","Sebastian Kuzminsky","McMullan, Jason"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"4347","messageId":"20050601055833.GA14231@port.evillabs.net","threadId":"787","inReplyTo":null,"subject":"[PATCH] One Git To Rule Them All","fromName":"Jason McMullan","fromEmail":"jason.mcmullan@timesys.com","sentAt":"2005-06-01T05:58:33Z","receivedAt":"2005-06-01T05:58:33Z","isPatch":true,"sender":{"key":"jason.mcmullan@timesys.com","avatar":null},"body":"The following three patches (two prep and one 'real') fold all the\ngit-* commands into one 'git' command. This is useful for:\n\n\t* Setting up git on a new machine - just one file to send\n\t* Porcelain that customizes git (ie cogito) can have a\n\t  'cg-git' instead of trouncing on the default Plumbing git.\n\t* Quick-ref help on all the Plumbing commands for free!\n\t* git-<mumble> symlinks to git work as expected\n\t* Documentation is now enforced for building\n          (bug? feature? you decide)\n\n$ git help\nGIT Commands:\n\n\tlocal-pull              Duplicates another GIT repository on a local system\n\thttp-pull               Downloads a remote GIT repository via HTTP\n\trpull                   Pulls from a remote repository over ssh connection\n\trpush                   Helper \"server-side\" program used by git-rpull\n\trev-tree                Provides the revision tree for one or more commits\n\trev-list                Lists commit objects in reverse chronological order\n\texport                  Exports each commit and a diff against each of its parents\n\tread-tree               Reads tree information into the directory cache\n\tcheckout-cache          Copy files from the cache to the working directory\n\tupdate-cache            Modifies the index or directory cache\n\tls-tree                 Lists the contents of a tree object.\n\tls-files                Information about files in the cache/working directory\n\tcat-file                Provide content or type information for repository objects\n\tunpack-file             Creates a temporary file with a blob's contents\n\tdiff-files              Compares files in the working tree and the cache\n\tdiff-cache              Compares content and mode of blobs between the cache and repository\n\tdiff-tree               Compares the content and mode of blobs found via two tree objects\n\tmerge-base              Finds as good a common ancestor as possible for a merge\n\tmerge-cache             Runs a merge for files needing merging\n\tapply                   Apply a patch against the current index cache/working directory\n\tcheck-files             Verify a list of files are up-to-date\n\twrite-tree              Creates a tree from the current cache\n\tcommit-tree             Creates a new commit object\n\tmktag                   Creates a tag object\n\tinit-db                 Creates an empty git object database\n\tfsck-cache              Verifies the connectivity and validity of the objects in the database\n\tconvert-cache           Converts old-style GIT repository\n\tmkdelta                 Creates a delta object\n\ttar-tree                Creates a tar archive of the files in the named tree\n\tget-tar-commit-id       Show the commit ID embedded in a git-tar-tree file.\n\twrite-blob              Creates a blob from a file\n\tdiff-helper             Generates patch format output for git-diff-*\n\tstripspace              Strip space from stdin\n\n\n-- \nJason McMullan, Embedded Systems Engineer\n412.481.5021 tel, 412.656.3519 cell, 208.694.9206 fax\njason@evillabs.net\n"},{"id":"4351","messageId":"7vis0yr41f.fsf@assigned-by-dhcp.cox.net","threadId":"787","inReplyTo":"20050601055833.GA14231@port.evillabs.net","subject":"Re: [PATCH] One Git To Rule Them All","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-06-01T06:21:00Z","receivedAt":"2005-06-01T06:21:00Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"In my opinion, this is going backwards.\n\nI think we had this discussion long time ago on the list, and\ninstead of using cvs/svn style of \"cmd subcmd\" syntax, the\nconsensus back then was that using \"cmd-\" prefix without spaces\nis easier for making TAB completion to work (you do not have to\nmuck with command specific rules in the readline configuration),\nand this is especially helpful for people who ends up using the\nbare Plumbing. IIUC, the same reason is behind cg-* command set.\n\nHaving said that, for many people who do not wish to use the\nbare Plumbing interactively, installing git-* commands in, say,\n$(libexec)/git/ might be a more appropriate option.  But we have\nto remember there are people who uses the bare Plumbing\ninteratively.  I think Jeff Garzik said he does not use Cogito,\nand I suspect Linus does not either.\n\n\n"},{"id":"4353","messageId":"E1DdMoz-0007YR-TG@highlab.com","threadId":"787","inReplyTo":"7vis0yr41f.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] One Git To Rule Them All","fromName":"Sebastian Kuzminsky","fromEmail":"seb@highlab.com","sentAt":"2005-06-01T06:35:21Z","receivedAt":"2005-06-01T06:35:21Z","isPatch":true,"sender":{"key":"seb@highlab.com","avatar":"https://gravatar.com/avatar/f7ddd092ba3cf6999434f4d0d2f4b90fd174c2c3851617e8cffc0a2fee47becc?d=mp&s=160"},"body":"Calling it 'git' would conflict with the git binary from GNU Interactive\nTools.  That other git seems to not be maintained, the last release was\non 2000-03-12.  But still...\n\nI think it should have been called 'lit' from the start, for Linus'\nInformation Tracker.\n\n\n-- \nSebastian Kuzminsky\n"},{"id":"4362","messageId":"1117627661.19629.1.camel@jmcmullan.timesys","threadId":"787","inReplyTo":"7vis0yr41f.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] One Git To Rule Them All","fromName":"McMullan, Jason","fromEmail":"jason.mcmullan@timesys.com","sentAt":"2005-06-01T12:07:41Z","receivedAt":"2005-06-01T12:07:41Z","isPatch":true,"sender":{"key":"jason.mcmullan@timesys.com","avatar":null},"body":"On Tue, 2005-05-31 at 23:21 -0700, Junio C Hamano wrote:\n> I think we had this discussion long time ago on the list, and\n> instead of using cvs/svn style of \"cmd subcmd\" syntax, the\n> consensus back then was that using \"cmd-\" prefix without spaces\n> is easier for making TAB completion to work (you do not have to\n> muck with command specific rules in the readline configuration),\n> and this is especially helpful for people who ends up using the\n> bare Plumbing. IIUC, the same reason is behind cg-* command set.\n\nBut all the git-<mumble> commands are still there, as symlinks to\ngit. ie 'git-update-cache' and 'git update-cache' both work.\n\ngit-<TAB> still works.\n\nAm I missing something here?\n\n-- \nJason McMullan <jason.mcmullan@timesys.com>\nTimeSys Corporation\n\n"},{"id":"4370","messageId":"7vekbmkqeg.fsf@assigned-by-dhcp.cox.net","threadId":"787","inReplyTo":"1117627661.19629.1.camel@jmcmullan.timesys","subject":"Re: [PATCH] One Git To Rule Them All","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-06-01T16:12:07Z","receivedAt":"2005-06-01T16:12:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":">>>>> \"JM\" == McMullan, Jason <jason.mcmullan@timesys.com> writes:\n\nJM> Am I missing something here?\n\nNo, but one thing I failed to mention was that I am not a big\nfan of busybox.  It is a cute hack to save \"disk\" space in an\nembedded environment, but I find the way many commands are\nbundled together a bit too hacky for my taste to use on my\nregular work box.  I also suspect the change makes the\nmaintenance of the result harder than having them separate.\n\nYou said with this change there is only one file to install, but\nyou are not bundling the git-* scripts in the \"single git\", so\nthat claim is not true either.  If your patch handled the git-*\nscript parts as well, then I would have admired that part of the\nchange ;-).\n\nPersonally I find the mandatory documentation requirements this\npatch brings us is a good thing ;-).\n\n"},{"id":"4373","messageId":"1117642956.32257.9.camel@jmcmullan.timesys","threadId":"787","inReplyTo":"7vekbmkqeg.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] One Git To Rule Them All","fromName":"McMullan, Jason","fromEmail":"jason.mcmullan@timesys.com","sentAt":"2005-06-01T16:22:34Z","receivedAt":"2005-06-01T16:22:34Z","isPatch":true,"sender":{"key":"jason.mcmullan@timesys.com","avatar":null},"body":"On Wed, 2005-06-01 at 09:12 -0700, Junio C Hamano wrote:\n> You said with this change there is only one file to install, but\n> you are not bundling the git-* scripts in the \"single git\", so\n> that claim is not true either.  If your patch handled the git-*\n> script parts as well, then I would have admired that part of the\n> change ;-).\n\n\tYou want git-* scripts? You sure? I can supply that patch\nin about an hour... ;^)\n\n> Personally I find the mandatory documentation requirements this\n> patch brings us is a good thing ;-).\n\n\tSo do I. Also, I really like the 'ordered by workflow'\nhelp of 'git help'.\n\n-- \nJason McMullan <jason.mcmullan@timesys.com>\nTimeSys Corporation\n\n"}]}