summaryrefslogtreecommitdiff
path: root/t
AgeCommit message (Collapse)AuthorFilesLines
2008-05-31Add test cases for git-amLibravatar Stephan Beyer1-0/+226
Add t/t4151-am.sh that does basic testing of git-am functionality, including: * am applies patch correctly * am changes committer and keeps author * am --signoff adds Signed-off-by: line * am stays in branch * am --signoff does not add Signed-off-by: line if already there * am without --keep removes Re: and [PATCH] stuff * am --keep really keeps the subject * am -3 falls back to 3-way merge * am pauses on conflict * am --skip works * am --resolved works * am takes patches from a Pine mailbox * am fails on mail without patch * am fails on empty patch Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-28builtin-fetch.c (store_updated_refs): Honor update_local_ref() return valueLibravatar Dmitry V. Levin1-0/+37
Sync with builtin-fetch--tool.c where append_fetch_head() honors update_local_ref() return value. This fixes non fast forward fetch exit status, http://bugzilla.altlinux.org/show_bug.cgi?id=15037 Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-27t5100: Avoid filename "nul"Libravatar Junio C Hamano2-2/+2
There are broken filesystems that cannot have a file whose name is "nul" anywhere on it. Rename the test file to make ourselves more portable. Noticed by Mark Levedahl. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-27Merge 1.5.5.3 inLibravatar Junio C Hamano1-11/+2
2008-05-27Revert "filter-branch: subdirectory filter needs --full-history"Libravatar Johannes Sixt1-11/+2
This reverts commit cfabd6eee1745cfec58cfcb794ce8847e43b888a. I had implemented it without understanding what --full-history does. Consider this history: C--M--N / / / A--B / \ / D-/ where B and C modify a path, X, in the same way so that the result is identical, and D does not modify it at all. With the path limiter X and without --full-history this is simplified to A--B i.e. only one of the paths via B or C is chosen. I had assumed that --full-history would keep both paths like this C--M / / A--B removing the path via D; but in fact it keeps the entire history. Currently, git does not have the capability to simplify to this intermediary case. However, the other extreme to keep the entire history is not wanted either in usual cases. I think we can expect that histories like the above are rare, and in the usual cases we want a simplified history. So let's remove --full-history again. (Concerning t7003, subsequent tests depend on what the test case sets up, so we can't just back out the entire test case.) Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-27t5700-clone-reference: Quote $ULibravatar Johannes Sixt1-3/+3
The new "trash directory" bites again. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-27Add some tests for git update-ref -dLibravatar Karl Hasselström1-0/+16
Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-26Merge branch 'jc/diff-no-no-index'Libravatar Junio C Hamano52-388/+391
* jc/diff-no-no-index: git diff --no-index: default to page like other diff frontends git-diff: allow --no-index semantics a bit more "git diff": do not ignore index without --no-index diff-files: do not play --no-index games tests: do not use implicit "git diff --no-index"
2008-05-26Merge branch 'gp/bisect-fix' into maintLibravatar Junio C Hamano1-0/+25
* gp/bisect-fix: bisect: print an error message when "git rev-list --bisect-vars" fails git-bisect.sh: don't accidentally override existing branch "bisect"
2008-05-25Merge branch 'js/mailinfo'Libravatar Junio C Hamano4-0/+55
* js/mailinfo: mailsplit: minor clean-up in read_line_with_nul() mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths mailsplit and mailinfo: gracefully handle NUL characters
2008-05-25Merge branch 'jc/add-n-u'Libravatar Junio C Hamano1-0/+17
* jc/add-n-u: Make git add -n and git -u -n output consistent "git-add -n -u" should not add but just report Conflicts: builtin-add.c builtin-mv.c cache.h read-cache.c
2008-05-25Merge branch 'ar/t6031'Libravatar Junio C Hamano1-2/+5
* ar/t6031: Fix t6031 on filesystems without working exec bit
2008-05-25Merge branch 'db/clone-in-c'Libravatar Junio C Hamano2-1/+41
* db/clone-in-c: Add test for cloning with "--reference" repo being a subset of source repo Add a test for another combination of --reference Test that --reference actually suppresses fetching referenced objects clone: fall back to copying if hardlinking fails builtin-clone.c: Need to closedir() in copy_or_link_directory() builtin-clone: fix initial checkout Build in clone Provide API access to init_db() Add a function to set a non-default work tree Allow for having for_each_ref() list extra refs Have a constant extern refspec for "--tags" Add a library function to add an alternate to the alternates file Add a lockfile function to append to a file Mark the list of refs to fetch as const Conflicts: cache.h t/t5700-clone-reference.sh
2008-05-25Merge branch 'jc/apply-whitespace'Libravatar Junio C Hamano1-0/+61
* jc/apply-whitespace: builtin-apply: do not declare patch is creation when we do not know it builtin-apply: accept patch to an empty file builtin-apply: typofix
2008-05-25Merge branch 'ar/batch-cat'Libravatar Junio C Hamano3-35/+359
* ar/batch-cat: change quoting in test t1006-cat-file.sh builtin-cat-file.c: use parse_options() git-svn: Speed up fetch Git.pm: Add hash_and_insert_object and cat_blob Git.pm: Add command_bidi_pipe and command_close_bidi_pipe git-hash-object: Add --stdin-paths option Add more tests for git hash-object Move git-hash-object tests from t5303 to t1007 git-cat-file: Add --batch option git-cat-file: Add --batch-check option git-cat-file: Make option parsing a little more flexible git-cat-file: Small refactor of cmd_cat_file Add tests for git cat-file
2008-05-25Merge branch 'cc/bisect'Libravatar Junio C Hamano1-19/+60
* cc/bisect: bisect: use a detached HEAD to bisect bisect: trap critical errors in "bisect_start" bisect: fix left over "BISECT_START" file when starting with junk rev bisect: add test cases to check that "git bisect start" is atomic
2008-05-25Merge branch 'ap/svn'Libravatar Junio C Hamano1-0/+70
* ap/svn: git-svn: add test for --add-author-from and --use-log-author git-svn: add documentation for --add-author-from option. git-svn: Add --add-author-from option. git-svn: add documentation for --use-log-author option.
2008-05-25Merge branch 'js/cvsexportcommit'Libravatar Junio C Hamano1-0/+17
* js/cvsexportcommit: cvsexportcommit: introduce -W for shared working trees (between Git and CVS) cvsexportcommit: chomp only removes trailing whitespace Conflicts: git-cvsexportcommit.perl
2008-05-25Merge branch 'js/ignore-submodule'Libravatar Junio C Hamano1-0/+92
* js/ignore-submodule: Ignore dirty submodule states during rebase and stash Teach update-index about --ignore-submodules diff options: Introduce --ignore-submodules
2008-05-25Merge branch 'mo/cvsserver'Libravatar Junio C Hamano1-0/+337
* mo/cvsserver: Documentation: Fix skipped section level git-cvsserver: add ability to guess -kb from contents implement gitcvs.usecrlfattr git-cvsserver: add mechanism for managing working tree and current directory
2008-05-25mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepathsLibravatar Junio C Hamano3-0/+46
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-25mailsplit and mailinfo: gracefully handle NUL charactersLibravatar Johannes Schindelin2-0/+9
The function fgets() has a big problem with NUL characters: it reads them, but nobody will know if the NUL comes from the file stream, or was appended at the end of the line. So implement a custom read_line_with_nul() function. Noticed by Tommy Thorn. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-24"git diff": do not ignore index without --no-indexLibravatar Junio C Hamano3-1/+4
Even if "foo" and/or "bar" does not exist in index, "git diff foo bar" should not change behaviour drastically from "git diff foo bar baz" or "git diff foo". A feature that "sometimes works and is handy" is an unreliable cute hack. "git diff foo bar" outside a git repository continues to work as a more colourful alternative to "diff -u" as before. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-24tests: do not use implicit "git diff --no-index"Libravatar Junio C Hamano50-387/+387
As a general principle, we should not use "git diff" to validate the results of what git command that is being tested has done. We would not know if we are testing the command in question, or locating a bug in the cute hack of "git diff --no-index". Rather use test_cmp for that purpose. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-23Merge branch 'pb/push'Libravatar Junio C Hamano2-1/+45
* pb/push: add special "matching refs" refspec
2008-05-23Merge branch 'bc/repack'Libravatar Junio C Hamano1-0/+47
* bc/repack: Documentation/git-repack.txt: document new -A behaviour let pack-objects do the writing of unreachable objects as loose objects add a force_object_loose() function builtin-gc.c: deprecate --prune, it now really has no effect git-gc: always use -A when manually repacking repack: modify behavior of -A option to leave unreferenced objects unpacked Conflicts: builtin-pack-objects.c
2008-05-23Merge branch 'sp/ignorecase'Libravatar Junio C Hamano1-0/+29
* sp/ignorecase: t0050: Fix merge test on case sensitive file systems t0050: Add test for case insensitive add t0050: Set core.ignorecase case to activate case insensitivity t0050: Test autodetect core.ignorecase git-init: autodetect core.ignorecase
2008-05-23change quoting in test t1006-cat-file.shLibravatar Michele Ballabio1-3/+3
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-23git-hash-object: Add --stdin-paths optionLibravatar Adam Roben1-0/+32
This allows multiple paths to be specified on stdin. Signed-off-by: Adam Roben <aroben@apple.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-23Add more tests for git hash-objectLibravatar Adam Roben1-27/+93
Signed-off-by: Adam Roben <aroben@apple.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-23Move git-hash-object tests from t5303 to t1007Libravatar Adam Roben1-0/+0
This is a more appropriate location according to t/README. Signed-off-by: Adam Roben <aroben@apple.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22Add test for cloning with "--reference" repo being a subset of source repoLibravatar Johan Herland1-0/+5
The first test in this series tests "git clone -l -s --reference B A C", where repo B is a superset of repo A (A has one commit, B has the same commit plus another). In this case, all objects to be cloned are already present in B. However, we should also test the case where the "--reference" repo is a _subset_ of the source repo (e.g. "git clone -l -s --reference A B C"), i.e. some objects are not available in the "--reference" repo, and will have to be found in the source repo. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22Add a test for another combination of --referenceLibravatar Johan Herland1-0/+21
In this case, the reference repository has some useful loose objects, but not all useful objects, and we make sure that we can find the objects we fetch from the repository we're cloning in the new repository, instead of potentially being distracted by the reference repository. Doing the wrong thing in a builtin-clone implementation would lead to this looking for an object in the wrong place, not finding it (because it's only in the right place), and crashing. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22Test that --reference actually suppresses fetching referenced objectsLibravatar Daniel Barkalow1-1/+8
Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22pull --rebase: exit early when the working directory is dirtyLibravatar Johannes Schindelin1-0/+18
When rebasing fails during "pull --rebase", you cannot just clean up the working directory and call "pull --rebase" again, since the remote branch was already fetched. Therefore, die early when the working directory is dirty. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22bisect: use a detached HEAD to bisectLibravatar Christian Couder1-19/+19
When "git bisect" was first written, it was not possible to checkout a detached HEAD. The detached feature appeared latter. That's why before this patch the "git bisect" process used a "bisect" branch to checkout new revisions to be tested (and also a "new-bisect" one to check if the checkouts could work). This patch makes "git bisect" checkout revisions to be tested on a detached HEAD. This simplifies the code a bit. The tests to check that "git bisect" does not start if a "bisect" or a "new-bisect" branch exists are removed as they are not relevant any more. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22bisect: trap critical errors in "bisect_start"Libravatar Christian Couder1-6/+4
Before this patch, when using "git bisect start" with mistaken revs or when the checkout of the branch we want to test failed, we exited after having written files like ".git/BISECT_START", ".git/BISECT_NAMES" and after having written "refs/bisect/bad" and "refs/bisect/good-*" refs. With this patch we trap all errors that can happen when writing the new state and when we are in "bisect_next". So that we can try to clean up everything in case of problems, using "bisect_clean_state". This patch also contains a "bisect_write" cleanup to make it exit on error and return 0 otherwise. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22bisect: fix left over "BISECT_START" file when starting with junk revLibravatar Christian Couder1-1/+1
Before this patch, when using for example: $ git bisect start <stuff1> <stuff2> with <stuff1> or <stuff2> that cannot be parsed as a revision, we could leave a ".git/BISECT_START" file, from a previous "git bisect start", alone. This patch makes sure that it does not happen by removing the "BISECT_START" file in "bisect_clean_state" and then always writing it again at the end of "bisect_start". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-22bisect: add test cases to check that "git bisect start" is atomicLibravatar Christian Couder1-0/+43
This patch adds some test cases to check that "git bisect start" doesn't leave us in a bad state, especially when it fails. These test cases show that "git bisect start" is not atomic when it fails and leave some files like .git/BISECT_START, and in some cases some refs, over. The test failures should be fixed in latter commits. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-21Merge branch 'ar/add-unreadable'Libravatar Junio C Hamano1-0/+43
* ar/add-unreadable: Add a config option to ignore errors for git-add Add a test for git-add --ignore-errors Add --ignore-errors to git-add to allow it to skip files with read errors Extend interface of add_files_to_cache to allow ignore indexing errors Make the exit code of add_file_to_index actually useful
2008-05-21Merge branch 'jk/maint-send-email-compose'Libravatar Junio C Hamano1-0/+59
* jk/maint-send-email-compose: send-email: rfc2047-quote subject lines with non-ascii characters send-email: specify content-type of --compose body Conflicts: t/t9001-send-email.sh Due to 065096c (git-send-email.perl: Handle shell metacharacters in $EDITOR properly, 2008-05-04) which is a backward incompatible change (but it makes handling of EDITOR consistent with other parts of the system), the test script t9001 had to be adjusted. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-21send-email: rfc2047-quote subject lines with non-ascii charactersLibravatar Jeff King1-0/+15
We always use 'utf-8' as the encoding, since we currently have no way of getting the information from the user. This also refactors the quoting of recipient names, since both processes can share the rfc2047 quoting code. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-21send-email: specify content-type of --compose bodyLibravatar Jeff King1-0/+44
If the compose message contains non-ascii characters, then we assume it is in utf-8 and include the appropriate MIME headers. If the user has already included a MIME-Version header, then we assume they know what they are doing and don't add any headers. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-21"git-add -n -u" should not add but just reportLibravatar Junio C Hamano1-0/+17
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-21Fix t3701 if core.filemode disabledLibravatar Alex Riesen1-0/+7
[jc: squashed in suggestions from Jeff King] Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-21Fix t6031 on filesystems without working exec bitLibravatar Alex Riesen1-2/+5
The point of the test is not really to test the ability of the filesystem to keep the given x-bit, but to check is merge-recursive correctly handles it. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-18t/Makefile: "trash" directory was renamed recentlyLibravatar Brandon Casey3-3/+3
Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-18Ensure that a test is run in the trash directoryLibravatar Alex Riesen1-1/+1
Exit with error if cd into the "trash directory" failed (error already reported, so just exit). Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-17builtin-apply: do not declare patch is creation when we do not know itLibravatar Junio C Hamano1-0/+61
When we see no context nor deleted line in the patch, we used to declare that the patch creates a new file. But some people create an empty file and then apply a patch to it. Similarly, a patch that delete everything is not a deletion patch either. This commit corrects these two issues. Together with the previous commit, it allows a diff between an empty file and a line-ful file to be treated as both creation patch and "add stuff to an existing empty file", depending on the context. A new test t4126 demonstrates the fix. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-17t0050: Fix merge test on case sensitive file systemsLibravatar Steffen Prohaska1-0/+2
On a case sensitive filesystem, "git reset --hard" might refuse to overwrite a file whose name differs only by case, even if core.ignorecase is set. It is not clear which circumstances cause this behavior. This commit simply works around the problem by removing the case changing file before running "git reset --hard". Signed-off-by: Steffen Prohaska <prohaska@zib.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>