summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-06-16Merge branch 'mt/patch-id-stable' (early part)Libravatar Junio C Hamano5-31/+208
* 'mt/patch-id-stable' (early part): patch-id-test: test stable and unstable behaviour patch-id: make it stable against hunk reordering test doc: test_write_lines does not split its arguments test: add test_write_lines helper
2014-06-12Sync with maintLibravatar Junio C Hamano1-2/+0
* maint: pull: do not abuse 'break' inside a shell 'case'
2014-06-12Merge branch 'jc/rev-parse-argh-dashed-multi-words' into maintLibravatar Junio C Hamano2-0/+7
* jc/rev-parse-argh-dashed-multi-words: update-index: fix segfault with missing --cacheinfo argument
2014-06-12pull: do not abuse 'break' inside a shell 'case'Libravatar Jacek Konieczny1-2/+0
It is not C. The code would break under mksh when 'pull.ff' is set: $ git pull /usr/lib/git-core/git-pull[67]: break: can't break Already up-to-date. Signed-off-by: Jacek Konieczny <jajcus@jajcus.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-10patch-id-test: test stable and unstable behaviourLibravatar Michael S. Tsirkin1-11/+91
Verify that patch ID supports an algorithm that is stable against diff split and reordering. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-10patch-id: make it stable against hunk reorderingLibravatar Michael S. Tsirkin2-20/+91
Patch id changes if users reorder file diffs that make up a patch. As the result is functionally equivalent, a different patch id is surprising to many users. In particular, reordering files using diff -O is helpful to make patches more readable (e.g. API header diff before implementation diff). Add an option to change patch-id behaviour making it stable against these kinds of patch change: calculate SHA1 hash for each hunk separately and sum all hashes (using a symmetrical sum) to get patch id We use a 20byte sum and not xor - since xor would give 0 output for patches that have two identical diffs, which isn't all that unlikely (e.g. append the same line in two places). The new behaviour is enabled - when patchid.stable is true - when --stable flag is present Using a new flag --unstable or setting patchid.stable to false force the historical behaviour. In the documentation, clarify that patch ID can now be a sum of hashes, not a hash. Document how command line and config options affect the behaviour. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-10test doc: test_write_lines does not split its argumentsLibravatar Jonathan Nieder1-4/+3
test_write_lines carefully quotes its arguments as "$@", so test_write_lines "a b" c writes two lines as requested, not three. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-10test: add test_write_lines helperLibravatar Michael S. Tsirkin2-0/+27
API and implementation as suggested by Junio. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-09Update draft release notes to 2.1Libravatar Junio C Hamano1-2/+29
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-09Merge branch 'jc/shortlog-ref-exclude'Libravatar Junio C Hamano2-0/+7
"log --exclude=<glob> --all | shortlog" worked as expected, but "shortlog --exclude=<glob> --all" was not accepted at the command line argument parser level. * jc/shortlog-ref-exclude: shortlog: allow --exclude=<glob> to be passed
2014-06-09Merge branch 'mn/sideband-no-ansi'Libravatar Junio C Hamano1-1/+1
Tools that read diagnostic output in our standard error stream do not want to see terminal control sequence (e.g. erase-to-eol). Detect them by checking if the standard error stream is connected to a tty. * mn/sideband-no-ansi: sideband.c: do not use ANSI control sequence on non-terminal
2014-06-09Merge branch 'rs/mailinfo-header-cmp'Libravatar Junio C Hamano1-3/+3
Avoid running over the end of header string while parsing an incoming e-mail message to extract the patch. * rs/mailinfo-header-cmp: mailinfo: use strcmp() for string comparison
2014-06-09Merge branch 'pb/trim-trailing-spaces'Libravatar Junio C Hamano2-15/+42
Fix an error in parsing of .gitignore files that use a trailing "\ " to mark pathnames that end with a SP. * pb/trim-trailing-spaces: dir.c:trim_trailing_spaces(): fix for " \ " sequence
2014-06-09Merge branch 'na/no-http-test-in-the-middle'Libravatar Junio C Hamano2-59/+100
The mode to run tests with HTTP server tests disabled was broken. * na/no-http-test-in-the-middle: t5538: move http push tests out to t5542
2014-06-09Merge branch 'jc/rev-parse-argh-dashed-multi-words'Libravatar Junio C Hamano2-0/+7
"update-index --cacheinfo" in 2.0 crashes on a malformed command line. * jc/rev-parse-argh-dashed-multi-words: update-index: fix segfault with missing --cacheinfo argument
2014-06-09Merge branch 'lt/request-pull'Libravatar Junio C Hamano1-1/+1
A brown-paper-bag bugfix to a test that turned out to be a no-op by mistake. * lt/request-pull: fix brown paper bag breakage in t5150-request-pull.sh
2014-06-06Second batch for 2.1Libravatar Junio C Hamano1-0/+87
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-06Merge branch 'ss/howto-manage-trunk'Libravatar Junio C Hamano2-0/+217
* ss/howto-manage-trunk: How to keep a project's canonical history correct.
2014-06-06Merge branch 'mc/git-p4-prepare-p4-only'Libravatar Junio C Hamano2-24/+28
* mc/git-p4-prepare-p4-only: git-p4: Do not include diff in spec file when just preparing p4
2014-06-06Merge branch 'jn/test-lint-unmoor'Libravatar Junio C Hamano1-4/+4
* jn/test-lint-unmoor: test-lint: find unportable sed, echo, test, and export usage after &&
2014-06-06Merge branch 'ep/shell-assign-and-export-vars'Libravatar Junio C Hamano5-5/+16
* ep/shell-assign-and-export-vars: scripts: more "export VAR=VALUE" fixes scripts: "export VAR=VALUE" construct is not portable
2014-06-06Merge branch 'jj/command-line-adjective'Libravatar Junio C Hamano19-47/+47
* jj/command-line-adjective: Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues
2014-06-06Merge branch 'jc/coding-guidelines'Libravatar Junio C Hamano1-5/+145
* jc/coding-guidelines: CodingGuidelines: avoid "test <cond> -a/-o <cond>" CodingGuidelines: on splitting a long line CodingGuidelines: on comparison CodingGuidelines: do not call the conditional statement "if()" CodingGuidelines: give an example for shell function preamble CodingGuidelines: give an example for control statements CodingGuidelines: give an example for redirection CodingGuidelines: give an example for case/esac statement CodingGuidelines: once it is in, it is not worth the code churn
2014-06-06Merge branch 'nd/status-auto-comment-char'Libravatar Junio C Hamano7-4/+73
* nd/status-auto-comment-char: commit: allow core.commentChar=auto for character auto selection config: be strict on core.commentChar
2014-06-06Merge branch 'mt/rebase-i-keep-empty-test'Libravatar Junio C Hamano1-0/+8
* mt/rebase-i-keep-empty-test: rebase --keep-empty -i: add test
2014-06-06Merge branch 'mk/show-s-no-extra-blank-line-for-merges'Libravatar Junio C Hamano4-11/+15
* mk/show-s-no-extra-blank-line-for-merges: git-show: fix 'git show -s' to not add extra terminator after merge commit
2014-06-06Merge branch 'sk/spawn-less-case-insensitively-from-grep-O-i'Libravatar Junio C Hamano1-0/+3
* sk/spawn-less-case-insensitively-from-grep-O-i: git grep -O -i: if the pager is 'less', pass the '-I' option
2014-06-06Merge branch 'jd/subtree'Libravatar Junio C Hamano2-16/+25
* jd/subtree: contrib/subtree: allow adding an annotated tag contrib/subtree/Makefile: clean up rule for "clean" contrib/subtree/Makefile: clean up rules to generate documentation contrib/subtree/Makefile: s/libexecdir/gitexecdir/ contrib/subtree/Makefile: use GIT-VERSION-FILE contrib/subtree/Makefile: scrap unused $(gitdir)
2014-06-06Merge branch 'wk/doc-clarify-upstream'Libravatar Junio C Hamano1-1/+3
* wk/doc-clarify-upstream: Documentation: mention config sources for @{upstream}
2014-06-06Merge branch 'tb/unicode-6.3-zero-width'Libravatar Junio C Hamano5-69/+334
Update the logic to compute the display width needed for utf8 strings and allow us to more easily maintain the tables used in that logic. We may want to let the users choose if codepoints with ambiguous widths are treated as a double or single width in a follow-up patch. * tb/unicode-6.3-zero-width: utf8: make it easier to auto-update git_wcwidth() utf8.c: use a table for double_width
2014-06-06Merge branch 'jk/index-pack-report-missing'Libravatar Junio C Hamano1-2/+7
* jk/index-pack-report-missing: index-pack: distinguish missing objects from type errors
2014-06-06Merge branch 'bc/blame-crlf-test'Libravatar Junio C Hamano2-1/+9
If a file contained CRLF line endings in a repository with core.autocrlf=input, then blame always marked lines as "Not Committed Yet", even if they were unmodified. * bc/blame-crlf-test: blame: correctly handle files regardless of autocrlf
2014-06-06Merge branch 'sk/submodules-absolute-path-on-windows'Libravatar Junio C Hamano1-3/+0
* sk/submodules-absolute-path-on-windows: Revert "submodules: fix ambiguous absolute paths under Windows"
2014-06-06Merge branch 'dk/blame-reorg'Libravatar Junio C Hamano1-298/+567
"git blame" has been optimized greatly by reorganising the data structure that is used to keep track of the work to be done, thanks to David Karstrup <dak@gnu.org>. * dk/blame-reorg: blame: large-scale performance rewrite
2014-06-06Merge branch 'wg/svn-fe-style-fixes'Libravatar Junio C Hamano1-41/+52
* wg/svn-fe-style-fixes: svn-fe: conform to pep8
2014-06-06Merge branch 'jn/contrib-remove-vim'Libravatar Junio C Hamano1-22/+0
Spring cleaning of contrib/. * jn/contrib-remove-vim: contrib: remove vim support instructions
2014-06-06Merge branch 'jn/contrib-remove-diffall'Libravatar Junio C Hamano2-288/+0
Spring cleaning of contrib/. * jn/contrib-remove-diffall: contrib: remove git-diffall
2014-06-06Merge branch 'dt/merge-recursive-case-insensitive'Libravatar Junio C Hamano3-1/+61
On a case insensitive filesystem, merge-recursive incorrectly deleted the file that is to be renamed to a name that is the same except for case differences. * dt/merge-recursive-case-insensitive: mv: allow renaming to fix case on case insensitive filesystems merge-recursive.c: fix case-changing merge bug
2014-06-06Merge branch 'rs/reflog-exists'Libravatar Junio C Hamano5-13/+32
* rs/reflog-exists: checkout.c: use ref_exists instead of file_exist refs.c: add new functions reflog_exists and delete_reflog
2014-06-06Merge branch 'tg/tag-state-tag-name-in-editor-hints'Libravatar Junio C Hamano1-4/+4
* tg/tag-state-tag-name-in-editor-hints: builtin/tag.c: show tag name to hint in the message editor
2014-06-06Merge branch 'jk/grep-tell-run-command-to-cd-when-running-pager'Libravatar Junio C Hamano1-3/+1
* jk/grep-tell-run-command-to-cd-when-running-pager: grep: use run-command's "dir" option for --open-files-in-pager
2014-06-06Merge branch 'fc/status-printf-squelch-format-zero-length-warnings'Libravatar Junio C Hamano2-12/+12
* fc/status-printf-squelch-format-zero-length-warnings: silence a bunch of format-zero-length warnings
2014-06-06Merge branch 'jk/squelch-compiler-warning-from-funny-error-macro'Libravatar Junio C Hamano3-6/+10
* jk/squelch-compiler-warning-from-funny-error-macro: let clang use the constant-return error() macro inline constant return from error() function
2014-06-06Merge branch 'dk/raise-core-deltabasecachelimit'Libravatar Junio C Hamano2-2/+2
The `core.deltabasecachelimit` used to default to 16 MiB , but this proved to be too small, and has been bumped to 96 MiB. * dk/raise-core-deltabasecachelimit: Bump core.deltaBaseCacheLimit to 96m
2014-06-06Merge branch 'tl/relax-in-poll-emulation'Libravatar Junio C Hamano1-1/+1
* tl/relax-in-poll-emulation: compat/poll: sleep 1 millisecond to avoid busy wait
2014-06-06Merge branch 'jk/utf8-switch-between-nfd-and-nfc'Libravatar Junio C Hamano1-0/+10
Document a known breakage with a test. * jk/utf8-switch-between-nfd-and-nfc: t3910: show failure of core.precomposeunicode with decomposed filenames
2014-06-06Merge branch 'da/imap-send-use-credential-helper'Libravatar Junio C Hamano1-19/+26
"git imap-send" learns to ask the credential helper for authentication material. * da/imap-send-use-credential-helper: imap-send: use git-credential
2014-06-06Merge branch 'je/pager-do-not-recurse'Libravatar Junio C Hamano1-1/+1
We used to unconditionally disable the pager in the pager process we spawn to feed out output, but that prevented people who want to run "less" within "less" from doing so. * je/pager-do-not-recurse: pager: do allow spawning pager recursively
2014-06-06Merge branch 'jk/commit-C-pick-empty'Libravatar Junio C Hamano2-4/+12
"git commit --allow-empty-message -C $commit" did not work when the commit did not have any log message. * jk/commit-C-pick-empty: commit: do not complain of empty messages from -C
2014-06-06Merge branch 'mm/pager-less-sans-S'Libravatar Junio C Hamano4-8/+13
Since the very beginning of Git, we gave the LESS environment a default value "FRSX" when we spawn "less" as the pager. "S" (chop long lines instead of wrapping) has been removed from this default set of options, because it is more or less a personal taste thing, as opposed to others that have good justifications (i.e. "R" is very much justified because many kinds of output we produce are colored and "FX" is justified because output we produce is often shorter than a page). Existing users who prefer not to see line-wrapped output may want to set $ git config core.pager "less -S" to restore the traditional behaviour. It is expected that people find output from the most subcommands easier to read with the new default, except for "blame" which tends to produce really long lines. To override the new default only for "git blame", you can do this: $ git config pager.blame "less -S" * mm/pager-less-sans-S: pager: remove 'S' from $LESS by default