summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-25Merge branch 'jk/fast-export-object-lookup'Libravatar Junio C Hamano1-9/+13
* jk/fast-export-object-lookup: fast-export: do not load blob objects twice fast-export: rename handle_object function
2013-03-25Merge branch 'jk/peel-ref'Libravatar Junio C Hamano2-4/+11
Recent optimization broke shallow clones. * jk/peel-ref: upload-pack: load non-tip "want" objects from disk upload-pack: make sure "want" objects are parsed upload-pack: drop lookup-before-parse optimization
2013-03-25Merge branch 'lf/setup-prefix-pathspec'Libravatar Junio C Hamano1-5/+7
"git cmd -- ':(top'" was not diagnosed as an invalid syntax, and instead the parser kept reading beyond the end of the string. * lf/setup-prefix-pathspec: setup.c: check that the pathspec magic ends with ")" setup.c: stop prefix_pathspec() from looping past the end of string
2013-03-25Merge branch 'ph/tag-force-no-warn-on-creation'Libravatar Junio C Hamano2-1/+13
"git tag -f <tag>" always said "Updated tag '<tag>'" even when creating a new tag (i.e. not overwriting nor updating). * ph/tag-force-no-warn-on-creation: tag: --force does not have to warn when creating tags
2013-03-25Merge branch 'mg/unsigned-time-t'Libravatar Junio C Hamano1-3/+9
A few workarounds for systems with unsigned time_t. * mg/unsigned-time-t: Fix time offset calculation in case of unsigned time_t date.c: fix unsigned time_t comparison
2013-03-25Merge branch 'jk/suppress-clang-warning'Libravatar Junio C Hamano2-2/+4
* jk/suppress-clang-warning: fix clang -Wtautological-compare with unsigned enum
2013-03-25Merge branch 'pw/p4-symlinked-root'Libravatar Junio C Hamano2-7/+63
"git p4" did not behave well when the path to the root of the P4 client was not its real path. * pw/p4-symlinked-root: git p4: avoid expanding client paths in chdir git p4 test: should honor symlink in p4 client root git p4 test: make sure P4CONFIG relative path works
2013-03-25Merge branch 'jk/empty-archive'Libravatar Junio C Hamano6-13/+109
"git archive" reports a failure when asked to create an archive out of an empty tree. It would be more intuitive to give an empty archive back in such a case. * jk/empty-archive: archive: handle commits with an empty tree test-lib: factor out $GIT_UNZIP setup
2013-03-25Merge branch 'ks/rfc2047-one-char-at-a-time'Libravatar Junio C Hamano4-25/+77
When "format-patch" quoted a non-ascii strings on the header files, it incorrectly applied rfc2047 and chopped a single character in the middle of it. * ks/rfc2047-one-char-at-a-time: format-patch: RFC 2047 says multi-octet character may not be split
2013-03-25Merge branch 'jk/alias-in-bare'Libravatar Junio C Hamano5-12/+53
An aliased command spawned from a bare repository that does not say it is bare with "core.bare = yes" is treated as non-bare by mistake. * jk/alias-in-bare: setup: suppress implicit "." work-tree for bare repos environment: add GIT_PREFIX to local_repo_env cache.h: drop LOCAL_REPO_ENV_SIZE
2013-03-25Merge branch 'jc/push-follow-tag'Libravatar Junio C Hamano9-14/+218
The new "--follow-tags" option tells "git push" to push relevant annotated tags when pushing branches out. * jc/push-follow-tag: push: --follow-tags commit.c: use clear_commit_marks_many() in in_merge_bases_many() commit.c: add in_merge_bases_many() commit.c: add clear_commit_marks_many()
2013-03-25Merge branch 'jc/maint-reflog-expire-clean-mark-typofix'Libravatar Junio C Hamano1-1/+1
In "git reflog expire", REACHABLE bit was not cleared from the correct objects. * jc/maint-reflog-expire-clean-mark-typofix: reflog: fix typo in "reflog expire" clean-up codepath
2013-03-25Merge branch 'ap/maint-diff-rename-avoid-overlap'Libravatar Junio C Hamano2-1/+67
The logic used by "git diff -M --stat" to shorten the names of files before and after a rename did not work correctly when the common prefix and suffix between the two filenames overlapped. * ap/maint-diff-rename-avoid-overlap: tests: make sure rename pretty print works diff: prevent pprint_rename from underrunning input diff: Fix rename pretty-print when suffix and prefix overlap
2013-03-25Merge branch 'jl/submodule-deinit'Libravatar Junio C Hamano5-3/+198
There was no Porcelain way to say "I no longer am interested in this submodule", once you express your interest in a submodule with "submodule init". "submodule deinit" is the way to do so. * jl/submodule-deinit: submodule: add 'deinit' command
2013-03-25Merge branch 'jc/describe'Libravatar Junio C Hamano1-21/+20
The "--match=<pattern>" option of "git describe", when used with "--all" to allow refs that are not annotated tags to be used as a base of description, did not restrict the output from the command to those that match the given pattern. We may want to have a looser matching that does not restrict to tags, but that can be done as a follow-up topic; this step is purely a bugfix. * jc/describe: describe: --match=<pattern> must limit the refs even when used with --all
2013-03-25Merge branch 'pe/pull-rebase-v-q'Libravatar Junio C Hamano2-1/+28
Teach "git pull --rebase" to pass "-v/-q" command line options to underlying "git rebase". * pe/pull-rebase-v-q: pull: Apply -q and -v options to rebase mode as well
2013-03-25Merge branch 'maint'Libravatar Junio C Hamano2-1/+31
* maint: Start preparing for 1.8.2.1 transport.c: help gcc 4.6.3 users by squelching compiler warning
2013-03-25Start preparing for 1.8.2.1Libravatar Junio C Hamano2-1/+30
... at the same time, preparation for 1.8.1.6 also has started ;-) Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-25Merge branch 'jk/graph-c-expose-symbols-for-cgit' into maintLibravatar Junio C Hamano2-30/+35
In the v1.8.0 era, we changed symbols that do not have to be global to file scope static, but a few functions in graph.c were used by CGit from sideways bypassing the entry points of the API the in-tree users use. * jk/graph-c-expose-symbols-for-cgit: Revert "graph.c: mark private file-scope symbols as static"
2013-03-25Merge branch 'maint-1.8.1' into maintLibravatar Junio C Hamano10-23/+64
* maint-1.8.1: bundle: Add colons to list headings in "verify" bundle: Fix "verify" output if history is complete Documentation: filter-branch env-filter example git-filter-branch.txt: clarify ident variables usage git-compat-util.h: Provide missing netdb.h definitions describe: Document --match pattern format Documentation/githooks: Explain pre-rebase parameters update-index: list supported idx versions and their features diff-options: unconfuse description of --color read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr() index-format.txt: mention of v4 is missing in some places
2013-03-25Merge branch 'lf/bundle-verify-list-prereqs' into maint-1.8.1Libravatar Junio C Hamano1-5/+5
"git bundle verify" did not say "records a complete history" for a bundle that does not have any prerequisites. * lf/bundle-verify-list-prereqs: bundle: Add colons to list headings in "verify" bundle: Fix "verify" output if history is complete
2013-03-25Merge branch 'tk/doc-filter-branch' into maint-1.8.1Libravatar Junio C Hamano1-2/+25
Add an example use of "--env-filter" in "filter-branch" documentation. * tk/doc-filter-branch: Documentation: filter-branch env-filter example git-filter-branch.txt: clarify ident variables usage
2013-03-25Merge branch 'dm/ni-maxhost-may-be-missing' into maint-1.8.1Libravatar Junio C Hamano2-4/+11
Some sources failed to compile on systems that lack NI_MAXHOST in their system header. * dm/ni-maxhost-may-be-missing: git-compat-util.h: Provide missing netdb.h definitions
2013-03-25Merge branch 'gp/describe-match-uses-glob-pattern' into maint-1.8.1Libravatar Junio C Hamano1-2/+3
The "--match=<pattern>" argument "git describe" takes uses glob pattern but it wasn't obvious from the documentation. * gp/describe-match-uses-glob-pattern: describe: Document --match pattern format
2013-03-25Merge branch 'nd/doc-index-format' into maint-1.8.1Libravatar Junio C Hamano3-5/+13
The v4 index format was not documented. * nd/doc-index-format: update-index: list supported idx versions and their features read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr() index-format.txt: mention of v4 is missing in some places
2013-03-25Merge branch 'wk/doc-pre-rebase' into maint-1.8.1Libravatar Junio C Hamano1-3/+5
The arguments given to pre-rebase hook were not documented. * wk/doc-pre-rebase: Documentation/githooks: Explain pre-rebase parameters
2013-03-25Merge branch 'jc/color-diff-doc' into maint-1.8.1Libravatar Junio C Hamano1-2/+2
The "--color=<when>" argument to the commands in the diff family was described poorly. * jc/color-diff-doc: diff-options: unconfuse description of --color
2013-03-25transport.c: help gcc 4.6.3 users by squelching compiler warningLibravatar Junio C Hamano1-1/+2
To a human reader, it is quite obvious that cmp is assigned before it is used, but gcc 4.6.3 that ships with Ubuntu 12.04 is among those that do not get this right. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21Update draft release notes to 1.8.3Libravatar Junio C Hamano1-0/+76
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21Merge branch 'maint'Libravatar Junio C Hamano6-14/+17
* maint: diff.c: diff.renamelimit => diff.renameLimit in message wt-status: fix possible use of uninitialized variable fast-import: clarify "inline" logic in file_change_m run-command: always set failed_errno in start_command transport: drop "int cmp = cmp" hack drop some obsolete "x = x" compiler warning hacks fast-import: use pointer-to-pointer to keep list tail
2013-03-21diff.c: diff.renamelimit => diff.renameLimit in messageLibravatar Max Nanasy1-1/+1
In the warning message printed when rename or unmodified copy detection was skipped due to too many files, change "diff.renamelimit" to "diff.renameLimit", in order to make it consistent with git documentation, which consistently uses "diff.renameLimit". Signed-off-by: Max Nanasy <max.nanasy@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21wt-status: fix possible use of uninitialized variableLibravatar Jeff King1-1/+4
In wt_status_print_change_data, we accept a change_type flag that is meant to be either WT_STATUS_UPDATED or WT_STATUS_CHANGED. We then switch() on this value to set the local variable "status" for each case, but do not provide a fallback "default" label to the switch statement. As a result, the compiler realizes that "status" might be unset, and complains with a warning. To silence this warning, we use the "int status = status" trick. This is correct with the current code, as all callers provide one of the two expected change_type flags. However, it's also a maintenance trap, as there is nothing to prevent future callers from passing another flag, nor to document this assumption. Instead of using the "x = x" hack, let's handle the default case in the switch() statement with a die("BUG"). That tells the compiler and any readers of the code exactly what the function's input assumptions are. We could also convert the flag to an enum, which would provide a compile-time check on the function input. However, since these flags are part of a larger enum, that would make the code unnecessarily complex (we would have to make a new enum with just the two flags, and then convert it to the old enum for passing to sub-functions). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21fast-import: clarify "inline" logic in file_change_mLibravatar Jeff King1-1/+2
When we read a fast-import line like: M 100644 :1 foo.c we point the local object_entry variable "oe" to the object named by the mark ":1". When the input uses the "inline" construct, however, we do not have such an object_entry. The current code is careful not to access "oe" in the inline case, but we can make the assumption even more obvious (and catch violations of it) by setting oe to NULL and adding a comment. As a bonus, this also squelches an over-zealous gcc -Wuninitialized warning, which means we can drop the "oe = oe" initialization hack. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21run-command: always set failed_errno in start_commandLibravatar Jeff King1-2/+3
When we fail to fork, we set the failed_errno variable to the value of errno so it is not clobbered by later syscalls. However, we do so in a conditional, and it is hard to see later under what conditions the variable has a valid value. Instead of setting it only when fork fails, let's just always set it after forking. This is more obvious for human readers (as we are no longer setting it as a side effect of a strerror call), and it is more obvious to gcc, which no longer generates a spurious -Wuninitialized warning. It also happens to match what the WIN32 half of the #ifdef does. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21transport: drop "int cmp = cmp" hackLibravatar Jeff King1-1/+1
According to 47ec794, this initialization is meant to squelch an erroneous uninitialized variable warning from gcc 4.0.1. That version is quite old at this point, and gcc 4.1 and up handle it fine, with one exception. There seems to be a regression in gcc 4.6.3, which produces the warning; however, gcc versions 4.4.7 and 4.7.2 do not. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21drop some obsolete "x = x" compiler warning hacksLibravatar Jeff King2-2/+2
In cases where the setting and access of a variable are protected by the same conditional flag, older versions of gcc would generate a "might be used unitialized" warning. We silence the warning by initializing the variable to itself, a hack that gcc recognizes. Modern versions of gcc are smart enough to get this right, going back to at least version 4.3.5. gcc 4.1 does get it wrong in both cases, but is sufficiently old that we probably don't need to care about it anymore. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21fast-import: use pointer-to-pointer to keep list tailLibravatar Jeff King1-6/+4
This is shorter, idiomatic, and it means the compiler does not get confused about whether our "e" pointer is valid, letting us drop the "e = e" hack. Signed-off-by: Jeff King <peff@peff.net> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-03-21Merge branch 'we/submodule-update-prefix-output'Libravatar Junio C Hamano2-14/+20
"git submodule update", when recursed into sub-submodules, did not acccumulate the prefix paths. * we/submodule-update-prefix-output: submodule update: when using recursion, show full path
2013-03-21Merge branch 'jk/mailsplit-maildir-muttsort'Libravatar Junio C Hamano1-0/+23
Sort filenames read from the maildir/ in a way that is more likely to sort messages in the order the writing MUA meant to, by sorting numeric segment in numeric order and non-numeric segment in alphabetical order. * jk/mailsplit-maildir-muttsort: mailsplit: sort maildir filenames more cleverly
2013-03-21Merge branch 'rs/zip-compresssed-size-with-export-subst'Libravatar Junio C Hamano2-1/+7
When export-subst is used, "zip" output recorded incorrect size of the file. * rs/zip-compresssed-size-with-export-subst: archive-zip: fix compressed size for stored export-subst files
2013-03-21Merge branch 'mn/send-email-works-with-credential'Libravatar Junio C Hamano3-51/+222
Hooks the credential system to send-email. * mn/send-email-works-with-credential: git-send-email: use git credential to obtain password Git.pm: add interface for git credential command Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe Git.pm: refactor command_close_bidi_pipe to use _cmd_close Git.pm: fix example in command_close_bidi_pipe documentation Git.pm: allow command_close_bidi_pipe to be called as method
2013-03-21Merge branch 'tz/credential-authinfo'Libravatar Junio C Hamano4-0/+545
A new read-only credential helper (in contrib/) to interact with the .netrc/.authinfo files. Hopefully mn/send-email-authinfo topic can rebuild on top of something like this. * tz/credential-authinfo: Add contrib/credentials/netrc with GPG support
2013-03-21Merge branch 'jk/utf-8-can-be-spelled-differently'Libravatar Junio C Hamano1-2/+18
Some platforms and users spell UTF-8 differently; retry with the most official "UTF-8" when the system does not understand the user-supplied encoding name that are the common alternative spellings of UTF-8. * jk/utf-8-can-be-spelled-differently: utf8: accept alternate spellings of UTF-8
2013-03-21Merge branch 'mg/gpg-interface-using-status'Libravatar Junio C Hamano7-25/+46
Call "gpg" using the right API when validating the signature on tags. * mg/gpg-interface-using-status: pretty: make %GK output the signing key for signed commits pretty: parse the gpg status lines rather than the output gpg_interface: allow to request status return log-tree: rely upon the check in the gpg_interface gpg-interface: check good signature in a reliable way
2013-03-21Merge branch 'rt/commit-cleanup-config'Libravatar Junio C Hamano1-8/+16
Fix tests that contaminated their environments and affected new tests introduced later in the sequence by containing their effects in their own subshells. * rt/commit-cleanup-config: t7502: perform commits using alternate editor in a subshell
2013-03-21Merge branch 'nd/branch-error-cases'Libravatar Junio C Hamano2-0/+48
"git branch" had more cases where it did not bother to check nonsense command line parameters. * nd/branch-error-cases: branch: segfault fixes and validation
2013-03-21Merge branch 'ap/maint-update-index-h-is-for-help'Libravatar Junio C Hamano1-1/+1
"git update-index -h" did not do the usual "-h(elp)" thing. * ap/maint-update-index-h-is-for-help: update-index: allow "-h" to also display options
2013-03-21Merge branch 'jc/perl-cat-blob'Libravatar Junio C Hamano1-10/+7
perl/Git.pm::cat_blob slurped everything in core only to write it out to a file descriptor, which was not a very smart thing to do. * jc/perl-cat-blob: Git.pm: fix cat_blob crashes on large files
2013-03-21Merge branch 'da/difftool-fixes'Libravatar Junio C Hamano2-200/+170
Minor maintenance updates to difftool, and updates to its tests. * da/difftool-fixes: t7800: "defaults" is no longer a builtin tool name t7800: modernize tests t7800: update copyright notice difftool: silence uninitialized variable warning
2013-03-21Merge branch 'ob/imap-send-ssl-verify'Libravatar Junio C Hamano1-0/+11
Correctly connect to SSL/TLS sites that serve multiple hostnames on a single IP by including Server Name Indication in the client-hello. * ob/imap-send-ssl-verify: imap-send: support Server Name Indication (RFC4366)