David Aguilar [Sun, 24 Feb 2013 00:50:11 +0000 (16:50 -0800)]
git-relink: use a lowercase "usage:" string
Make the usage string consistent with Git.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 24 Feb 2013 00:50:10 +0000 (16:50 -0800)]
git-svn: use a lowercase "usage:" string
Make the usage string consistent with Git.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 24 Feb 2013 00:50:09 +0000 (16:50 -0800)]
git-sh-setup: use a lowercase "usage:" string
mergetool, bisect, and other commands that use
git-sh-setup print a usage string that is inconsistent
with the rest of Git when they are invoked as "git $cmd -h".
The compiled builtins use the lowercase "usage:" string
but these commands say "Usage:". Adjust the shell library
to make these consistent.
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 20 Feb 2013 05:57:27 +0000 (21:57 -0800)]
Sync with v1.8.1.4
Junio C Hamano [Tue, 19 Feb 2013 05:48:05 +0000 (05:48 +0000)]
Git 1.8.1.4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Wed, 20 Feb 2013 05:54:15 +0000 (21:54 -0800)]
Merge branch 'ob/imap-send-ssl-verify' into maint
* ob/imap-send-ssl-verify:
imap-send: support subjectAltName as well
imap-send: the subject of SSL certificate must match the host
imap-send: move #ifdef around
Oswald Buddenhagen [Fri, 15 Feb 2013 20:59:53 +0000 (12:59 -0800)]
imap-send: support subjectAltName as well
Check not only the common name of the certificate subject, but also
check the subject alternative DNS names as well, when verifying that
the certificate matches that of the host we are trying to talk to.
Signed-off-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Oswald Buddenhagen [Fri, 15 Feb 2013 20:50:35 +0000 (12:50 -0800)]
imap-send: the subject of SSL certificate must match the host
We did not check a valid certificate's subject at all, and would
have happily talked with a wrong host after connecting to an
incorrect address and getting a valid certificate that does not
belong to the host we intended to talk to.
Signed-off-by: Oswald Buddenhagen <ossi@kde.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 15 Feb 2013 20:32:19 +0000 (12:32 -0800)]
imap-send: move #ifdef around
Instead of adding an early return to the inside of the
ssl_socket_connect() function for NO_OPENSSL compilation, split it
into a separate stub function.
No functional change, but the next change to extend ssl_socket_connect()
will become easier to read this way.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 19 Feb 2013 00:05:02 +0000 (16:05 -0800)]
Merge branch 'jc/mention-tracking-for-pull-default'
We stopped mentioning `tracking` is a deprecated but supported
synonym for `upstream` in pull.default even though we have no
intention of removing the support for it.
* jc/mention-tracking-for-pull-default:
doc: mention tracking for pull.default
Junio C Hamano [Tue, 19 Feb 2013 00:04:58 +0000 (16:04 -0800)]
Merge branch 'mm/config-intro-in-git-doc'
* mm/config-intro-in-git-doc:
git.txt: update description of the configuration mechanism
Junio C Hamano [Mon, 18 Feb 2013 23:59:33 +0000 (15:59 -0800)]
RelNotes 1.8.2: push-simple will not be in effect in this release
Also migration path for the default behaviour of "git add -u/-A" run
in a subdirectory is worth mentioning.
Both pointed out by Matthieu Moy.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Erik Werner [Mon, 18 Feb 2013 22:59:03 +0000 (23:59 +0100)]
shell-prompt: clean up nested if-then
Minor clean up of if-then nesting in checks for environment variables
and config options. No functional changes.
Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 18 Feb 2013 08:50:33 +0000 (00:50 -0800)]
Merge branch 'maint'
* maint:
user-manual: use -o latest.tar.gz to create a gzipped tarball
user-manual: use 'git config --global user.*' for setup
user-manual: mention 'git remote add' for remote branch config
user-manual: give 'git push -f' as an alternative to +master
user-manual: use 'remote add' to setup push URLs
W. Trevor King [Mon, 18 Feb 2013 00:16:01 +0000 (19:16 -0500)]
user-manual: use -o latest.tar.gz to create a gzipped tarball
This functionality was introduced by
0e804e09 (archive: provide
builtin .tar.gz filter, 2011-07-21) for v1.7.7.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Mon, 18 Feb 2013 00:15:58 +0000 (19:15 -0500)]
user-manual: use 'git config --global user.*' for setup
A simple command line call is easier than spawning an editor,
especially for folks new to ideas like the "command line" and "text
editors". This is also the approach suggested by 'git commit' if you
try and commit without having configured user.name or user.email.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Mon, 18 Feb 2013 00:15:56 +0000 (19:15 -0500)]
user-manual: mention 'git remote add' for remote branch config
I hardly ever setup remote.<name>.url using 'git config'. While it
may be instructive to do so, we should also point out 'git remote
add'.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Mon, 18 Feb 2013 00:15:55 +0000 (19:15 -0500)]
user-manual: give 'git push -f' as an alternative to +master
This mirrors existing language in the description of 'git fetch'.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Mon, 18 Feb 2013 00:15:53 +0000 (19:15 -0500)]
user-manual: use 'remote add' to setup push URLs
There is no need to use here documents to setup this configuration.
It is easier, less confusing, and more robust to use `git remote add`
directly.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 18 Feb 2013 08:01:12 +0000 (00:01 -0800)]
Merge git://github.com/git-l10n/git-po
* git://github.com/git-l10n/git-po:
l10n: zh_CN.po: translate 35 new messages
l10n: vi.po: update new strings (2004t0u0f)
l10n: Update git.pot (35 new, 14 removed messages)
Jiang Xin [Thu, 14 Feb 2013 09:47:45 +0000 (17:47 +0800)]
l10n: zh_CN.po: translate 35 new messages
Translate 35 new messages came from git.pot update in
9caaf23
(l10n: Update git.pot (35 new, 14 removed messages)).
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Sun, 17 Feb 2013 23:35:33 +0000 (15:35 -0800)]
Git 1.8.2-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 17 Feb 2013 23:25:57 +0000 (15:25 -0800)]
Merge branch 'jc/hidden-refs'
Allow the server side to redact the refs/ namespace it shows to the
client.
Will merge to 'master'.
* jc/hidden-refs:
upload/receive-pack: allow hiding ref hierarchies
upload-pack: simplify request validation
upload-pack: share more code
Junio C Hamano [Sun, 17 Feb 2013 23:25:51 +0000 (15:25 -0800)]
Merge branch 'mp/diff-algo-config'
Add diff.algorithm configuration so that the user does not type
"diff --histogram".
* mp/diff-algo-config:
diff: Introduce --diff-algorithm command line option
config: Introduce diff.algorithm variable
git-completion.bash: Autocomplete --minimal and --histogram for git-diff
Junio C Hamano [Sun, 17 Feb 2013 23:25:46 +0000 (15:25 -0800)]
Merge branch 'mw/bash-prompt-show-untracked-config'
Allows skipping the untracked check GIT_PS1_SHOWUNTRACKEDFILES
asks for the git-prompt (in contrib/) per repository.
* mw/bash-prompt-show-untracked-config:
t9903: add extra tests for bash.showDirtyState
t9903: add tests for bash.showUntrackedFiles
shell prompt: add bash.showUntrackedFiles option
Junio C Hamano [Sun, 17 Feb 2013 23:25:19 +0000 (15:25 -0800)]
Merge branch 'jk/rebase-i-comment-char'
Finishing touches to the earlier core.commentchar topic to cover
"rebase -i" as well.
* jk/rebase-i-comment-char:
rebase -i: respect core.commentchar
Junio C Hamano [Sun, 17 Feb 2013 23:23:20 +0000 (15:23 -0800)]
Merge branch 'jk/read-commit-buffer-data-after-free'
"git log --grep=<pattern>" used to look for the pattern in literal
bytes of the commit log message and ignored the log-output encoding.
* jk/read-commit-buffer-data-after-free:
log: re-encode commit messages before grepping
Tran Ngoc Quan [Sun, 17 Feb 2013 01:42:47 +0000 (08:42 +0700)]
l10n: vi.po: update new strings (2004t0u0f)
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Junio C Hamano [Fri, 15 Feb 2013 20:24:54 +0000 (12:24 -0800)]
Update draft release notes to 1.8.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Thu, 14 Feb 2013 15:36:54 +0000 (16:36 +0100)]
git.txt: update description of the configuration mechanism
The old Git version where it appeared is now useful only to historians,
not to normal users. Also, the text was mentioning only the per-repo
config file, but this is a good place to teach that customization can
also be made per-user.
While at it, remove a now-defunct e-mail from an example.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 15 Feb 2013 00:06:29 +0000 (16:06 -0800)]
Merge branch 'wk/man-deny-current-branch-is-default-these-days'
* wk/man-deny-current-branch-is-default-these-days:
user-manual: Update for receive.denyCurrentBranch=refuse
Junio C Hamano [Fri, 15 Feb 2013 00:06:24 +0000 (16:06 -0800)]
Merge branch 'mk/make-rm-depdirs-could-be-empty'
"make COMPUTE_HEADER_DEPENDENCIES=no clean" would try to run "rm
-rf $(dep_dirs)" with an empty dep_dir, but some implementations of
"rm -rf" barf on an empty argument list.
* mk/make-rm-depdirs-could-be-empty:
Makefile: don't run "rm" without any files
Junio C Hamano [Fri, 15 Feb 2013 00:06:19 +0000 (16:06 -0800)]
Merge branch 'mm/config-local-completion'
* mm/config-local-completion:
completion: support 'git config --local'
Junio C Hamano [Fri, 15 Feb 2013 00:06:14 +0000 (16:06 -0800)]
Merge branch 'ef/non-ascii-parse-options-error-diag'
* ef/non-ascii-parse-options-error-diag:
parse-options: report uncorrupted multi-byte options
Junio C Hamano [Fri, 15 Feb 2013 00:06:08 +0000 (16:06 -0800)]
Merge branch 'mk/old-expat'
* mk/old-expat:
Allow building with xmlparse.h
Junio C Hamano [Fri, 15 Feb 2013 00:05:56 +0000 (16:05 -0800)]
Merge branch 'da/p4merge-mktemp-fix'
* da/p4merge-mktemp-fix:
p4merge: fix printf usage
Junio C Hamano [Thu, 14 Feb 2013 23:51:43 +0000 (15:51 -0800)]
Documentation/git-add: kill remaining <filepattern>
The merge at
5bf72ed2 missed another instance of <filepattern> that
we were converting to <pathspec>.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Fri, 8 Feb 2013 17:04:20 +0000 (12:04 -0500)]
user-manual: Update for receive.denyCurrentBranch=refuse
acd2a45 (Refuse updating the current branch in a non-bare repository
via push, 2009-02-11) changed the default to refuse such a push, but
it forgot to update the docs.
7d182f5 (Documentation: receive.denyCurrentBranch defaults to
'refuse', 2010-03-17) updated Documentation/config.txt, but forgot to
update the user manual.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 14 Feb 2013 18:43:07 +0000 (10:43 -0800)]
Update draft release notes to 1.8.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 14 Feb 2013 18:29:59 +0000 (10:29 -0800)]
Merge branch 'jk/diff-graph-cleanup'
Refactors a lot of repetitive code sequence from the graph drawing
code and adds it to the combined diff output.
* jk/diff-graph-cleanup:
combine-diff.c: teach combined diffs about line prefix
diff.c: use diff_line_prefix() where applicable
diff: add diff_line_prefix function
diff.c: make constant string arguments const
diff: write prefix to the correct file
graph: output padding for merge subsequent parents
Junio C Hamano [Thu, 14 Feb 2013 18:29:54 +0000 (10:29 -0800)]
Merge branch 'nd/status-show-in-progress'
* nd/status-show-in-progress:
status: show the branch name if possible in in-progress info
Junio C Hamano [Thu, 14 Feb 2013 18:29:49 +0000 (10:29 -0800)]
Merge branch 'mm/remote-mediawiki-build'
* mm/remote-mediawiki-build:
git-remote-mediawiki: use toplevel's Makefile
Makefile: make script-related rules usable from subdirectories
Junio C Hamano [Thu, 14 Feb 2013 18:29:44 +0000 (10:29 -0800)]
Merge branch 'bw/get-tz-offset-perl'
* bw/get-tz-offset-perl:
cvsimport: format commit timestamp ourselves without using strftime
perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
Move Git::SVN::get_tz to Git::get_tz_offset
Junio C Hamano [Thu, 14 Feb 2013 18:29:37 +0000 (10:29 -0800)]
Merge branch 'al/mergetool-printf-fix'
* al/mergetool-printf-fix:
difftool--helper: fix printf usage
git-mergetool: print filename when it contains %
Junio C Hamano [Thu, 14 Feb 2013 18:29:23 +0000 (10:29 -0800)]
Merge branch 'jk/error-const-return'
* jk/error-const-return:
Use __VA_ARGS__ for all of error's arguments
Junio C Hamano [Thu, 14 Feb 2013 18:29:08 +0000 (10:29 -0800)]
Merge branch 'jx/utf8-printf-width'
Use a new helper that prints a message and counts its display width
to align the help messages parse-options produces.
* jx/utf8-printf-width:
Add utf8_fprintf helper that returns correct number of columns
Junio C Hamano [Thu, 14 Feb 2013 18:29:01 +0000 (10:29 -0800)]
Merge branch 'mg/bisect-doc'
* mg/bisect-doc:
git-bisect.txt: clarify that reset quits bisect
Junio C Hamano [Thu, 14 Feb 2013 18:28:55 +0000 (10:28 -0800)]
Merge branch 'tz/perl-styles'
Add coding guidelines for writing Perl scripts for Git.
* tz/perl-styles:
Update CodingGuidelines for Perl
Junio C Hamano [Thu, 14 Feb 2013 18:28:48 +0000 (10:28 -0800)]
Merge branch 'jc/extended-fake-ancestor-for-gitlink'
Instead of requiring the full 40-hex object names on the index
line, we can read submodule commit object names from the textual
diff when synthesizing a fake ancestore tree for "git am -3".
* jc/extended-fake-ancestor-for-gitlink:
apply: verify submodule commit object name better
Junio C Hamano [Thu, 14 Feb 2013 18:28:26 +0000 (10:28 -0800)]
Merge branch 'dg/subtree-fixes'
contrib/subtree updates, but here are only the ones that looked
ready. The remainder of the patches will have another day.
* dg/subtree-fixes:
contrib/subtree: make the manual directory if needed
contrib/subtree: honor DESTDIR
contrib/subtree: fix synopsis
contrib/subtree: better error handling for 'subtree add'
contrib/subtree: use %B for split subject/body
contrib/subtree: remove test number comments
Jiang Xin [Thu, 14 Feb 2013 06:49:45 +0000 (14:49 +0800)]
l10n: Update git.pot (35 new, 14 removed messages)
L10n for git 1.8.2 round 2: Generate po/git.pot from v1.8.1.3-568-g5bf72.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Martin Erik Werner [Wed, 13 Feb 2013 20:58:19 +0000 (21:58 +0100)]
t9903: add extra tests for bash.showDirtyState
Add 3 extra tests for the bash.showDirtyState config option; the
tests now cover all combinations of the shell var being set/unset
and the config option being missing/enabled/disabled, given a dirty
file.
Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Erik Werner [Wed, 13 Feb 2013 20:58:18 +0000 (21:58 +0100)]
t9903: add tests for bash.showUntrackedFiles
Add 4 tests for the bash.showUntrackedFiles config option, covering
all combinations of the shell var being set/unset and the config
option being enabled/disabled (the other 2 cases, missing config
with and without shell variable, are already covered by existing
tests).
Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matt Kraai [Wed, 13 Feb 2013 15:57:48 +0000 (07:57 -0800)]
Makefile: don't run "rm" without any files
When COMPUTE_HEADER_DEPENDENCIES is set to "auto" and the compiler
does not support it, $(dep_dirs) becomes empty. "make clean" runs
"rm -rf $(dep_dirs)", which can fail in such a case.
Signed-off-by: Matt Kraai <matt.kraai@amo.abbott.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Erik Werner [Wed, 13 Feb 2013 11:01:58 +0000 (12:01 +0100)]
shell prompt: add bash.showUntrackedFiles option
Add a config option 'bash.showUntrackedFiles' which allows enabling
the prompt showing untracked files on a per-repository basis. This is
useful for some repositories where the 'git ls-files ...' command may
take a long time.
Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 12 Feb 2013 20:23:12 +0000 (12:23 -0800)]
Merge branch 'maint'
* maint:
Replace filepattern with pathspec for consistency
John Keeping [Mon, 11 Feb 2013 23:08:04 +0000 (23:08 +0000)]
rebase -i: respect core.commentchar
Commit
eff80a9 (Allow custom "comment char") introduced a custom comment
character for commit messages but did not teach git-rebase--interactive
to use it.
Change git-rebase--interactive to read core.commentchar and use its
value when generating commit messages and for the command list.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Thu, 7 Feb 2013 20:15:28 +0000 (20:15 +0000)]
combine-diff.c: teach combined diffs about line prefix
When running "git log --graph --cc -p" the diff output for merges is not
indented by the graph structure, unlike the diffs of non-merge commits
(added in commit
7be5761 - diff.c: Output the text graph padding before
each diff line).
Fix this by teaching the combined diff code to output diff_line_prefix()
before each line.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Thu, 7 Feb 2013 20:15:27 +0000 (20:15 +0000)]
diff.c: use diff_line_prefix() where applicable
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Thu, 7 Feb 2013 20:15:26 +0000 (20:15 +0000)]
diff: add diff_line_prefix function
This is a helper function to call the diff output_prefix function and
return its value as a C string, allowing us to greatly simplify
everywhere that needs to get the output prefix.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Thu, 7 Feb 2013 20:15:25 +0000 (20:15 +0000)]
diff.c: make constant string arguments const
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
John Keeping [Thu, 7 Feb 2013 20:15:24 +0000 (20:15 +0000)]
diff: write prefix to the correct file
Write the prefix for an output line to the same file as the actual
content.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 12 Feb 2013 12:20:42 +0000 (13:20 +0100)]
completion: support 'git config --local'
This needs to be done in two places: __git_config_get_set_variables to
allow clever completion of "git config --local --get foo<tab>", and
_git_config to allow "git config --loc<tab>" to complete to --local.
While we're there, change the order of options in the code to match
git-config.txt.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Tue, 12 Feb 2013 09:24:44 +0000 (10:24 +0100)]
Replace filepattern with pathspec for consistency
pathspec is the most widely used term, and is the one defined in
gitglossary.txt. <filepattern> was used only in the synopsys for git-add
and git-commit, and in git-add.txt. Get rid of it.
This patch is obtained with by running:
perl -pi -e 's/filepattern/pathspec/' `git grep -l filepattern`
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Erik Faye-Lund [Mon, 11 Feb 2013 23:13:48 +0000 (00:13 +0100)]
parse-options: report uncorrupted multi-byte options
Because our command-line parser considers only one byte at the time
for short-options, we incorrectly report only the first byte when
multi-byte input was provided. This makes user-errors slightly
awkward to diagnose for instance under UTF-8 locale and non-English
keyboard layouts.
Report the whole argument-string when a non-ASCII short-option is
detected.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Improved-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matt Kraai [Mon, 11 Feb 2013 22:03:45 +0000 (14:03 -0800)]
Allow building with xmlparse.h
expat 1.1 and 1.2 provide xmlparse.h instead of expat.h. Include the
former on systems that define the EXPAT_NEEDS_XMLPARSE_H variable and
define that variable on QNX systems, which ship with expat 1.1.
Signed-off-by: Matt Kraai <matt.kraai@amo.abbott.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Mon, 11 Feb 2013 20:59:58 +0000 (15:59 -0500)]
log: re-encode commit messages before grepping
If you run "git log --grep=foo", we will run your regex on
the literal bytes of the commit message. This can provide
confusing results if the commit message is not in the same
encoding as your grep expression (or worse, you have commits
in multiple encodings, in which case your regex would need
to be written to match either encoding). On top of this, we
might also be grepping in the commit's notes, which are
already re-encoded, potentially leading to grepping in a
buffer with mixed encodings concatenated. This is insanity,
but most people never noticed, because their terminal and
their commit encodings all match.
Instead, let's massage the to-be-grepped commit into a
standardized encoding. There is not much point in adding a
flag for "this is the encoding I expect my grep pattern to
match"; the only sane choice is for it to use the log output
encoding. That is presumably what the user's terminal is
using, and it means that the patterns found by the grep will
match the output produced by git.
As a bonus, this fixes a potential segfault in commit_match
when commit->buffer is NULL, as we now build on logmsg_reencode,
which handles reading the commit buffer from disk if
necessary. The segfault can be triggered with:
git commit -m 'text1' --allow-empty
git commit -m 'text2' --allow-empty
git log --graph --no-walk --grep 'text2'
which arguably does not make any sense (--graph inherently
wants a connected history, and by --no-walk the command line
is telling us to show discrete points in history without
connectivity), and we probably should forbid the
combination, but that is a separate issue.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Sat, 9 Feb 2013 06:31:09 +0000 (14:31 +0800)]
Add utf8_fprintf helper that returns correct number of columns
Since command usages can be translated, they may include utf-8
encoded strings, and the output in console may not align well any
more. This is because strlen() is different from strwidth() on utf-8
strings.
A wrapper utf8_fprintf() can help to return the correct number of
columns required.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber [Mon, 11 Feb 2013 08:35:04 +0000 (09:35 +0100)]
git-bisect.txt: clarify that reset quits bisect
"reset" can be easily misunderstood as resetting a bisect session to its
start without finishing it. Clarify that it actually quits the bisect
session.
Reported-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 11 Feb 2013 04:47:28 +0000 (20:47 -0800)]
Update draft release notes to 1.8.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 11 Feb 2013 04:40:44 +0000 (20:40 -0800)]
Merge branch 'maint'
* maint:
user-manual: Rewrite git-gc section for automatic packing
user-manual: Fix 'you - Git' -> 'you--Git' typo
user-manual: Fix 'http' -> 'HTTP' typos
user-manual: Fix 'both: so' -> 'both; so' typo
W. Trevor King [Sun, 10 Feb 2013 15:10:27 +0000 (10:10 -0500)]
user-manual: Rewrite git-gc section for automatic packing
This should have happened back in 2007, when `git gc` learned about
auto (
e9831e8, git-gc --auto: add documentation, 2007-09-17).
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Sun, 10 Feb 2013 15:10:39 +0000 (10:10 -0500)]
user-manual: Fix 'you - Git' -> 'you--Git' typo
Use an em-dash, not a hyphen, to join these clauses.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
W. Trevor King [Sun, 10 Feb 2013 15:10:37 +0000 (10:10 -0500)]
user-manual: Fix 'http' -> 'HTTP' typos
HTTP is an acronym which has not (yet) made the transition to word
status (unlike "laser", probably because lasers are inherently cooler
than HTTP ;).
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 11 Feb 2013 04:35:23 +0000 (20:35 -0800)]
Merge branch 'sp/smart-http-content-type-check'
The smart HTTP clients forgot to verify the content-type that comes
back from the server side to make sure that the request is being
handled properly.
* sp/smart-http-content-type-check:
http_request: reset "type" strbuf before adding
t5551: fix expected error output
Verify Content-Type from smart HTTP servers
W. Trevor King [Sun, 10 Feb 2013 15:10:36 +0000 (10:10 -0500)]
user-manual: Fix 'both: so' -> 'both; so' typo
The clause "so `git log ...` will return no commits..." is
independent, not a description of "both", so a semicolon is more
appropriate.
Signed-off-by: W. Trevor King <wking@tremily.us>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 10 Feb 2013 01:21:25 +0000 (17:21 -0800)]
p4merge: fix printf usage
Do not use a random string as if it is a format string for printf
when showing it literally; instead feed it to '%s' format.
Reported-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
David Aguilar [Sun, 10 Feb 2013 01:21:25 +0000 (17:21 -0800)]
difftool--helper: fix printf usage
Do not use a random string as if it is a format string for printf
when showing it literally; instead feed it to '%s' format.
Reported-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ben Walton [Sat, 9 Feb 2013 21:46:58 +0000 (21:46 +0000)]
cvsimport: format commit timestamp ourselves without using strftime
Some implementations of strftime(3) lack support for "%z". Also
there is no need for %s in git-cvsimport as the supplied time is
already in seconds since the epoch.
For %z, use the function get_tz_offset provided by Git.pm instead.
Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ben Walton [Sat, 9 Feb 2013 21:46:57 +0000 (21:46 +0000)]
perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
When passed a local time that was on the boundary of a DST change,
get_tz_offset returned a GMT offset that was incorrect (off by one
hour). This is because the time was converted to GMT and then back to
a time stamp via timelocal() which cannot disambiguate boundary cases
as noted in its documentation.
Modify this algorithm, using an approach suggested in
http://article.gmane.org/gmane.comp.version-control.git/213871
to first convert the timestamp in question to two broken down forms
with localtime() and gmtime(), and then compute what timestamps
these two broken down forms would represent in GMT (i.e. a timezone
that does not have DST issues) by applying timegm() on them. The
difference between the resulting timestamps is the timezone offset.
This avoids the ambigious conversion and allows a correct time to be
returned on every occassion.
Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ben Walton [Sat, 9 Feb 2013 21:46:56 +0000 (21:46 +0000)]
Move Git::SVN::get_tz to Git::get_tz_offset
This function has utility outside of the SVN module for any routine
that needs the equivalent of GNU strftime's %z formatting option.
Move it to the top-level Git.pm so that non-SVN modules don't need to
import the SVN module to use it.
The rename makes the purpose of the function clearer.
Signed-off-by: Ben Walton <bdwalton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 9 Feb 2013 21:43:39 +0000 (13:43 -0800)]
Merge branch 'master' of git://github.com/git-l10n/git-po
* 'master' of git://github.com/git-l10n/git-po:
l10n: de.po: translate "reset" as "neu setzen"
l10n: de.po: translate "revision" consistently as "Revision"
l10n: de.po: translate 11 new messages
l10n: zh_CN.po: 800+ new translations on command usages
l10n: Update Swedish translation (1983t0f0u)
l10n: vi.po: updated Vietnamese translation
l10n: Update git.pot (11 new, 7 removed messages)
l10n: de.po: fix some minor issues
Junio C Hamano [Fri, 8 Feb 2013 23:29:07 +0000 (15:29 -0800)]
Merge branch 'jc/combine-diff-many-parents'
We used to have an arbitrary 32 limit for combined diff input,
resulting in incorrect number of leading colons shown when showing
the "--raw --cc" output.
* jc/combine-diff-many-parents:
t4038: add tests for "diff --cc --raw <trees>"
combine-diff: lift 32-way limit of combined diff
Junio C Hamano [Fri, 8 Feb 2013 23:29:02 +0000 (15:29 -0800)]
Merge branch 'jk/apply-similaritly-parsing'
Make sure the similarity value shown in the "apply --summary"
output is sensible, even when the input had a bogus value.
* jk/apply-similaritly-parsing:
builtin/apply: tighten (dis)similarity index parsing
Junio C Hamano [Fri, 8 Feb 2013 23:28:51 +0000 (15:28 -0800)]
Merge branch 'mk/tcsh-complete-only-known-paths'
The "complete with known paths only" update to completion scripts
returns directory names without trailing slash to compensate the
addition of '/' done by bash that reads from our completion result.
tcsh completion code that reads from our internal completion result
does not add '/', so let it ask our complletion code to keep the '/'
at the end.
* mk/tcsh-complete-only-known-paths:
completion: handle path completion and colon for tcsh script
Junio C Hamano [Fri, 8 Feb 2013 23:28:42 +0000 (15:28 -0800)]
Merge branch 'mp/complete-paths'
The completion script used to let the default completer to suggest
pathnames, which gave too many irrelevant choices (e.g. "git add"
would not want to add an unmodified path). Teach it to use a more
git-aware logic to enumerate only relevant ones.
* mp/complete-paths:
git-completion.bash: add support for path completion
Junio C Hamano [Fri, 8 Feb 2013 23:28:37 +0000 (15:28 -0800)]
Merge branch 'ct/autoconf-htmldir'
The autoconf subsystem passed --mandir down to generated
config.mak.autogen but forgot to do the same for --htmldir.
* ct/autoconf-htmldir:
Honor configure's htmldir switch
Asheesh Laroia [Fri, 8 Feb 2013 01:16:24 +0000 (17:16 -0800)]
git-mergetool: print filename when it contains %
If git-mergetool was invoked with files with a percent sign (%) in
their names, it would print an error. For example, if you were
calling mergetool on a file called "%2F":
printf: %2F: invalid directive
Do not pass random string to printf as if it were a valid format.
Use format string "%s" and pass the string as data to be formatted
instead.
Signed-off-by: Asheesh Laroia <asheesh@asheesh.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Ralf Thielow [Mon, 28 Jan 2013 18:24:42 +0000 (19:24 +0100)]
l10n: de.po: translate "reset" as "neu setzen"
According to the glossary, "reset" should be
translated as "neu setzen" but in a couple of
messages we've translated it as "zurücksetzen".
This fixes that.
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Ralf Thielow [Mon, 28 Jan 2013 17:24:14 +0000 (18:24 +0100)]
l10n: de.po: translate "revision" consistently as "Revision"
In the current German translation, the word "revision" was
translated as both "Version" (translation of "commit") and
"Revision". Since a revision in Git is not necessarily a
commit, we should not translate it with the same word in
order to give the user an idea that it's not necessarily
the same. After this commit, "revision" is consistently
translated as "Revision".
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Ralf Thielow [Sun, 27 Jan 2013 12:43:46 +0000 (13:43 +0100)]
l10n: de.po: translate 11 new messages
Translate 11 new messages came from git.pot update
in
46bc403 (l10n: Update git.pot (11 new, 7 removed
messages)).
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Thomas Rast <trast@inf.ethz.ch>
Matthieu Moy [Fri, 8 Feb 2013 17:31:17 +0000 (18:31 +0100)]
git-remote-mediawiki: use toplevel's Makefile
This makes the Makefile simpler, while providing more features, and more
consistency (the exact same rules with the exact same configuration as
Git official commands are applied with the new version).
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthieu Moy [Fri, 8 Feb 2013 17:31:16 +0000 (18:31 +0100)]
Makefile: make script-related rules usable from subdirectories
Git's Makefile provides a few nice features for script build and
installation (substitute the first line with the right path, hardcode the
path to Git library, ...).
The Makefile already knows how to process files outside the toplevel
directory with e.g.
make SCRIPT_PERL=path/to/file.perl path/to/file
but we can make it simpler for callers by exposing build, install and
clean rules as .PHONY targets.
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Wang Sheng [Wed, 30 Jan 2013 09:23:08 +0000 (17:23 +0800)]
l10n: zh_CN.po: 800+ new translations on command usages
Most of the 800+ new translations are contributed by Wang Sheng.
So he is a zh_CN l10n maintainer for Git now.
Also fixed translations for some terms, such as blob, dangling.
Signed-off-by: Wang Sheng <wangsheng2008love@163.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Matt Kraai [Fri, 8 Feb 2013 15:09:28 +0000 (07:09 -0800)]
Use __VA_ARGS__ for all of error's arguments
QNX 6.3.2 uses GCC 2.95.3 by default, and GCC 2.95.3 doesn't remove the
comma if the error macro's variable argument is left out.
Instead of testing for a sufficiently recent version of GCC, make
__VA_ARGS__ match all of the arguments.
Signed-off-by: Matt Kraai <matt.kraai@amo.abbott.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 7 Feb 2013 23:25:06 +0000 (15:25 -0800)]
Update draft release notes to 1.8.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 7 Feb 2013 23:21:49 +0000 (15:21 -0800)]
Sync with 1.8.1.3
Junio C Hamano [Thu, 7 Feb 2013 23:21:10 +0000 (15:21 -0800)]
Git 1.8.1.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 7 Feb 2013 23:16:04 +0000 (15:16 -0800)]
Merge branch 'mz/pick-unborn' into maint
"git cherry-pick" did not replay a root commit to an unborn branch.
* mz/pick-unborn:
learn to pick/revert into unborn branch
tests: move test_cmp_rev to test-lib-functions
Junio C Hamano [Thu, 7 Feb 2013 23:16:00 +0000 (15:16 -0800)]
Merge branch 'nd/fix-perf-parameters-in-tests' into maint
* nd/fix-perf-parameters-in-tests:
test-lib.sh: unfilter GIT_PERF_*