summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-22Merge branch 'svn-fe' of git://repo.or.cz/git/jrnLibravatar Junio C Hamano8-172/+265
* 'svn-fe' of git://repo.or.cz/git/jrn: vcs-svn: use strchr to find RFC822 delimiter vcs-svn: implement perfect hash for top-level keys vcs-svn: implement perfect hash for node-prop keys vcs-svn: use strbuf for author, UUID, and URL vcs-svn: use strbuf for revision log vcs-svn: improve reporting of input errors vcs-svn: make buffer_copy_bytes return length read vcs-svn: make buffer_skip_bytes return length read vcs-svn: improve support for reading large files vcs-svn: allow input errors to be detected promptly vcs-svn: simplify repo_modify_path and repo_copy vcs-svn: handle_node: use repo_read_path vcs-svn: introduce repo_read_path to check the content at a path
2011-03-22Merge branch 'db/length-as-hash' into svn-feLibravatar Jonathan Nieder1-69/+105
* db/length-as-hash: vcs-svn: use strchr to find RFC822 delimiter vcs-svn: implement perfect hash for top-level keys vcs-svn: implement perfect hash for node-prop keys Conflicts: vcs-svn/svndump.c
2011-03-22vcs-svn: use strchr to find RFC822 delimiterLibravatar David Barr1-2/+5
This is a small optimisation (4% reduction in user time) but is the largest artifact within the parsing portion of svndump.c Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: implement perfect hash for top-level keysLibravatar David Barr1-50/+59
Instead of interning property names and comparing their string_pool keys, look them up in a table by string length, which should be about as fast. Another small step towards removing dependence on string_pool altogether. Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: implement perfect hash for node-prop keysLibravatar David Barr1-19/+43
Instead of interning property names and comparing their string_pool keys, look them up in a table by string length, which should be about as fast. This is a small step towards removing dependence on string_pool. Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: use strbuf for author, UUID, and URLLibravatar David Barr5-30/+43
Use strbufs and strings instead of interned strings for values of rev, dump, and node fields that happen to be strings. After this change, the only remaining string_pool use is for paths in the repo_tree API and internals. Functional change: treat an empty author, UUID, or URL as none at all. So for example, in repos where the first revision has an empty svn:author property, the first rev will be treated as by "nobody" rather than by a person with empty name and email address created by prepending an @ sign to the repository UUID. Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22Merge branch 'maint'Libravatar Junio C Hamano2-7/+9
* maint: git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply' bisect: visualize with git-log if gitk is unavailable
2011-03-22vcs-svn: use strbuf for revision logLibravatar David Barr1-20/+8
obj_pool is overkill for this application: all that is needed is a buffer that can resize from rev to rev to accomodate differently-sized strings. In the spirit of commit deadcef4 (2010-11-06), use a strbuf instead. This is a small step towards removing dependence on obj_pool.h. Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: improve reporting of input errorsLibravatar Jonathan Nieder2-5/+37
Catch input errors and exit early enough to print a reasonable diagnosis based on errno. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: make buffer_copy_bytes return length readLibravatar Jonathan Nieder2-10/+11
Currently buffer_copy_bytes does not report to its caller whether it encountered an early end of file. Add a return value representing the number of bytes read (but not the number of bytes copied). This way all three unusual conditions can be distinguished: input error with buffer_ferror, output error with ferror(outfile), early end of input by checking the return value. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: make buffer_skip_bytes return length readLibravatar Jonathan Nieder3-8/+10
Currently there is no way to detect when input ended if it ended early during buffer_skip_bytes. Tell the calling program how many bytes were actually skipped for easier debugging. Existing callers will still ignore early EOF. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22vcs-svn: improve support for reading large filesLibravatar Jonathan Nieder2-4/+4
Move from uint32_t to off_t as the fundamental unit of length used by the line_buffer library. Performance would get worse if anything but I think it's worth it for support of deltas that need to skip large pieces (> 4 GiB). Exception: buffer_read_string still takes a uint32_t, since it keeps its result in an in-core obj_pool. Callers still have to be updated to take advantage of this. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: David Barr <david.barr@cordelta.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
2011-03-22git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply'Libravatar SZEDER Gábor1-3/+3
'git am --abort' is around for quite a long time now, and users should normally not poke around inside the .git directory, yet the documentation of 'git am' still recommends the following: ... if you decide to start over from scratch, run `rm -f -r .git/rebase-apply` ... Suggest 'git am --abort' instead. It's not quite the same as the original, because 'git am --abort' will restore the original branch, while simply removing '.git/rebase-apply' won't, but that's rather a thinko in the original wording, because that won't actually "start over _from scratch_". Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-22Fix sparse warningsLibravatar Stephen Boyd35-48/+43
Fix warnings from 'make check'. - These files don't include 'builtin.h' causing sparse to complain that cmd_* isn't declared: builtin/clone.c:364, builtin/fetch-pack.c:797, builtin/fmt-merge-msg.c:34, builtin/hash-object.c:78, builtin/merge-index.c:69, builtin/merge-recursive.c:22 builtin/merge-tree.c:341, builtin/mktag.c:156, builtin/notes.c:426 builtin/notes.c:822, builtin/pack-redundant.c:596, builtin/pack-refs.c:10, builtin/patch-id.c:60, builtin/patch-id.c:149, builtin/remote.c:1512, builtin/remote-ext.c:240, builtin/remote-fd.c:53, builtin/reset.c:236, builtin/send-pack.c:384, builtin/unpack-file.c:25, builtin/var.c:75 - These files have symbols which should be marked static since they're only file scope: submodule.c:12, diff.c:631, replace_object.c:92, submodule.c:13, submodule.c:14, trace.c:78, transport.c:195, transport-helper.c:79, unpack-trees.c:19, url.c:3, url.c:18, url.c:104, url.c:117, url.c:123, url.c:129, url.c:136, thread-utils.c:21, thread-utils.c:48 - These files redeclare symbols to be different types: builtin/index-pack.c:210, parse-options.c:564, parse-options.c:571, usage.c:49, usage.c:58, usage.c:63, usage.c:72 - These files use a literal integer 0 when they really should use a NULL pointer: daemon.c:663, fast-import.c:2942, imap-send.c:1072, notes-merge.c:362 While we're in the area, clean up some unused #includes in builtin files (mostly exec_cmd.h). Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-21bisect: visualize with git-log if gitk is unavailableLibravatar Jeff King1-4/+6
If gitk is not available in the PATH, bisect ends up exiting with the shell's 127 error code, confusing the git wrapper into thinking that bisect is not a git command. We already fallback to git-log if there doesn't seem to be a graphical display available. We should do the same if gitk is not available in our PATH at all. This not only fixes the ugly error message, but is a much more sensible default than failing to show the user anything. Reported by Maxin John. Tested-by: Maxin B. John <maxin@maxinbjohn.info> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-20Update drart release notes to 1.7.5Libravatar Junio C Hamano1-10/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-20Merge branch 'maint'Libravatar Junio C Hamano3-1/+18
* maint: Update draft release notes to 1.7.4.2 Work around broken ln on solaris as used in t8006 t/README: Add a note about running commands under valgrind
2011-03-20Update draft release notes to 1.7.4.2Libravatar Junio C Hamano1-0/+9
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-20Merge branch 'sp/maint-fd-limit' into maintLibravatar Junio C Hamano4-19/+85
* sp/maint-fd-limit: sha1_file.c: Don't retain open fds on small packs mingw: add minimum getrlimit() compatibility stub Limit file descriptors used by packs
2011-03-20Merge branch 'mr/hpux' into maintLibravatar Junio C Hamano2-1/+5
* mr/hpux: git-compat-util.h: Honor HP C's noreturn attribute Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section
2011-03-20Merge branch 'so/submodule-no-update-first-time' into maintLibravatar Junio C Hamano2-0/+61
* so/submodule-no-update-first-time: t7406: "git submodule update {--merge|--rebase]" with new submodules submodule: no [--merge|--rebase] when newly cloned
2011-03-20Merge branch 'mo/perl-bidi-pipe-envfix' into maintLibravatar Junio C Hamano2-5/+30
* mo/perl-bidi-pipe-envfix: perl: command_bidi_pipe() method should set-up git environmens
2011-03-20Merge branch 'ae/better-template-failure-report' into maintLibravatar Junio C Hamano4-4/+56
* ae/better-template-failure-report: Improve error messages when temporary file creation fails
2011-03-20Work around broken ln on solaris as used in t8006Libravatar Ben Walton1-1/+2
The test setup in t8006-blame-textconv.sh uses "ln -sf" to overwrite an existing symlink. Unfortunately, both /usr/bin/ln and /usr/xpg4/bin/ln on solaris 9 don't properly handle -f and -s used at the same time. This caused the test setup and subsequent checks to fail. Instead, remove the symlink and then create a new one in the setup code. The upstream Solaris bug (fixed in 10, but not 9) is documented here: http://bugs.opensolaris.org/view_bug.do?bug_id=4372462 Signed-off-by: Ben Walton <bwalton@artsci.utoronto.ca> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-20t/README: Add a note about running commands under valgrindLibravatar Carlos Martín Nieto1-0/+7
The test suite runs valgrind with certain options activated. Add a note saying how to run commands under the same conditions as the test suite does. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-19Merge branch 'mm/maint-log-n-with-diff-filtering'Libravatar Junio C Hamano5-1/+26
* mm/maint-log-n-with-diff-filtering: log: fix --max-count when used together with -S or -G
2011-03-19Merge branch 'mg/rev-list-n-reverse-doc'Libravatar Junio C Hamano2-161/+163
* mg/rev-list-n-reverse-doc: git-log.txt,rev-list-options.txt: put option blocks in proper order git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting
2011-03-19Merge branch 'js/rerere-forget-always-take-pathspec'Libravatar Junio C Hamano2-4/+7
* js/rerere-forget-always-take-pathspec: rerere forget: deprecate invocation without pathspec
2011-03-19Merge branch 'ab/i18n-basic'Libravatar Junio C Hamano6-0/+93
* ab/i18n-basic: i18n: "make distclean" should clean up after "make pot" i18n: Makefile: "pot" target to extract messages marked for translation i18n: add stub Q_() wrapper for ngettext i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set i18n: add GETTEXT_POISON to simulate unfriendly translator i18n: add no-op _() and N_() wrappers commit, status: use status_printf{,_ln,_more} helpers commit: refer to commit template as s->fp wt-status: add helpers for printing wt-status lines Conflicts: builtin/commit.c
2011-03-19Merge branch 'uk/ls-remote-in-get-remote-url'Libravatar Junio C Hamano3-52/+12
* uk/ls-remote-in-get-remote-url: git-request-pull: open-code the only invocation of get_remote_url get_remote_url(): use the same data source as ls-remote to get remote urls
2011-03-19Merge branch 'ss/mergetool--lib'Libravatar Junio C Hamano5-113/+130
* ss/mergetool--lib: mergetool--lib: Add Beyond Compare 3 as a tool mergetool--lib: Sort tools alphabetically for easier lookup
2011-03-19Merge branch 'jn/status-translatable'Libravatar Junio C Hamano5-72/+166
* jn/status-translatable: commit, status: use status_printf{,_ln,_more} helpers commit: refer to commit template as s->fp wt-status: add helpers for printing wt-status lines Conflicts: builtin/commit.c
2011-03-19Merge branch 'jk/trace-sifter'Libravatar Junio C Hamano10-24/+121
* jk/trace-sifter: trace: give repo_setup trace its own key add packet tracing debug code trace: add trace_strbuf trace: factor out "do we want to trace" logic trace: refactor to support multiple env variables trace: add trace_vprintf
2011-03-19Merge branch 'jk/format-patch-multiline-header'Libravatar Junio C Hamano4-10/+121
* jk/format-patch-multiline-header: format-patch: rfc2047-encode newlines in headers format-patch: wrap long header lines strbuf: add fixed-length version of add_wrapped_text
2011-03-19Merge branch 'jk/merge-rename-ux'Libravatar Junio C Hamano9-10/+49
* jk/merge-rename-ux: pull: propagate --progress to merge merge: enable progress reporting for rename detection add inexact rename detection progress infrastructure commit: stop setting rename limit bump rename limit defaults (again) merge: improve inexact rename limit warning
2011-03-19Merge branch 'maint'Libravatar Junio C Hamano2-4/+8
* maint: gitweb: Always call parse_date with timezone parameter bisect: explain the rationale behind 125
2011-03-19grep: read patterns from stdin with -f -Libravatar René Scharfe2-2/+9
Support the well-know convention of reading standard input instead of a named file if "-" (dash) is specified. GNU grep does the same. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-19gitweb: Always call parse_date with timezone parameterLibravatar Jakub Narebski1-3/+2
Timezone is required to correctly set local time, which would be needed for future 'localtime' feature. While at it, remove unnecessary call to the function from git_log_body, as its return value is not used anywhere. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-19bisect: explain the rationale behind 125Libravatar Junio C Hamano1-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-18Merge branch 'maint'Libravatar Junio C Hamano1-5/+5
* maint: docs: fix grammar in gitattributes.txt
2011-03-18docs: fix grammar in gitattributes.txtLibravatar Alexei Sholik1-5/+5
[jc: with a fixlet from Marc Branchaud] Signed-off-by: Alexei Sholik <alcosholik@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-17Name make_*_path functions more accuratelyLibravatar Carlos Martín Nieto14-38/+52
Rename the make_*_path functions so it's clearer what they do, in particlar make clear what the differnce between make_absolute_path and make_nonrelative_path is by renaming them real_path and absolute_path respectively. make_relative_path has an understandable name and is renamed to relative_path to maintain the name convention. The function calls have been replaced 1-to-1 in their usage. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-16RelNotes/1.7.5.txt: typo and language fixesLibravatar Michael J Gruber1-22/+9
Also remove entries for fixes that are already present in the maintenance track. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-16Merge branch 'maint'Libravatar Junio C Hamano27-178/+215
* maint: Prepare draft release notes to 1.7.4.2 gitweb: highlight: replace tabs with spaces make_absolute_path: return the input path if it points to our buffer valgrind: ignore SSE-based strlen invalid reads diff --submodule: split into bite-sized pieces cherry: split off function to print output lines branch: split off function that writes tracking info and commit subject standardize brace placement in struct definitions compat: make gcc bswap an inline function enums: omit trailing comma for portability Conflicts: RelNotes
2011-03-16Prepare draft release notes to 1.7.4.2Libravatar Junio C Hamano2-1/+43
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-03-16Merge branch 'jn/maint-commit-missing-template' into maintLibravatar Junio C Hamano2-4/+12
* jn/maint-commit-missing-template: commit: error out for missing commit message template
2011-03-16Merge branch 'lt/rename-no-extra-copy-detection' into maintLibravatar Junio C Hamano9-45/+46
* lt/rename-no-extra-copy-detection: diffcore-rename: improve estimate_similarity() heuristics diffcore-rename: properly honor the difference between -M and -C for_each_hash: allow passing a 'void *data' pointer to callback
2011-03-16Merge branch 'jk/diffstat-binary' into maintLibravatar Junio C Hamano2-10/+28
* jk/diffstat-binary: diff: don't retrieve binary blobs for diffstat diff: handle diffstat of rewritten binary files
2011-03-16Merge branch 'mg/maint-difftool-vim-readonly' into maintLibravatar Junio C Hamano1-2/+2
* mg/maint-difftool-vim-readonly: mergetool-lib: call vim in readonly mode for diffs
2011-03-16Merge branch 'jn/test-terminal-punt-on-osx-breakage' into maintLibravatar Junio C Hamano1-3/+19
* jn/test-terminal-punt-on-osx-breakage: tests: skip terminal output tests on OS X