git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] One Git To Rule Them All

From
JMJason McMullan <jason.mcmullan@timesys.com>
Date
Jun 1, 2005, 05:58 UTC
Message-ID
<20050601055833.GA14231@port.evillabs.net>

The following three patches (two prep and one 'real') fold all the git-* commands into one 'git' command. This is useful for:

	* Setting up git on a new machine - just one file to send
	* Porcelain that customizes git (ie cogito) can have a
	  'cg-git' instead of trouncing on the default Plumbing git.
	* Quick-ref help on all the Plumbing commands for free!
	* git-<mumble> symlinks to git work as expected
	* Documentation is now enforced for building
          (bug? feature? you decide)

$ git help GIT Commands:

	local-pull              Duplicates another GIT repository on a local system
	http-pull               Downloads a remote GIT repository via HTTP
	rpull                   Pulls from a remote repository over ssh connection
	rpush                   Helper "server-side" program used by git-rpull
	rev-tree                Provides the revision tree for one or more commits
	rev-list                Lists commit objects in reverse chronological order
	export                  Exports each commit and a diff against each of its parents
	read-tree               Reads tree information into the directory cache
	checkout-cache          Copy files from the cache to the working directory
	update-cache            Modifies the index or directory cache
	ls-tree                 Lists the contents of a tree object.
	ls-files                Information about files in the cache/working directory
	cat-file                Provide content or type information for repository objects
	unpack-file             Creates a temporary file with a blob's contents
	diff-files              Compares files in the working tree and the cache
	diff-cache              Compares content and mode of blobs between the cache and repository
	diff-tree               Compares the content and mode of blobs found via two tree objects
	merge-base              Finds as good a common ancestor as possible for a merge
	merge-cache             Runs a merge for files needing merging
	apply                   Apply a patch against the current index cache/working directory
	check-files             Verify a list of files are up-to-date
	write-tree              Creates a tree from the current cache
	commit-tree             Creates a new commit object
	mktag                   Creates a tag object
	init-db                 Creates an empty git object database
	fsck-cache              Verifies the connectivity and validity of the objects in the database
	convert-cache           Converts old-style GIT repository
	mkdelta                 Creates a delta object
	tar-tree                Creates a tar archive of the files in the named tree
	get-tar-commit-id       Show the commit ID embedded in a git-tar-tree file.
	write-blob              Creates a blob from a file
	diff-helper             Generates patch format output for git-diff-*
	stripspace              Strip space from stdin
-- 
Jason McMullan, Embedded Systems Engineer
412.481.5021 tel, 412.656.3519 cell, 208.694.9206 fax
jason@evillabs.net
Next: Junio C Hamano
Message 1 of 6 in “One Git To Rule Them All”
  1. One Git To Rule Them AllJason McMullan, Jun 1, 2005
  2. Junio C HamanoJun 1, 2005
  3. Sebastian KuzminskyJun 1, 2005
  4. McMullan, JasonJun 1, 2005
  5. Junio C HamanoJun 1, 2005
  6. McMullan, JasonJun 1, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.