summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-02-17Merge branch 'jk/read-commit-buffer-data-after-free'Libravatar Junio C Hamano2-7/+78
"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
2013-02-15Update draft release notes to 1.8.2Libravatar Junio C Hamano1-0/+12
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-14Merge branch 'wk/man-deny-current-branch-is-default-these-days'Libravatar Junio C Hamano1-3/+4
* wk/man-deny-current-branch-is-default-these-days: user-manual: Update for receive.denyCurrentBranch=refuse
2013-02-14Merge branch 'mk/make-rm-depdirs-could-be-empty'Libravatar Junio C Hamano1-2/+1
"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
2013-02-14Merge branch 'mm/config-local-completion'Libravatar Junio C Hamano1-2/+2
* mm/config-local-completion: completion: support 'git config --local'
2013-02-14Merge branch 'ef/non-ascii-parse-options-error-diag'Libravatar Junio C Hamano1-1/+4
* ef/non-ascii-parse-options-error-diag: parse-options: report uncorrupted multi-byte options
2013-02-14Merge branch 'mk/old-expat'Libravatar Junio C Hamano3-0/+11
* mk/old-expat: Allow building with xmlparse.h
2013-02-14Merge branch 'da/p4merge-mktemp-fix'Libravatar Junio C Hamano1-1/+1
* da/p4merge-mktemp-fix: p4merge: fix printf usage
2013-02-14Documentation/git-add: kill remaining <filepattern>Libravatar Junio C Hamano1-1/+1
The merge at 5bf72ed2 missed another instance of <filepattern> that we were converting to <pathspec>. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-14user-manual: Update for receive.denyCurrentBranch=refuseLibravatar W. Trevor King1-3/+4
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>
2013-02-14Update draft release notes to 1.8.2Libravatar Junio C Hamano1-0/+9
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-14Merge branch 'jk/diff-graph-cleanup'Libravatar Junio C Hamano4-114/+79
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
2013-02-14Merge branch 'nd/status-show-in-progress'Libravatar Junio C Hamano3-41/+142
* nd/status-show-in-progress: status: show the branch name if possible in in-progress info
2013-02-14Merge branch 'mm/remote-mediawiki-build'Libravatar Junio C Hamano4-43/+43
* mm/remote-mediawiki-build: git-remote-mediawiki: use toplevel's Makefile Makefile: make script-related rules usable from subdirectories
2013-02-14Merge branch 'bw/get-tz-offset-perl'Libravatar Junio C Hamano4-13/+35
* 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
2013-02-14Merge branch 'al/mergetool-printf-fix'Libravatar Junio C Hamano2-2/+2
* al/mergetool-printf-fix: difftool--helper: fix printf usage git-mergetool: print filename when it contains %
2013-02-14Merge branch 'jk/error-const-return'Libravatar Junio C Hamano1-5/+5
* jk/error-const-return: Use __VA_ARGS__ for all of error's arguments
2013-02-14Merge branch 'jx/utf8-printf-width'Libravatar Junio C Hamano3-2/+25
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
2013-02-14Merge branch 'mg/bisect-doc'Libravatar Junio C Hamano1-1/+6
* mg/bisect-doc: git-bisect.txt: clarify that reset quits bisect
2013-02-14Merge branch 'tz/perl-styles'Libravatar Junio C Hamano1-0/+42
Add coding guidelines for writing Perl scripts for Git. * tz/perl-styles: Update CodingGuidelines for Perl
2013-02-14Merge branch 'jc/extended-fake-ancestor-for-gitlink'Libravatar Junio C Hamano1-2/+38
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
2013-02-14Merge branch 'dg/subtree-fixes'Libravatar Junio C Hamano4-66/+40
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
2013-02-13Makefile: don't run "rm" without any filesLibravatar Matt Kraai1-2/+1
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>
2013-02-12Merge branch 'maint'Libravatar Junio C Hamano3-8/+8
* maint: Replace filepattern with pathspec for consistency
2013-02-12combine-diff.c: teach combined diffs about line prefixLibravatar John Keeping1-17/+30
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>
2013-02-12diff.c: use diff_line_prefix() where applicableLibravatar John Keeping1-95/+20
Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-12diff: add diff_line_prefix functionLibravatar John Keeping2-0/+13
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>
2013-02-12diff.c: make constant string arguments constLibravatar John Keeping1-2/+4
Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-12diff: write prefix to the correct fileLibravatar John Keeping1-1/+1
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>
2013-02-12completion: support 'git config --local'Libravatar Matthieu Moy1-2/+2
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>
2013-02-12Replace filepattern with pathspec for consistencyLibravatar Matthieu Moy3-8/+8
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>
2013-02-11parse-options: report uncorrupted multi-byte optionsLibravatar Erik Faye-Lund1-1/+4
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>
2013-02-11Allow building with xmlparse.hLibravatar Matt Kraai3-0/+11
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>
2013-02-11log: re-encode commit messages before greppingLibravatar Jeff King2-7/+78
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>
2013-02-11Add utf8_fprintf helper that returns correct number of columnsLibravatar Jiang Xin3-2/+25
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>
2013-02-11git-bisect.txt: clarify that reset quits bisectLibravatar Michael J Gruber1-1/+6
"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>
2013-02-10Update draft release notes to 1.8.2Libravatar Junio C Hamano1-0/+25
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-02-10Merge branch 'maint'Libravatar Junio C Hamano1-16/+10
* 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
2013-02-10user-manual: Rewrite git-gc section for automatic packingLibravatar W. Trevor King1-12/+6
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>
2013-02-10user-manual: Fix 'you - Git' -> 'you--Git' typoLibravatar W. Trevor King1-1/+1
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>
2013-02-10user-manual: Fix 'http' -> 'HTTP' typosLibravatar W. Trevor King1-3/+3
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>
2013-02-10Merge branch 'sp/smart-http-content-type-check'Libravatar Junio C Hamano8-17/+59
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
2013-02-10user-manual: Fix 'both: so' -> 'both; so' typoLibravatar W. Trevor King1-1/+1
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>
2013-02-10p4merge: fix printf usageLibravatar David Aguilar1-1/+1
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>
2013-02-10difftool--helper: fix printf usageLibravatar David Aguilar1-1/+1
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>
2013-02-09cvsimport: format commit timestamp ourselves without using strftimeLibravatar Ben Walton1-1/+4
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>
2013-02-09perl/Git.pm: fix get_tz_offset to properly handle DST boundary casesLibravatar Ben Walton1-3/+3
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>
2013-02-09Move Git::SVN::get_tz to Git::get_tz_offsetLibravatar Ben Walton3-12/+31
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>
2013-02-09Merge branch 'master' of git://github.com/git-l10n/git-poLibravatar Junio C Hamano6-4559/+4728
* '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
2013-02-08Merge branch 'jc/combine-diff-many-parents'Libravatar Junio C Hamano2-14/+31
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