summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-02-06fsck: give accurate error message on empty loose object filesLibravatar Matthieu Moy1-0/+5
Since 3ba7a065527a (A loose object is not corrupt if it cannot be read due to EMFILE), "git fsck" on a repository with an empty loose object file complains with the error message fatal: failed to read object <sha1>: Invalid argument This comes from a failure of mmap on this empty file, which sets errno to EINVAL. Instead of calling xmmap on empty file, we display a clean error message ourselves, and return a NULL pointer. The new message is error: object file .git/objects/09/<rest-of-sha1> is empty fatal: loose object <sha1> (stored in .git/objects/09/<rest-of-sha1>) is corrupt The second line was already there before the regression in 3ba7a065527a, and the first is an additional message, that should help diagnosing the problem for the user. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03A loose object is not corrupt if it cannot be read due to EMFILELibravatar Junio C Hamano1-1/+6
"git fsck" bails out with a claim that a loose object that cannot be read but exists on the filesystem to be corrupt, which is wrong when read_object() failed due to e.g. EMFILE. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-03read_sha1_file(): report correct name of packfile with a corrupt objectLibravatar Junio C Hamano1-17/+24
Clarify the error reporting logic by moving the normal codepath (i.e. we read the object we wanted to read correctly) up and return early. The logic to report the name of the packfile with a corrupt object, introduced by e8b15e6 (sha1_file: Show the the type and path to corrupt objects, 2010-06-10), was totally bogus. The function that knows which bad object came from what packfile is has_packed_and_bad(); make it report which packfile the problem was found. "Corrupt" is already an adjective, e.g. an object is "corrupt"; we do not have to say "corrupted object". Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-18Git 1.7.3Libravatar Junio C Hamano3-14/+8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-18Merge branch 'js/ls-files-x-doc'Libravatar Junio C Hamano1-5/+6
* js/ls-files-x-doc: ls-files documentation: reword for consistency git-ls-files.txt: clarify -x/--exclude option Conflicts: Documentation/git-ls-files.txt
2010-09-17git-rebase--interactive.sh: replace cut with ${v%% *}Libravatar Chris Johnsen1-1/+1
Some versions of cut do not cope well with lines that do not end in an LF. In this case, we can completely avoid cut by using the ${var%% *} parameter expansion (suggested by Brandon Casey). I found this problem when t3404's "avoid unnecessary reset" failed due to the "rebase -i" not avoiding updating the tested timestamp. On a Mac OS X 10.4.11 system: % printf '%s' 'foo bar' | /usr/bin/cut -d ' ' -f 1 cut: stdin: Illegal byte sequence Signed-off-by: Chris Johnsen <chris_johnsen@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-17t/t7300: workaround ancient touch by rearranging argumentsLibravatar Brandon Casey1-1/+1
The ancient touch on Solaris 7 thinks that a decimal number supplied as the first argument specifies a date_time to give to the files specified by the remaining arguments. In this case, it fails to parse '1' as a proper date_time and exits with a failure status. Workaround this flaw by rearranging the arguments supplied to touch so that a non-digit appears first and touch will not be confused. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-16Merge branch 'bg/fix-t7003'Libravatar Junio C Hamano1-38/+41
* bg/fix-t7003: t7003: Use test_commit instead of custom function
2010-09-15ls-files documentation: reword for consistencyLibravatar Junio C Hamano1-4/+4
Similar to descriptions of other options, state what -x does in imperative mood. Start sentences for -X and --exclude-per-directory options in capital letters. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-15git-ls-files.txt: clarify -x/--exclude optionLibravatar Jay Soffian1-2/+3
Since b5227d8, -x/--exclude does not apply to cached files. This is easy to miss unless you read the discussion in the EXCLUDE PATTERNS section. Clarify that the option applies to untracked files and direct the reader to EXCLUDE PATTERNS. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-15Git 1.7.3 rc2Libravatar Junio C Hamano2-3/+9
2010-09-15Merge branch 'dr/maint-ls-tree-prefix-recursion-fix'Libravatar Junio C Hamano2-0/+11
* dr/maint-ls-tree-prefix-recursion-fix: ls-tree $di $dir: do not mistakenly recurse into directories
2010-09-15Merge branch 'os/fix-rebase-diff-no-prefix'Libravatar Junio C Hamano1-0/+1
* os/fix-rebase-diff-no-prefix: Add --src/dst-prefix to git-formt-patch in git-rebase.sh
2010-09-15Merge branch 'jl/fix-test'Libravatar Junio C Hamano35-491/+604
* jl/fix-test: t1020: Get rid of 'cd "$HERE"' at the start of each test t2016 (checkout -p): add missing && t1302 (core.repositoryversion): style tweaks t2105 (gitfile): add missing && t1450 (fsck): remove dangling objects tests: subshell indentation stylefix Several tests: cd inside subshell instead of around
2010-09-15Merge branch 'ch/filter-branch-deprecate-remap-to-ancestor'Libravatar Junio C Hamano3-14/+40
* ch/filter-branch-deprecate-remap-to-ancestor: filter-branch: retire --remap-to-ancestor
2010-09-15Merge branch 'ch/maint-cannot-create-bundle-error'Libravatar Junio C Hamano2-2/+11
* ch/maint-cannot-create-bundle-error: bundle: detect if bundle file cannot be created
2010-09-15Merge branch 'ks/recursive-rename-add-identical'Libravatar Junio C Hamano2-0/+41
* ks/recursive-rename-add-identical: RE: [PATCH] Avoid rename/add conflict when contents are identical
2010-09-15Merge git://repo.or.cz/git-guiLibravatar Junio C Hamano6-411/+454
* 'master' of git://repo.or.cz/git-gui: git-gui 0.13 git-gui: avoid mis-encoding the copyright message on Windows. git-gui: Update Swedish translation (521t). git-gui: ensure correct application termination in git-gui--askpass git-gui: handle textconv filter on Windows and in development git-gui: use shell to launch textconv filter in "blame" git-gui: display error launching blame as a message box. git-gui: Make usage statement visible on Windows.
2010-09-14git-gui 0.13Libravatar Pat Thoyts1-1/+1
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-09-13git-gui: avoid mis-encoding the copyright message on Windows.Libravatar Pat Thoyts1-2/+2
On Windows the tcl script file will use the system encoding and attempting to convert the copyright mis-encodes the string. Instead, keep the message as ASCII and substitute in the correct unicode character when running. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-09-13git-gui: Update Swedish translation (521t).Libravatar Peter Krefting1-399/+403
Signed-off-by: Peter Krefting <peter@softwolves.pp.se> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2010-09-13t7003: Use test_commit instead of custom functionLibravatar Brian Gernhardt1-38/+41
t7003-filter-branch.sh had a make_commit() function that was identical to test_commit() in test-lib.sh except that it used tr to create a lowercase file name from the uppercase branch name instead of appending ".t". Not only is this unneeded code duplication, it also was something simply waiting to fail on case-insensitive file systems. So replace all uses of make_commit with test_commit. While we're editing the setup, chain it together with && so that failures early in the sequence don't get lost and add a commit graph. Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12Merge branch 'maint'Libravatar Junio C Hamano2-63/+70
* maint: t3101: modernise style compat/nedmalloc: don't force NDEBUG on the rest of git Conflicts: Makefile
2010-09-12ls-tree $di $dir: do not mistakenly recurse into directoriesLibravatar Junio C Hamano2-0/+11
When applying two pathspecs, one of which is named as a prefix to the other, we mistakenly recursed into the shorter one. Noticed and fixed by David Reis. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12t3101: modernise styleLibravatar Junio C Hamano1-62/+64
Also add a few " &&" cascade that were missing. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-12vcs-svn: Fix some printf format compiler warningsLibravatar Ramsay Jones3-5/+10
In particular, on systems that define uint32_t as an unsigned long, gcc complains as follows: CC vcs-svn/fast_export.o vcs-svn/fast_export.c: In function `fast_export_modify': vcs-svn/fast_export.c:28: warning: unsigned int format, uint32_t arg (arg 2) vcs-svn/fast_export.c:28: warning: int format, uint32_t arg (arg 3) vcs-svn/fast_export.c: In function `fast_export_commit': vcs-svn/fast_export.c:42: warning: int format, uint32_t arg (arg 5) vcs-svn/fast_export.c:62: warning: int format, uint32_t arg (arg 2) vcs-svn/fast_export.c: In function `fast_export_blob': vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 2) vcs-svn/fast_export.c:72: warning: int format, uint32_t arg (arg 3) CC vcs-svn/svndump.o vcs-svn/svndump.c: In function `svndump_read': vcs-svn/svndump.c:260: warning: int format, uint32_t arg (arg 3) In order to suppress the warnings we use the C99 format specifier macros PRIo32 and PRIu32 from <inttypes.h>. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-11compat/nedmalloc: don't force NDEBUG on the rest of gitLibravatar René Scharfe1-1/+6
Define the nedmalloc feature configuration macros for nedmalloc.o, only. This keeps assert(3) working for the rest of the git source; it was turned off for nedmalloc users before by defining NDEBUG globally. Also remove -DUSE_NED_ALLOCATOR as this macro isn't used anywhere. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-10Git 1.7.3 rc1Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-10Merge branch 'np/relnotes-in-subdir'Libravatar Junio C Hamano111-108/+108
* np/relnotes-in-subdir: install-webdoc: keep installed RelNotes-*.txt Documentation: move RelNotes into a directory of their own
2010-09-10Prepare for 1.7.3 rc1Libravatar Junio C Hamano1-2/+10
2010-09-10Merge branch 'maint'Libravatar Junio C Hamano1-2/+3
* maint: config.txt: fix placement of diff.noprefix
2010-09-10config.txt: fix placement of diff.noprefixLibravatar Mark Lodato1-2/+3
In git-config(1), diff.noprefix was placed in between diff.mnemonicprefix and the list of mnemonic prefixes, which is obviously incorrect and very confusing to readers. Now, it is located after the end of the explanation of mnemonicprefix, which makes much more sense. Signed-off-by: Mark Lodato <lodatom@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-10t/t4018: avoid two unnecessary sub-shell invocationsLibravatar Brandon Casey1-4/+4
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09Merge branch 'maint'Libravatar Junio C Hamano2-4/+6
* maint: xdiff-interface.c: always trim trailing space from xfuncname matches diff.c: call regfree to free memory allocated by regcomp when necessary
2010-09-09t/t4018: test whether the word_regex patterns compileLibravatar Brandon Casey1-0/+5
Previously (e3bf5e43), a test was added to test whether the builtin xfuncname regular expressions could be compiled without error by regcomp. Let's do the same for the word_regex patterns. This should help catch any cross-platform incompatibilities that exist between the pattern creator's system and the various platforms that the test suite is commonly run on. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09xdiff-interface.c: always trim trailing space from xfuncname matchesLibravatar Brandon Casey1-3/+2
Generally, trailing space is removed from the string matched by the xfuncname patterns. The exception is when the matched string exceeds the length of the fixed-size buffer that it will be copied in to. But, a string that exceeds the buffer can still contain trailing space in the portion of the string that will be copied into the buffer. So, simplify this code slightly, and just perform the trailing space removal always. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09diff.c: call regfree to free memory allocated by regcomp when necessaryLibravatar Brandon Casey1-1/+4
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t/t5510-fetch.sh: improve testing with explicit URL and merge specLibravatar Brandon Casey1-2/+28
Commit 6106ce46 introduced a test to demonstrate fetch's failure to retrieve any objects or update FETCH_HEAD when it was supplied a repository URL and the current branch had a configured merge spec. This commit expands the original test based on comments from Junio Hamano. In addition to actually verifying that the fetch updates FETCH_HEAD correctly, and does not update the current branch, two more tests are added to ensure that the merge configuration is ignored even when the supplied URL matches the URL of the remote configured for the branch. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09builtin/fetch.c: comment that branch->remote_name is usable when has_mergeLibravatar Brandon Casey1-0/+3
Save future readers the trouble of tracing code to determine that the two uses of branch->remote_name are safe when has_merge is set, by adding a comment explaining that it is so. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09Makefile: use compat regex on IRIX 6.5Libravatar Brandon Casey1-0/+2
The IRIX 6.5 regex.h header file defines REG_STARTEND, but the feature does not appear to work. Since REG_STARTEND is required for proper functioning of git-grep, set NO_REGEX and use the alternative regex libraries in compat/ Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t/t7008: workaround broken handling of \000 by printf on IRIXLibravatar Brandon Casey1-7/+7
On IRIX 6.5, the printf utility in /usr/bin does not appear to handle the \ddd notation according to POSIX. This printf appears to halt processing of the string argument and ignore any additional characters in the string. Work around this flaw by replacing the \000's with 'Q' and using the q_to_nul helper function provided by test-lib.sh This problem with printf is not apparent when using the Bash shell since Bash implements a POSIX compatible printf function internally. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09Add --src/dst-prefix to git-formt-patch in git-rebase.shLibravatar Oded Shimon1-0/+1
For the case of "diff.noprefix" in git-config, git-format-patch should still output diff with standard prefixes for git-am Signed-off-by: Oded Shimon <ods15@ods15.dyndns.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09install-webdoc: keep installed RelNotes-*.txtLibravatar Junio C Hamano1-1/+1
Otherwise URLs in the wild that point at older release notes will become dangling. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t1020: Get rid of 'cd "$HERE"' at the start of each testLibravatar Jens Lehmann1-41/+50
To achieve that, all cd commands which weren't inside a subshell had to be put into a new one. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t2016 (checkout -p): add missing &&Libravatar Jonathan Nieder1-1/+1
Although the set_state command is not likely to fail, it is best to stay in the habit of checking for failures. Cc: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t1302 (core.repositoryversion): style tweaksLibravatar Jonathan Nieder1-24/+40
This test is from 2007, which is late enough for the style to be recognizably modern but still a while ago. Freshen it up to follow new best practices: - guard setup commands with test_expect_setup, so errors at that stage can be caught; - use <<\EOF in preference to <<EOF, to save reviewers the trouble of looking for variable interpolations; - use test_cmp instead of test "$foo" = "$bar", for better output with -v on failure; - indent commands in subshells and let them span multiple lines; - combine the two "gitdir required mode" tests that do not make as much sense alone. Cc: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t2105 (gitfile): add missing &&Libravatar Jonathan Nieder1-1/+1
Make sure early failures are not masked by later successes. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Brad King <brad.king@kitware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09t1450 (fsck): remove dangling objectsLibravatar Jonathan Nieder1-58/+82
The fsck test is generally careful to remove the corrupt objects it inserts, but dangling objects are left behind due to some typos and omissions. It is better to clean up more completely, to simplify the addition of later tests. So: - guard setup and cleanup with test_expect_success to catch typos and errors; - check both stdout and stderr when checking for empty fsck output; - use test_cmp empty file in place of test $(wc -l <file) = 0, for better debugging output when running tests with -v; - add a remove_object () helper and use it to replace broken object removal code that forgot about the fanout in .git/objects; - disable gc.auto, to avoid tripping up object removal if the number of objects ever reaches that threshold. - use test_when_finished to ensure cleanup tasks are run and succeed when tests fail; - add a new final test that no breakage or dangling objects was left behind. While at it, add a brief description to test_description of the history that is expected to persist between tests. Part of a campaign to clean up subshell usage in tests. Cc: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-09tests: subshell indentation stylefixLibravatar Jonathan Nieder22-192/+260
Format the subshells introduced by the previous patch (Several tests: cd inside subshell instead of around, 2010-09-06) like so: ( cd subdir && ... ) && This is generally easier to read and has the nice side-effect that this patch will show what commands are used in the subshell, making it easier to check for lost environment variables and similar behavior changes. Cc: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-08Merge branch 'tf/cleanup-builtin-help-headers'Libravatar Junio C Hamano3-11/+13
* tf/cleanup-builtin-help-headers: builtin.h: Move two functions definitions to help.h.