summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Collapse)AuthorFilesLines
2005-05-21[PATCH] The diff-raw format updates.Libravatar Junio C Hamano4-19/+23
Update the diff-raw format as Linus and I discussed, except that it does not use sequence of underscore '_' letters to express nonexistence. All '0' mode is used for that purpose instead. The new diff-raw format can express rename/copy, and the earlier restriction that -M and -C _must_ be used with the patch format output is no longer necessary. The patch makes -M and -C flags independent of -p flag, so you need to say git-whatchanged -M -p to get the diff/patch format. Updated are both documentations and tests. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-21[PATCH] Introducing software archaeologist's tool "pickaxe".Libravatar Junio C Hamano4-4/+19
This steals the "pickaxe" feature from JIT and make it available to the bare Plumbing layer. From the command line, the user gives a string he is intersted in. Using the diff-core infrastructure previously introduced, it filters the differences to limit the output only to the diffs between <src> and <dst> where the string appears only in one but not in the other. For example: $ ./git-rev-list HEAD | ./git-diff-tree -Sdiff-tree-helper --stdin -M would show the diffs that touch the string "diff-tree-helper". In real software-archaeologist application, you would typically look for a few to several lines of code and see where that code came from. The "pickaxe" module runs after "rename/copy detection" module, so it even crosses the file rename boundary, as the above example demonstrates. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-21[PATCH] Diff overhaul, adding half of copy detection.Libravatar Junio C Hamano4-4/+16
This introduces the diff-core, the layer between the diff-tree family and the external diff interface engine. The calls to the interface diff-tree family uses (diff_change and diff_addremove) have not changed and will not change. The purpose of the diff-core layer is to provide an infrastructure to transform the set of differences sent from the applications, before sending them to the external diff interface. The recently introduced rename detection code has been rewritten to use the diff-core facility. When applications send in separate creates and deletes, matching ones are transformed into a single rename-and-edit diff, and sent out to the external diff interface as such. This patch also enhances the rename detection code further to be able to detect copies. Currently this happens only as long as copy sources appear as part of the modified files, but there already is enough provision for callers to report unmodified files to diff-core, so that they can be also used as copy source candidates. Extending the callers this way will be done in a separate patch. Please see and marvel at how well this works by trying out the newly added t/t4003-diff-rename-1.sh test script. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-20[PATCH] Document -R option for git-diff-tree.Libravatar Junio C Hamano1-1/+4
Obviously we would want to document this as well. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19[PATCH] diff overhaulLibravatar Junio C Hamano2-2/+8
This cleans up the way calls are made into the diff core from diff-tree family and diff-helper. Earlier, these programs had "if (generating_patch)" sprinkled all over the place, but those ugliness are gone and handled uniformly from the diff core, even when not generating patch format. This also allowed diff-cache and diff-files to acquire -R (reverse) option to generate diff in reverse. Users of diff-tree can swap two trees easily so I did not add -R there. [ Linus' note: I'll add -R to "diff-tree" too, since a "commit diff" doesn't have another tree to switch around: the other tree is always the parent(s) of the commit ] Also -M<digits-as-mantissa> suggestion made by Linus has been implemented. Documentation updates are also included. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19[PATCH] manpage name conflictLibravatar Sebastian Kuzminsky3-5/+7
This moves the git manpage to man7, since "git" isn't a direct command per se. It also does two other things: * Sort of works around the asciidoc 6.0.3 bug where the manpages all get called "git.1". It just renames them to what they should have been called. * Fixes a cut-n-paste bug in git-diff-helper.txt that was making asciidoc choke.
2005-05-19[PATCH] Implement git-checkout-cache -u to update stat information in the cache.Libravatar Junio C Hamano1-1/+5
With -u flag, git-checkout-cache picks up the stat information from newly created file and updates the cache. This removes the need to run git-update-cache --refresh immediately after running git-checkout-cache. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19[PATCH] Detect renames in diff family.Libravatar Junio C Hamano4-5/+14
This rips out the rename detection engine from diff-helper and moves it to the diff core, and updates the internal calling convention used by diff-tree family into the diff core. In order to give the same option name to diff-tree family as well as to diff-helper, I've changed the earlier diff-helper '-r' option to '-M' (stands for Move; sorry but the natural abbreviation 'r' for 'rename' is already taken for 'recursive'). Although I did a fair amount of test with the git-diff-tree with existing rename commits in the core GIT repository, this should still be considered beta (preview) release. This patch depends on the diff-delta infrastructure just committed. This implements almost everything I wanted to see in this series of patch, except a few minor cleanups in the calling convention into diff core, but that will be a separate cleanup patch. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18[PATCH] Diff-helper updateLibravatar Junio C Hamano1-3/+9
This patch adds a framework and a stub implementation of rename detection to diff-helper program. The current stub code is just enough to detect pure renames in diff-tree output and not fancier. The plan is perhaps to use the same delta code when Nico's delta storage patch is merged for similarity evaluation purposes. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-15[PATCH 3/3] Rename git-diff-tree-helper to git-diff-helper (part 2).Libravatar Junio C Hamano1-5/+5
It used to be that diff-tree needed helper support to parse its raw output to generate diffs, but these days git-diff-* family produces the same output and the helper is not tied to diff-tree anymore. Drop "tree" from its name. This follows the "rename only" commit to adjust the contents of the files involved. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15[PATCH 2/3] Rename git-diff-tree-helper to git-diff-helper.Libravatar Junio C Hamano3-2/+2
It used to be that diff-tree needed helper support to parse its raw output to generate diffs, but these days git-diff-* family produces the same output and the helper is not tied to diff-tree anymore. Drop "tree" from its name. This commit is done separately to record just the rename and no file content changes. The changes in the renamed files are recorded in the next commit. Signed-off-by: Junio C Hamano <junkio@cox.net> Bundled with the changes in the unrenamed files. Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-14The Makefile is now aware of Documentation/ include directivesLibravatar David Greaves1-2/+3
It makes the includers (diff commands documentation) depend on the includee (diff format description). Signed-off-by: David Greaves <david@dgreaves.com> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-13[PATCH 3/3] Add git-ls-files -k.Libravatar Junio C Hamano1-2/+8
When checkout-cache attempts to check out a non-directory where a directory exists on the work tree, or to check out a file under directory D when path D is a non-directory on the work tree, the attempt fails. Before running checkout-cache, the user can run git-ls-files with the -k (killed) option to get a list of such paths. The tagged output format uses "K" to denote them. This is useful for Porcelain layer to be careful when dealing with the recently corrected behaviour of checkout-cache. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-10Adjust quoting styles for some environment variables in the documentation.Libravatar Junio C Hamano1-2/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-11Document git-merge-cache -oLibravatar Petr Baudis1-1/+8
2005-05-10[PATCH 4/4] split core-git.txt and updateLibravatar David Greaves1-0/+24
Makefile for html and man Signed-off-by: David Greaves <david@dgreaves.com>
2005-05-10[PATCH 3/4] split core-git.txt and updateLibravatar David Greaves8-20/+128
Update git environment variable docs Update first section of command docs (Manipulation commands section) Signed-off-by: David Greaves <david@dgreaves.com>
2005-05-10[PATCH 2/4] split core-git.txt and updateLibravatar David Greaves1-36/+48
Rearrange commands in git.txt Signed-off-by: David Greaves <david@dgreaves.com>
2005-05-10[PATCH 1/4] split core-git.txt and updateLibravatar David Greaves39-1712/+2262
Split the core-git.txt file Formatting fix to the diff-format.txt Signed-off-by: David Greaves <david@dgreaves.com>
2005-05-09Rename environment variables.Libravatar Junio C Hamano1-13/+14
H. Peter Anvin mentioned that using SHA1_whatever as an environment variable name is not nice and we should instead use names starting with "GIT_" prefix to avoid conflicts. Here is what this patch does: * Renames the following environment variables: New name Old Name GIT_AUTHOR_DATE AUTHOR_DATE GIT_AUTHOR_EMAIL AUTHOR_EMAIL GIT_AUTHOR_NAME AUTHOR_NAME GIT_COMMITTER_EMAIL COMMIT_AUTHOR_EMAIL GIT_COMMITTER_NAME COMMIT_AUTHOR_NAME GIT_ALTERNATE_OBJECT_DIRECTORIES SHA1_FILE_DIRECTORIES GIT_OBJECT_DIRECTORY SHA1_FILE_DIRECTORY * Introduces a compatibility macro, gitenv(), which does an getenv() and if it fails calls gitenv_bc(), which in turn picks up the value from old name while giving a warning about using an old name. * Changes all users of the environment variable to fetch environment variable with the new name using gitenv(). * Updates the documentation and scripts shipped with Linus GIT distribution. The transition plan is as follows: * We will keep the backward compatibility list used by gitenv() for now, so the current scripts and user environments continue to work as before. The users will get warnings when they have old name but not new name in their environment to the stderr. * The Porcelain layers should start using new names. However, just in case it ends up calling old Plumbing layer implementation, they should also export old names, taking values from the corresponding new names, during the transition period. * After a transition period, we would drop the compatibility support and drop gitenv(). Revert the callers to directly call getenv() but keep using the new names. The last part is probably optional and the transition duration needs to be set to a reasonable value. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-08[PATCH 2/2] core-git documentation updateLibravatar David Greaves3-501/+971
Reformat core-git.txt to asciidoc format. Includes split-docs.pl to create individual txt, html and man pages. <JC> Editorial note. I've updated to add git-diff-cache -m and git-update-cache --replace description on top of the version David posted to the GIT list and got his OK. Signed-off-by: David Greaves <david@dgreaves.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-08[PATCH 1/2] core-git documentation updateLibravatar David Greaves1-125/+125
Sorts core-git.txt into alphabetical order Signed-off-by: David Greaves <david@dgreaves.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-07Add git-update-cache --replace option.Libravatar Junio C Hamano1-1/+9
When "path" exists as a file or a symlink in the index, an attempt to add "path/file" is refused because it results in file vs directory conflict. Similarly when "path/file1", "path/file2", etc. exist, an attempt to add "path" as a file or a symlink is refused. With git-update-cache --replace, these existing entries that conflict with the entry being added are automatically removed from the cache, with warning messages. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-07Fix usage string of git-diff-cache and add documentation of -m flag.Libravatar Junio C Hamano1-1/+8
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-06[PATCH] Document --stdin, -m, -s, and -v flags to git-diff-treeLibravatar Junio C Hamano1-1/+29
This updates the usage message string and Documentation/core-git.txt to describe the new flags added to the git-diff-tree command. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-06Steal -t option to git-ls-files from Cogito fork.Libravatar Petr Baudis1-0/+8
This backports the -t option git-ls-files in Cogito added to the Linus version. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-06Implement -v (verbose) option for pull methods other than local transport.Libravatar Junio C Hamano1-0/+32
This moves the private "say()" function to pull.c, renames it to "pull_say()", and introduces a global variable "get_verbosely" that makes the pull backends report what they fetch. The -v option is added to git-rpull and git-http-pull to match git-local-pull. The documentation is updated to describe these pull commands. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-05Add documentation for the rest of commands.Libravatar Junio C Hamano1-0/+104
This adds descriptions for the core GIT commands that were not mentioned in the previous version. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-05Adjust core-git documentation to more recent Linus GIT.Libravatar Junio C Hamano1-287/+294
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-05Reference documentation for the core git commands.Libravatar David Greaves1-0/+1128
Signed-off-by: David Greaves <david@dgreaves.com> Signed-off-by: Junio C Hamano <junkio@cox.net>