summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-08-24sha1-lookup: handle duplicate keys with GIT_USE_LOOKUPLibravatar Jeff King3-0/+198
The sha1_entry_pos function tries to be smart about selecting the middle of a range for its binary search by looking at the value differences between the "lo" and "hi" constraints. However, it is unable to cope with entries with duplicate keys in the sorted list. We may hit a point in the search where both our "lo" and "hi" point to the same key. In this case, the range of values between our endpoints is 0, and trying to scale the difference between our key and the endpoints over that range is undefined (i.e., divide by zero). The current code catches this with an "assert(lov < hiv)". Moreover, after seeing that the first 20 byte of the key are the same, we will try to establish a value from the 21st byte. Which is nonsensical. Instead, we can detect the case that we are in a run of duplicates, and simply do a final comparison against any one of them (since they are all the same, it does not matter which). If the keys match, we have found our entry (or one of them, anyway). If not, then we know that we do not need to look further, as we must be in a run of the duplicate key. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-22test-sha1: add a binary output modeLibravatar Jeff King1-3/+12
The test-sha1 helper program will run our internal sha1 routines over its input and output the 40-byte hex sha1. Sometimes, however, it is useful to have the binary 20-byte sha1 (and it's a pain to convert back in the shell). Let's add a "-b" option to output the binary version. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-09parse-options: fix clang opterror() -Wunused-value warningLibravatar Eric Sunshine1-1/+1
a469a1019352b8ef (silence some -Wuninitialized false positives; 2012-12-15) triggered "unused value" warnings when the return value of opterror() and several other error-related functions was not used. 5ded807f7c0be10e (fix clang -Wunused-value warnings for error functions; 2013-01-16) applied a fix by adding #if !defined(__clang__) in cache.h and git-compat-util.h, but misspelled it as #if !defined(clang) in parse-options.h. Fix this. This mistake went unnoticed because existing callers of opterror() utilize its return value. 1158826394e162c5 (parse-options: add OPT_CMDMODE(); 2013-07-30), however, adds a new invocation of opterror() which ignores the return value, thus triggering the "unused value" warning. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05fix typo in documentation of git-svnLibravatar Felix Gruber1-1/+1
Signed-off-by: Felix Gruber <felgru@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05Documentation/rev-list-options: add missing word in --*-parentsLibravatar Torstein Hegge1-1/+1
A commit has "parent commits" or "parents", not "commits". Signed-off-by: Torstein Hegge <hegge@resisty.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-05log doc: the argument to --encoding is not optionalLibravatar Jonathan Nieder2-2/+2
$ git log --encoding fatal: Option '--encoding' requires a value $ git rev-list --encoding fatal: Option '--encoding' requires a value The argument to --encoding has always been mandatory. Unfortunately manpages like git-rev-list(1), git-log(1), and git-show(1) have described the option's syntax as "--encoding[=<encoding>]" since it was first documented. Clarify by removing the extra brackets. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-22Git 1.8.3.4Libravatar Junio C Hamano2-2/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-22update URL to the marc.info mail archiveLibravatar Ondřej Bílka3-4/+4
The name marc.theaimsgroup.com is no longer active, and has migrated to marc.info. Signed-off-by: Ondřej Bílka <neleai@seznam.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-21Update draft release notes to 1.8.3.4Libravatar Junio C Hamano1-0/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-21Merge branch 'rr/maint-fetch-tag-doc-asterisks' into maintLibravatar Junio C Hamano1-1/+1
* rr/maint-fetch-tag-doc-asterisks: fetch-options.txt: prevent a wildcard refspec from getting misformatted
2013-07-21Merge branch 'dk/maint-t5150-dirname' into maintLibravatar Junio C Hamano1-1/+1
* dk/maint-t5150-dirname: tests: allow sha1's as part of the path
2013-07-21Merge branch 'dk/version-gen-gitdir' into maintLibravatar Junio C Hamano1-1/+1
* dk/version-gen-gitdir: GIT-VERSION-GEN: support non-standard $GIT_DIR path
2013-07-21Merge branch 'nk/config-local-doc' into maintLibravatar Junio C Hamano1-0/+9
* nk/config-local-doc: config: Add description of --local option
2013-07-21Merge branch 'kb/diff-blob-blob-doc' into maintLibravatar Junio C Hamano1-7/+7
* kb/diff-blob-blob-doc: Documentation: Move "git diff <blob> <blob>"
2013-07-21Merge branch 'mm/merge-in-dirty-worktree-doc' into maintLibravatar Junio C Hamano1-2/+2
* mm/merge-in-dirty-worktree-doc: Documentation/git-merge.txt: weaken warning about uncommited changes
2013-07-21Merge branch 'ph/builtin-srcs-are-in-subdir-these-days' into maintLibravatar Junio C Hamano9-21/+20
* ph/builtin-srcs-are-in-subdir-these-days: fix "builtin-*" references to be "builtin/*"
2013-07-21Merge branch 'ft/doc-git-transport' into maintLibravatar Junio C Hamano1-0/+3
* ft/doc-git-transport: documentation: add git:// transport security notice
2013-07-21Merge branch 'mh/maint-lockfile-overflow' into maintLibravatar Junio C Hamano1-4/+6
* mh/maint-lockfile-overflow: lockfile: fix buffer overflow in path handling
2013-07-21Merge branch 'jc/maint-diff-core-safecrlf' into maintLibravatar Junio C Hamano2-1/+17
Avoid failing "git diff" when core.safecrlf is set to true, because the user cannot tell where the breakage is in preparation for fixing and committing. * jc/maint-diff-core-safecrlf: diff: demote core.safecrlf=true to core.safecrlf=warn
2013-07-21t9801: git-p4: check ignore files with client specLibravatar Vitor Antunes1-3/+20
This test confirms that a file can be ignored during git p4 sync if if is excluded in P4 client specification. Signed-off-by: Vitor Antunes <vitor.hda@gmail.com> Acked-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-19Start preparing for 1.8.3.4Libravatar Junio C Hamano2-1/+16
Hopefully this will be the final maintenance release before we go to feature freeze for 1.8.4.
2013-07-19apply.c::find_name_traditional(): do not initialize len to the line's lengthLibravatar Stefan Beller1-1/+1
The variable len is set to len = strchrnul(line, '\n') - line; unconditionally 9 lines later, hence we can remove the call to strlen. Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-19http-push.c::add_send_request(): do not initialize transfer_requestLibravatar Stefan Beller1-1/+1
That pointer will be assigned to new memory via request = xmalloc(sizeof(*request)); 20 lines later unconditionally anyway, so it's safe to not assign it to an arbitrary variable. Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-19Merge branch 'tr/test-lint-no-export-assignment-in-shell' into maintLibravatar Junio C Hamano2-1/+2
* tr/test-lint-no-export-assignment-in-shell: test-lint: detect 'export FOO=bar' t9902: fix 'test A == B' to use = operator
2013-07-19Merge branch 'rr/name-rev-stdin-doc' into maintLibravatar Junio C Hamano1-2/+4
* rr/name-rev-stdin-doc: name-rev doc: rewrite --stdin paragraph
2013-07-19Merge branch 'ft/diff-rename-default-score-is-half' into maintLibravatar Junio C Hamano1-1/+1
* ft/diff-rename-default-score-is-half: diff-options: document default similarity index
2013-07-19Merge branch 'jc/t1512-fix' into maintLibravatar Junio C Hamano2-11/+23
* jc/t1512-fix: get_short_sha1(): correctly disambiguate type-limited abbreviation t1512: correct leftover constants from earlier edition
2013-07-19Merge branch 'vl/typofix' into maintLibravatar Junio C Hamano3-3/+3
* vl/typofix: random typofixes (committed missing a 't', successful missing an 's')
2013-07-19Merge branch 'wk/doc-git-has-grown' into maintLibravatar Junio C Hamano1-3/+3
* wk/doc-git-has-grown: user-manual: Update download size for Git and the kernel
2013-07-19Merge branch 'ys/cygstart' into maintLibravatar Junio C Hamano2-3/+9
* ys/cygstart: web--browse: support /usr/bin/cygstart on Cygwin
2013-07-19Merge branch 'mm/push-force-is-dangerous' into maintLibravatar Junio C Hamano1-0/+9
* mm/push-force-is-dangerous: Documentation/git-push.txt: explain better cases where --force is dangerous
2013-07-19Merge branch 'rs/logical-vs-binary-or' into maintLibravatar Junio C Hamano3-6/+6
* rs/logical-vs-binary-or: use logical OR (||) instead of binary OR (|) in logical context
2013-07-19Merge branch 'js/test-ln-s-add' into maintLibravatar Junio C Hamano30-333/+351
* js/test-ln-s-add: t4011: remove SYMLINKS prerequisite t6035: use test_ln_s_add to remove SYMLINKS prerequisite t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite t3100: use test_ln_s_add to remove SYMLINKS prerequisite t3030: use test_ln_s_add to remove SYMLINKS prerequisite t0000: use test_ln_s_add to remove SYMLINKS prerequisite tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases) tests: introduce test_ln_s_add t3010: modernize style test-chmtime: Fix exit code on Windows
2013-07-19Merge branch 'jk/apache-test-for-2.4' into maintLibravatar Junio C Hamano1-1/+19
Allow our tests to run with newer Apache. * jk/apache-test-for-2.4: lib-httpd/apache.conf: check version only after mod_version loads t/lib-httpd/apache.conf: configure an MPM module for apache 2.4 t/lib-httpd/apache.conf: load compat access module in apache 2.4 t/lib-httpd/apache.conf: load extra auth modules in apache 2.4 t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4
2013-07-19Merge branch 'tr/test-commit-only-on-orphan' into maintLibravatar Junio C Hamano1-0/+13
* tr/test-commit-only-on-orphan: Test 'commit --only' after 'checkout --orphan'
2013-07-19Merge branch 'sb/archive-zip-double-assignment-fix' into maintLibravatar Junio C Hamano1-1/+0
* sb/archive-zip-double-assignment-fix: archive-zip:write_zip_entry: Remove second reset of size variable to zero.
2013-07-19Merge branch 'th/bisect-skip-report-range-fix' into maintLibravatar Junio C Hamano1-2/+2
The bisect log listed incorrect commits when bisection ends with only skipped ones. * th/bisect-skip-report-range-fix: bisect: Fix log output for multi-parent skip ranges
2013-07-19Merge branch 'rs/tar-tests' into maintLibravatar Junio C Hamano3-78/+92
* rs/tar-tests: t5000: test long filenames t5000: simplify tar-tree tests t5000: use check_tar for prefix test t5000: factor out check_tar t5000, t5003: create directories for extracted files lazily t5000: integrate export-subst tests into regular tests
2013-07-19Merge branch 'rr/column-doc' into maintLibravatar Junio C Hamano1-3/+17
* rr/column-doc: column doc: rewrite documentation for column.ui
2013-07-19Merge branch 'rs/discard-index-discard-array' into maintLibravatar Junio C Hamano5-2/+32
* rs/discard-index-discard-array: read-cache: free cache in discard_index read-cache: add simple performance test
2013-07-19Merge branch 'tr/coverage' into maintLibravatar Junio C Hamano1-8/+13
The test coverage framework was left broken for some time. * tr/coverage: coverage: build coverage-untested-functions by default coverage: set DEFAULT_TEST_TARGET to avoid using prove coverage: do not delete .gcno files before building coverage: split build target into compile and test
2013-07-19Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-shLibravatar Stefan Beller1-1/+1
Reported-By: Ibrahim M. Ghazal <imgx64@gmail.com> Signed-off-by: Stefan Beller <stefanbeller@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-15Git 1.8.3.3Libravatar Junio C Hamano3-2/+24
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-07-15Merge branch 'tr/maint-apply-non-git-patch-parsefix' into maintLibravatar Junio C Hamano2-1/+15
"git apply" parsed patches that add new files, generated by programs other than Git, incorrectly. This is an old breakage in v1.7.11. * tr/maint-apply-non-git-patch-parsefix: apply: carefully strdup a possibly-NULL name
2013-07-15Merge branch 'bc/http-keep-memory-given-to-curl' into maintLibravatar Junio C Hamano1-3/+9
Older cURL wanted piece of memory we call it with to be stable, but we updated the auth material after handing it to a call. * bc/http-keep-memory-given-to-curl: http.c: don't rewrite the user:passwd string multiple times
2013-07-15Merge branch 'jk/pull-into-dirty-unborn' into maintLibravatar Junio C Hamano2-2/+38
"git pull" into nothing trashed "local changes" that were in the index. * jk/pull-into-dirty-unborn: pull: merge into unborn by fast-forwarding from empty tree pull: update unborn branch tip after index
2013-07-15Merge branch 'fg/submodule-non-ascii-path' into maintLibravatar Junio C Hamano2-1/+17
Many "git submodule" operations did not work on a submodule at a path whose name is not in ASCII. * fg/submodule-non-ascii-path: t7400: test of UTF-8 submodule names pass under Mac OS handle multibyte characters in name
2013-07-15Merge branch 'fc/sequencer-plug-leak' into maintLibravatar Junio C Hamano1-7/+11
"cherry-pick" had a small leak in its error codepath. * fc/sequencer-plug-leak: sequencer: avoid leaking message buffer when refusing to create an empty commit sequencer: remove useless indentation
2013-07-15Merge branch 'mt/send-email-cc-match-fix' into maintLibravatar Junio C Hamano2-9/+106
Logic used by git-send-email to suppress cc mishandled names like "A U. Thor" <author@example.xz>, where the human readable part needs to be quoted (the user input may not have the double quotes around the name, and comparison was done between quoted and unquoted strings). It also mishandled names that need RFC2047 quoting. * mt/send-email-cc-match-fix: send-email: sanitize author when writing From line send-email: add test for duplicate utf8 name test-send-email: test for pre-sanitized self name t/send-email: test suppress-cc=self with non-ascii t/send-email: add test with quoted sender send-email: make --suppress-cc=self sanitize input t/send-email: test suppress-cc=self on cccmd send-email: fix suppress-cc=self on cccmd t/send-email.sh: add test for suppress-cc=self
2013-07-08test-lint: detect 'export FOO=bar'Libravatar Thomas Rast1-0/+1
Some shells do not understand the one-line construct, and instead need FOO=bar && export FOO Detect this in the test-lint target. Signed-off-by: Thomas Rast <trast@inf.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>