summaryrefslogtreecommitdiff
path: root/diff-cache.c
AgeCommit message (Collapse)AuthorFilesLines
2005-05-07Fix usage string of git-diff-cache and add documentation of -m flag.Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-05diff-cache shows differences for unmerged paths without --cache.Libravatar Junio C Hamano1-4/+19
While manually resolving a merge conflict, being able to run diff-cache without --cache option between files in the work tree and either of the ancestor trees is helpful to verify the hand merged result. However, diff-cache refuses to handle unmerged paths, even when run without --cache option. This changes the behaviour so that the above use case will report the differences between the compared tree and the magic 0{40} SHA1 (i.e. "look at the work tree"). When there is no corresponding file in the work tree, or when the command is run with "--cache" option, it continues to report "unmerged". Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-05git-diff-cache: add "-m" flag to match all non-checked-out files with the index.Libravatar Linus Torvalds1-2/+13
This allows you to work with a directory tree that isn't fully populated, without making diff-cache say that all the files are gone.
2005-05-05[PATCH] git and symlinks as tracked contentLibravatar Kay Sievers1-1/+1
Allow to store and track symlink in the repository. A symlink is stored the same way as a regular file, only with the appropriate mode bits set. The symlink target is therefore stored in a blob object. This will hopefully make our udev repository fully functional. :) Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-01Add "get_sha1()" helper function.Libravatar Linus Torvalds1-1/+1
This allows the programs to use various simplified versions of the SHA1 names, eg just say "HEAD" for the SHA1 pointed to by the .git/HEAD file etc. For example, this commit has been done with git-commit-tree $(git-write-tree) -p HEAD instead of the traditional "$(cat .git/HEAD)" syntax.
2005-04-28[PATCH] Rename and extend read_tree_with_tree_or_commit_sha1Libravatar Junio C Hamano1-1/+1
This patch renames read_tree_with_tree_or_commit_sha1() to read_object_with_reference() and extends it to automatically dereference not just "commit" objects but "tag" objects. With this patch, you can say e.g.: ls-tree $tag read-tree -m $(merge-base $tag $HEAD) $tag $HEAD diff-cache $tag diff-tree $tag $HEAD Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-28[PATCH] diff-cache.c compilation warning fix.Libravatar Junio C Hamano1-2/+2
Nobody uses return value from show_new_file() function but it is defined as returning int and falls off at the end without returning. Make it void. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-27diff-cache: handle modified new files correctlyLibravatar Linus Torvalds1-18/+44
Junio pointed out that diff-cache didn't handle the case of a new file that was different from its index entry correctly. It needs to check the working copy the same way the modified file case did.
2005-04-27[PATCH] Add -p (patch) to diff-cache.Libravatar Junio C Hamano1-9/+28
This uses the reworked diff interface to generate patches directly out of diff-cache when -p is specified. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-26diff-cache: fix handling of unmerged files.Libravatar Linus Torvalds1-22/+39
We've always warned about them properly, but we would then do the wrong thing if that filename existed in the tree we were comparing against (we'd think the file has been deleted, because we forgot about the unmerged cases).
2005-04-26diff-cache.c: use the "U <pathname>" format for unmerged entries.Libravatar Linus Torvalds1-1/+1
This makes it match "show-diff" behaviour.
2005-04-26[PATCH] diff-cache bugletLibravatar Junio C Hamano1-1/+1
diff-cache attempts to first remove all merge entries before letting the diff_cache() do its work, but it incorrectly stops after the first merge-entry it finds. Fix by just replacing the "break" with a "continue". Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-23[PATCH] Fix broken diff-cache output on added filesLibravatar Petr Baudis1-1/+1
Added files were errorneously reported with the - prefix by diff-cache, obviously leading to great confusion. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-22New "diff-cache" implementation.Libravatar Linus Torvalds1-180/+54
This one is about a million times simpler, and much more likely to be correct too. Instead of trying to match up a tree object against the index, we just read in the tree object side-by-side into the index, and just walk the resulting index file. This was what all the read-tree cleanups were all getting to.
2005-04-20[PATCH] Usage-string fixes.Libravatar Junio C Hamano1-2/+4
Usage string fixes to make maintenance easier (only one instance of a string to update not multiple copies). I've spotted and corrected inconsistent usage text in diff-tree while doing this. Also diff-cache and read-tree usage text have been corrected to match their up-to-date features. Earlier, neither "--cached" form of diff-cache nor "-m single-merge" form of read-tree were described. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-20[PATCH] Teach diff-cache about commit objectsLibravatar Junio C Hamano1-16/+1
Updates diff-cache.c to use read_tree_with_tree_or_commit_sha1() function. The end-user visible result is the same --- the command takes either tree or commit ID. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-19Add "diff-cache" helper program to compare a tree (or commit) withLibravatar Linus Torvalds1-0/+267
the current cache state and/or working directory. Very useful to see what has changed since the last commit, either in the index file or in the whole working directory. Also very possibly very buggy. Matching the two up is not entirely trivial.