Commit Graph

36672 Commits

Author SHA1 Message Date
Michael J Gruber
d07b00b7f3 verify-commit: scriptable commit signature verification
Commit signatures can be verified using "git show -s --show-signature"
or the "%G?" pretty format and parsing the output, which is well suited
for user inspection, but not for scripting.

Provide a command "verify-commit" which is analogous to "verify-tag": It
returns 0 for good signatures and non-zero otherwise, has the gpg output
on stderr and (optionally) the commit object on stdout, sans the
signature, just like "verify-tag" does.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-23 15:50:31 -07:00
Michael J Gruber
71c214c840 gpg-interface: provide access to the payload
In contrast to tag signatures, commit signatures are put into the
header, that is between the other header parts and commit messages.

Provide access to the commit content sans the signature, which is the
payload that is actually signed. Commit signature verification does the
parsing anyways, and callers may wish to act on or display the commit
object sans the signature.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-23 15:50:30 -07:00
Michael J Gruber
01e57b5d91 gpg-interface: provide clear helper for struct signature_check
The struct has been growing members whose malloced memory needs to be
freed. Do this with one helper function so that no malloced memory shall
be left unfreed.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-23 15:50:29 -07:00
Junio C Hamano
0953113bb5 Second batch for 2.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-06 11:42:05 -07:00
Junio C Hamano
75866e6045 Merge branch 'ss/howto-manage-trunk'
* ss/howto-manage-trunk:
  How to keep a project's canonical history correct.
2014-06-06 11:39:12 -07:00
Junio C Hamano
eb5398a891 Merge branch 'mc/git-p4-prepare-p4-only'
* mc/git-p4-prepare-p4-only:
  git-p4: Do not include diff in spec file when just preparing p4
2014-06-06 11:38:57 -07:00
Junio C Hamano
3784ba310f Merge branch 'jn/test-lint-unmoor'
* jn/test-lint-unmoor:
  test-lint: find unportable sed, echo, test, and export usage after &&
2014-06-06 11:38:54 -07:00
Junio C Hamano
3ea8ecc21e Merge branch 'ep/shell-assign-and-export-vars'
* ep/shell-assign-and-export-vars:
  scripts: more "export VAR=VALUE" fixes
  scripts: "export VAR=VALUE" construct is not portable
2014-06-06 11:38:51 -07:00
Junio C Hamano
ed47bbd1d0 Merge branch 'jj/command-line-adjective'
* jj/command-line-adjective:
  Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues
2014-06-06 11:38:48 -07:00
Junio C Hamano
aa4bffa235 Merge branch 'jc/coding-guidelines'
* 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-06 11:38:45 -07:00
Junio C Hamano
1e2600dd6a Merge branch 'nd/status-auto-comment-char'
* nd/status-auto-comment-char:
  commit: allow core.commentChar=auto for character auto selection
  config: be strict on core.commentChar
2014-06-06 11:36:10 -07:00
Junio C Hamano
0756529537 Merge branch 'mt/rebase-i-keep-empty-test'
* mt/rebase-i-keep-empty-test:
  rebase --keep-empty -i: add test
2014-06-06 11:36:06 -07:00
Junio C Hamano
e7cc0ede18 Merge branch 'mk/show-s-no-extra-blank-line-for-merges'
* 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-06 11:35:02 -07:00
Junio C Hamano
7e03f41663 Merge branch 'sk/spawn-less-case-insensitively-from-grep-O-i'
* sk/spawn-less-case-insensitively-from-grep-O-i:
  git grep -O -i: if the pager is 'less', pass the '-I' option
2014-06-06 11:32:49 -07:00
Junio C Hamano
7173ad76ed Merge branch 'jd/subtree'
* 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-06 11:32:21 -07:00
Junio C Hamano
c8704ad335 Merge branch 'wk/doc-clarify-upstream'
* wk/doc-clarify-upstream:
  Documentation: mention config sources for @{upstream}
2014-06-06 11:32:14 -07:00
Junio C Hamano
334d40e951 Merge branch 'tb/unicode-6.3-zero-width'
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-06 11:29:38 -07:00
Junio C Hamano
a0460132a7 Merge branch 'jk/index-pack-report-missing'
* jk/index-pack-report-missing:
  index-pack: distinguish missing objects from type errors
2014-06-06 11:28:13 -07:00
Junio C Hamano
e934c67b66 Merge branch 'bc/blame-crlf-test'
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-06 11:26:50 -07:00
Junio C Hamano
ee8213951a Merge branch 'sk/submodules-absolute-path-on-windows'
* sk/submodules-absolute-path-on-windows:
  Revert "submodules: fix ambiguous absolute paths under Windows"
2014-06-06 11:26:38 -07:00
Junio C Hamano
c7be99ea51 Merge branch 'dk/blame-reorg'
"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-06 11:24:44 -07:00
Junio C Hamano
ff0b8753a1 Merge branch 'wg/svn-fe-style-fixes'
* wg/svn-fe-style-fixes:
  svn-fe: conform to pep8
2014-06-06 11:24:32 -07:00
Junio C Hamano
e318b83511 Merge branch 'jn/contrib-remove-vim'
Spring cleaning of contrib/.

* jn/contrib-remove-vim:
  contrib: remove vim support instructions
2014-06-06 11:24:30 -07:00
Junio C Hamano
c8eb5d3309 Merge branch 'jn/contrib-remove-diffall'
Spring cleaning of contrib/.

* jn/contrib-remove-diffall:
  contrib: remove git-diffall
2014-06-06 11:23:46 -07:00
Junio C Hamano
067fe64355 Merge branch 'dt/merge-recursive-case-insensitive'
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-06 11:23:13 -07:00
Junio C Hamano
f7f349e138 Merge branch 'rs/reflog-exists'
* rs/reflog-exists:
  checkout.c: use ref_exists instead of file_exist
  refs.c: add new functions reflog_exists and delete_reflog
2014-06-06 11:23:04 -07:00
Junio C Hamano
43eb7cb260 Merge branch 'tg/tag-state-tag-name-in-editor-hints'
* tg/tag-state-tag-name-in-editor-hints:
  builtin/tag.c: show tag name to hint in the message editor
2014-06-06 11:22:25 -07:00
Junio C Hamano
d83c9c75e1 Merge branch 'jk/grep-tell-run-command-to-cd-when-running-pager'
* jk/grep-tell-run-command-to-cd-when-running-pager:
  grep: use run-command's "dir" option for --open-files-in-pager
2014-06-06 11:21:49 -07:00
Junio C Hamano
09e141f127 Merge branch 'fc/status-printf-squelch-format-zero-length-warnings'
* fc/status-printf-squelch-format-zero-length-warnings:
  silence a bunch of format-zero-length warnings
2014-06-06 11:21:47 -07:00
Junio C Hamano
610a14f643 Merge branch 'jk/squelch-compiler-warning-from-funny-error-macro'
* jk/squelch-compiler-warning-from-funny-error-macro:
  let clang use the constant-return error() macro
  inline constant return from error() function
2014-06-06 11:21:36 -07:00
Junio C Hamano
d2a274aa87 Merge branch 'dk/raise-core-deltabasecachelimit'
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-06 11:18:34 -07:00
Junio C Hamano
7461a3e9fc Merge branch 'tl/relax-in-poll-emulation'
* tl/relax-in-poll-emulation:
  compat/poll: sleep 1 millisecond to avoid busy wait
2014-06-06 11:18:29 -07:00
Junio C Hamano
1265886303 Merge branch 'jk/utf8-switch-between-nfd-and-nfc'
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-06 11:18:26 -07:00
Junio C Hamano
89080fcd9a Merge branch 'da/imap-send-use-credential-helper'
"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-06 11:17:56 -07:00
Junio C Hamano
db6fbe3770 Merge branch 'je/pager-do-not-recurse'
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-06 11:17:00 -07:00
Junio C Hamano
e88155d1e1 Merge branch 'jk/commit-C-pick-empty'
"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-06 11:16:04 -07:00
Junio C Hamano
561d952ed4 Merge branch 'mm/pager-less-sans-S'
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
2014-06-06 11:02:59 -07:00
Junio C Hamano
79dcccc503 First batch for 2.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-06-03 12:09:13 -07:00
Junio C Hamano
14ce98d7e9 Merge branch 'sk/msvc-dynlink-crt'
* sk/msvc-dynlink-crt:
  MSVC: link dynamically to the CRT
2014-06-03 12:06:46 -07:00
Junio C Hamano
a3c0efec9b Merge branch 'ew/config-protect-mode'
* ew/config-protect-mode:
  config: preserve config file permissions on edits
2014-06-03 12:06:46 -07:00
Junio C Hamano
d6850db3c2 Merge branch 'bg/strbuf-trim'
* bg/strbuf-trim:
  api-strbuf.txt: add docs for _trim and _ltrim
  strbuf: use _rtrim and _ltrim in strbuf_trim
2014-06-03 12:06:46 -07:00
Junio C Hamano
e1857af923 Merge branch 'jk/commit-date-approxidate'
* jk/commit-date-approxidate:
  commit: accept more date formats for "--date"
  commit: print "Date" line when the user has set date
  pretty: make show_ident_date public
  commit: use split_ident_line to compare author/committer
2014-06-03 12:06:46 -07:00
Junio C Hamano
6753d8a85d Merge branch 'ep/shell-command-substitution'
Adjust shell scripts to use $(cmd) instead of `cmd`.

* ep/shell-command-substitution: (41 commits)
  t5000-tar-tree.sh: use the $( ... ) construct for command substitution
  t4204-patch-id.sh: use the $( ... ) construct for command substitution
  t4119-apply-config.sh: use the $( ... ) construct for command substitution
  t4116-apply-reverse.sh: use the $( ... ) construct for command substitution
  t4057-diff-combined-paths.sh: use the $( ... ) construct for command substitution
  t4038-diff-combined.sh: use the $( ... ) construct for command substitution
  t4036-format-patch-signer-mime.sh: use the $( ... ) construct for command substitution
  t4014-format-patch.sh: use the $( ... ) construct for command substitution
  t4013-diff-various.sh: use the $( ... ) construct for command substitution
  t4012-diff-binary.sh: use the $( ... ) construct for command substitution
  t4010-diff-pathspec.sh: use the $( ... ) construct for command substitution
  t4006-diff-mode.sh: use the $( ... ) construct for command substitution
  t3910-mac-os-precompose.sh: use the $( ... ) construct for command substitution
  t3905-stash-include-untracked.sh: use the $( ... ) construct for command substitution
  t1050-large.sh: use the $( ... ) construct for command substitution
  t1020-subdirectory.sh: use the $( ... ) construct for command substitution
  t1004-read-tree-m-u-wf.sh: use the $( ... ) construct for command substitution
  t1003-read-tree-prefix.sh: use the $( ... ) construct for command substitution
  t1002-read-tree-m-u-2way.sh: use the $( ... ) construct for command substitution
  t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution
  ...
2014-06-03 12:06:45 -07:00
Junio C Hamano
6d3c4e93d4 Merge branch 'fc/rerere-conflict-style'
* fc/rerere-conflict-style:
  rerere: fix for merge.conflictstyle
2014-06-03 12:06:45 -07:00
Junio C Hamano
520cd9cd20 Merge branch 'dt/api-doc-setup-gently'
* dt/api-doc-setup-gently:
  docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP
2014-06-03 12:06:45 -07:00
Junio C Hamano
7ea60c15cc Merge branch 'fc/mergetool-prompt'
mergetool.prompt used to default to 'true', always causing a confirmation
"do you really want to run the tool on this path" to be shown.

Among the two purposes the prompt serves, ignore the use case to
confirm that the user wants to view particular path with the named
tool, and make the prompt only to confirm the choice of the tool
made by autodetection and defaulting.  For those who configured the
tool explicitly, the prompt shown for the latter purpose is simply
annoying.

Strictly speaking, this is a backward incompatible change and the
users need to explicitly set the variable to 'true' if they want to
resurrect the now-ignored use case.

* fc/mergetool-prompt:
  mergetool: document the default for --[no-]prompt
  mergetool: run prompt only if guessed tool
2014-06-03 12:06:44 -07:00
Junio C Hamano
e3798318b1 Merge branch 'mm/mediawiki-encoding-fix'
* mm/mediawiki-encoding-fix:
  git-remote-mediawiki: fix encoding issue for UTF-8 media files
  git-remote-mediawiki: allow stop/start-ing the test server
2014-06-03 12:06:44 -07:00
Junio C Hamano
59e0821a81 Merge branch 'sk/tag-contains-wo-recursion'
* sk/tag-contains-wo-recursion:
  git tag --contains: avoid stack overflow
2014-06-03 12:06:44 -07:00
Junio C Hamano
0b4494625d Merge branch 'ef/send-email-absolute-path-to-the-command'
* ef/send-email-absolute-path-to-the-command:
  send-email: windows drive prefix (e.g. C:) appears only at the beginning
  send-email: recognize absolute path on Windows
2014-06-03 12:06:44 -07:00
Junio C Hamano
84241e70d6 Merge branch 'jx/blame-align-relative-time'
"git blame" miscounted number of columns needed to show localized
timestamps, resulting in jaggy left-side-edge of the source code
lines in its output.

* jx/blame-align-relative-time:
  blame: dynamic blame_date_width for different locales
  blame: fix broken time_buf paddings in relative timestamp
2014-06-03 12:06:44 -07:00