summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2005-05-19diff.c: remove left-over scoring debug messageLibravatar Linus Torvalds1-3/+0
It may be wonderful for rating the scoring, but it's not appropriate for actual use ;)
2005-05-19git-whatchanged: use 'less -S' on the output to make it more user friendlyLibravatar Linus Torvalds1-1/+1
2005-05-19[PATCH] Detect renames in diff family.Libravatar Junio C Hamano12-239/+533
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-19[PATCH] Deltification library work by Nicolas Pitre.Libravatar Nicolas Pitre5-2/+511
This patch adds the basic library functions to create and replay delta information. Also included is a test-delta utility to validate the code. diff-delta was based on LibXDiff written by Davide Libenzi Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Davide Libenzi <davidel@xmailserver.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19[PATCH] A test case addition for strbuf regressionLibravatar Junio C Hamano1-0/+9
This test would have caught the strbuf eof condition gotcha, hopefully fixed with my previous patch. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-19[PATCH] fix strbuf take #2Libravatar Junio C Hamano1-0/+2
I just remembered why I placed that bogus "sb->len ==0 implies sb->eof" condition there. We need at least something like this to catch the normal EOF (that is, line termination immediately followed by EOF) case. "if (feof(fp))" fires when we have already read the eof, not when we are about read it. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18merge-base: use the new lookup_commit_reference() helper functionLibravatar Linus Torvalds1-2/+2
This allows you to use tags for merge bases.
2005-05-18commit: add "lookup_commit_reference()" helper functionLibravatar Linus Torvalds2-6/+24
It's pretty much the same as "lookup_commit()", but it will take tags too, and look up the commit (if any) associated with them.
2005-05-18[PATCH] fix show_date() for positive timezonesLibravatar Nicolas Pitre1-2/+2
Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18diff-tree: don't match non-directories as partial pathnamesLibravatar Linus Torvalds1-0/+2
This normally doesn't matter, but if you have a filename that is sometimes a directory and sometimes a regular file (or symlink), we don't want the regular file case to trigger a "partial match".
2005-05-18diff-tree: fix "whole sub-tree disappeared or appeared" caseLibravatar Linus Torvalds1-9/+11
We still need to check which part of the sub-tree is interesting.
2005-05-18diff-tree: fix up comparison of "interesting" sub-treesLibravatar Linus Torvalds1-0/+5
We used to trigger the "interesting subdirectory" check for any matching name that started with the same character series, regardless of whether it had the matching slash or not.
2005-05-18diff-tree: show hex sha1 of the single-commit argument case correctly.Libravatar Linus Torvalds1-1/+7
We can't just do the "sha1_to_hex()" thing directly, since the buffer in question will be overwritten by the name of the parent. So teach diff_tree_commit() to generate the proper hex name itself.
2005-05-18diff-tree: fix and extend argument parsingLibravatar Linus Torvalds1-11/+27
We use "--" to mark end of command line switches, not "-". Also, allow more flexibility in the passed-in sha1 names, in that a single sha1 uses the "commit-diff" logic that compares against its parent(s).
2005-05-18diff-tree: clean up diff_tree_stdin() functionLibravatar Linus Torvalds1-21/+27
Split it into the "one commit" vs "two trees" case, since we'll want to use the "one commit" case for other things too.
2005-05-18diff-helper: pass unrecognized lines through unmodifiedLibravatar Linus Torvalds1-4/+5
(and flush any pending renames)
2005-05-18strbuf: allow zero-length linesLibravatar Linus Torvalds1-2/+0
They aren't EOF.
2005-05-18[PATCH] Diff-helper updateLibravatar Junio C Hamano4-19/+170
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-18fsck-cache: read the default reference information even whenLibravatar Linus Torvalds1-4/+4
not doing reachability analysis. This avoids the dangling head problem, and means that just a plain "git-fsck-cache" with no parameters will DTRT.
2005-05-18fsck-cache: walk the 'refs' directory if the user doesn't give anyLibravatar Linus Torvalds2-22/+74
explicit references for reachability analysis. We already had that as separate logic in git-prune-script, so this is not a new special case - it's an old special case moved into fsck, making normal usage be much simpler.
2005-05-18[PATCH] Fix diff output take #4.Libravatar Junio C Hamano2-9/+12
This implements the output format suggested by Linus in <Pine.LNX.4.58.0505161556260.18337@ppc970.osdl.org>, except the imaginary diff option is spelled "diff --git" with double dashes as suggested by Matthias Urlichs. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18[PATCH] Kill a bunch of pointer sign warnings for gcc4Libravatar Brian Gerst10-23/+23
- Raw hashes should be unsigned char. - String functions want signed char. - Hash and compress functions want unsigned char. Signed-off By: Brian Gerst <bgerst@didntduck.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-17Add silly "git-whatchanged" script.Libravatar Linus Torvalds2-1/+3
It's a one-liner, but it's useful as documentation if nothing else.
2005-05-16[PATCH 4/4] Trivial test harness fixes.Libravatar Junio C Hamano2-3/+4
The documentation of the test harness still refer to old numbering and also contains an obvious typo. Also "make test" should be run after making sure we have built all binaries, since test is designed to test the newly built ones. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15Remove obsolete note about native CPU byte formatLibravatar Petr Baudis1-4/+0
Comment in entry.h said that the cache contents is in the native CPU byte format, which is really not true anymore for quite some time.
2005-05-15Rename some more cache-related functionsLibravatar Brad Roberts3-11/+11
same_name -> ce_same_name() remove_entry_at() -> remove_cache_entry_at() Signed-off-by: Brad Roberts <braddr@puremagic.com> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15Rename cache_match_stat() to ce_match_stat()Libravatar Brad Roberts8-8/+8
Signed-off-by: Brad Roberts <braddr@puremagic.com> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15Cleanup the x-allocation functionsLibravatar Brad Roberts1-2/+10
xmalloc() and xrealloc() now take their sizes as size_t-type arguments. Introduced complementary xcalloc(). Signed-off-by: Brad Roberts <braddr@puremagic.com> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15[PATCH 3/3] Rename git-diff-tree-helper to git-diff-helper (part 2).Libravatar Junio C Hamano2-11/+11
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 Hamano6-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 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-15The test of the basic diff functionalityLibravatar Junio C Hamano1-0/+50
This test comes from "[PATCH 2/2] The core GIT tests: recent additions and fixes" but couldn't be included before since it depended on the modechange diff output changes. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15[PATCH 1/3] Update mode-change strings in diff output.Libravatar Junio C Hamano1-10/+12
This updates the mode change strings to be a bit more machine friendly. Although this might go against the spirit of readability for human consumption, these mode bits strings are shown only when unusual things (mode change, file creation and deletion) happens, output normalized for machine consumption would be permissible. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15[PATCH] Add the merge test Linus called "test script from hell".Libravatar Junio C Hamano1-0/+313
This is an adaptation to the test framework of a historic test that was used before three way merge form of read-tree was introduced, and subsequently used to validate the read-tree -m merge works correctly. It covers all the tricky cases known back then and also have been updated to cover conflicting files/directories cases since then. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15Fixed misnamed t/t2010-update-cache-badpath.shLibravatar Petr Baudis1-0/+0
mv t/t2010-update-cache-badpath.sh t/t2100-update-cache-badpath.sh
2005-05-15[PATCH] Test GIT environment use.Libravatar Junio C Hamano1-0/+134
This test makes sure that use of deprecated environment variables still works, using both new and old names makes new one take precedence, and GIT_DIR and GIT_ALTERNATE_OBJECT_DIRECTORIES mechanisms work. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-15Rename some test scripts and describe the naming conventionLibravatar Petr Baudis6-1/+26
First digit: "family", e.g. the absolute basics and global stuff (0), the basic db-side commands (read-tree, write-tree, commit-tree), the basic working-tree-side commands (checkout-cache, update-cache), the other basic commands (ls-files), the diff commands, the pull commands, exporting commands, revision tree commands... Second digit: the particular command we are testing Third digit: (optionally) the particular switch or group of switches we are testing Freeform part: commandname-details Described in the README. mv t1000-checkout-cache.sh t2000-checkout-cache-clash.sh mv t1001-checkout-cache.sh t2001-checkout-cache-clash.sh mv t0200-update-cache.sh t2010-update-cache-badpath.sh mv t0400-ls-files.sh t3000-ls-files-others.sh mv t0500-ls-files.sh t3010-ls-files-killed.sh
2005-05-14[PATCH 2/2] Test framework documentation.Libravatar Junio C Hamano1-0/+174
This adds instruction for running tests, and writing new tests. Signed-off-by: Junio C Hamano <junkio@cox.net> Updated to the new tidied up output style. Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-14[PATCH 1/2] Test suite fixup.Libravatar Junio C Hamano3-24/+26
Exposing test_expect_success and test_expect_failure turns out to be enough for the test scripts and there is no need for exposing test_ok or test_failure. This patch cleans it up and fixes the users of test_ok and test_failure. Also test scripts have acquired a new command line flag '--immediate' to cause them to exit upon the first failure. This is useful especially during the development of a new test. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-14Try to make test output look betterLibravatar Petr Baudis1-2/+2
NO changed to FAIL and ok was right-aligned with it so that it is easier to visually identify the failed tests, and the removal of # should reduce the clutter on the line and aid the eye to spot the test number better.
2005-05-14t/Makefile: OPTS -> GIT_TEST_OPTSLibravatar Petr Baudis1-2/+3
This way, passing this variable through the environment actually makes sense.
2005-05-14t/Makefile cleanupLibravatar Petr Baudis1-4/+3
t/Makefile now does not use double-colon rules (why would it?), the rm -fr trash in the all rule is silent, and OPTS aren't set to blank so that they can be taken from the environment.
2005-05-14Implemented make testLibravatar Petr Baudis1-0/+3
make test in project root will recurse to the t/ subdirectory and run make all there.
2005-05-14Fixed t0000-basic.sh and test-lib.sh permissionsLibravatar Petr Baudis2-0/+0
The +x bit was missing. I applied the original patch three times and set the permissions correctly two times. Guess which was the time I forgot.
2005-05-14[PATCH 2/2] The core GIT tests: recent additions and fixes.Libravatar Junio C Hamano6-0/+375
This set of scripts are designed to test the features and fixes we recently added to core GIT. The convention to call test helper function has been changed during the framework cleanup (take two), and these tests have been updated to use the cleaned up test-lib.sh interface. Signed-off-by: Junio C Hamano <junkio@cox.net> Note that this does not include the t2000-diff.sh script since it tests a patch which was not applied yet. Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-14[PATCH 1/2] Test framework take two.Libravatar Junio C Hamano3-0/+336
This adds t/ directory to host test suite, a test helper library and a basic set of tests. Petr Baudis raised many valid points at the earlier attempts in git mailing list. This round, test-lib.sh has been updated to a bit more modern style, and the default output is made easier to read. Also included is one sample test script that tests the very basics. This test has already found one leftover bug missed when we introduced symlink support, which has been fixed since then. The supplied Makefile is designed to run all the available tests. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-14[PATCH] Fix git-diff-files for symlinks.Libravatar Junio C Hamano1-1/+2
Again I am not sure why this was missed during the last round, but git-diff-files mishandles symlinks on the filesystem. This patch fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net> And I'm not sure why did I miss this patch before. Sorry. 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 Hamano2-18/+91
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-13[PATCH 2/3] Support symlinks in git-ls-files --others.Libravatar Junio C Hamano2-3/+6
It is kind of surprising that this was missed in the last round, but the work tree scanner in git-ls-files was still deliberately ignoring symlinks. This patch fixes it, so that --others will correctly report unregistered symlinks. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
2005-05-12[PATCH] checkout-cache fixLibravatar Junio C Hamano1-3/+46
Fix checkout-cache when existing work tree interferes with the checkout. This is essentially the same one as the last one I sent to the GIT list, except that the patch is rebased to the current tip of the git-pb tree, and an unnecessary call to create_directories() removed. The checkout-cache command gets confused when checking out a file in a subdirectory and the work tree has a symlink to the subdirectory. Also it fails to check things out when there is a non-directory in the work tree when cache expects a directory there, and vice versa. This patch fixes the first problem by making sure all the leading paths in the file being checked out are indeed directories, and also fixes directory vs non-directory conflicts when '-f' is specified by removing the offending paths. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>