https://github.com/git/git

sort by:
Revision Author Date Message Commit Date
66c11f0 Git 1.7.7.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 December 2011, 05:55:31 UTC
c0eb9cc Merge branch 'ab/clang-lints' into maint-1.7.7 * ab/clang-lints: cast variable in call to free() in builtin/diff.c and submodule.c apply: get rid of useless x < 0 comparison on a size_t type 14 December 2011, 05:47:51 UTC
3b42565 Merge branch 'nd/maint-ignore-exclude' into maint-1.7.7 * nd/maint-ignore-exclude: checkout,merge: loosen overwriting untracked file check based on info/exclude 14 December 2011, 05:47:08 UTC
7857e32 Merge branch 'maint-1.7.6' into maint-1.7.7 * maint-1.7.6: Git 1.7.6.5 blame: don't overflow time buffer fetch: create status table using strbuf Conflicts: Documentation/git.txt GIT-VERSION-GEN RelNotes 14 December 2011, 05:44:56 UTC
15b7898 Git 1.7.6.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 December 2011, 05:32:30 UTC
52b195f Merge branch 'jk/maint-fetch-status-table' into maint-1.7.6 * jk/maint-fetch-status-table: fetch: create status table using strbuf 14 December 2011, 05:21:30 UTC
43176d1 Merge branch 'jc/maint-name-rev-all' into maint-1.7.6 * jc/maint-name-rev-all: name-rev --all: do not even attempt to describe non-commit object 14 December 2011, 05:12:34 UTC
6d1cdad Merge branch 'ml/mailmap' into maint-1.7.6 * ml/mailmap: mailmap: xcalloc mailmap_info Conflicts: mailmap.c 14 December 2011, 05:12:14 UTC
c3ea051 blame: don't overflow time buffer When showing the raw timestamp, we format the numeric seconds-since-epoch into a buffer, followed by the timezone string. This string has come straight from the commit object. A well-formed object should have a timezone string of only a few bytes, but we could be operating on data pushed by a malicious user. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 December 2011, 05:09:06 UTC
5914f2d fetch: create status table using strbuf When we fetch from a remote, we print a status table like: From url * [new branch] foo -> origin/foo We create this table in a static buffer using sprintf. If the remote refnames are long, they can overflow this buffer and smash the stack. Instead, let's use a strbuf to build the string. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 December 2011, 07:17:00 UTC
7919704 am: don't persist keepcr flag The keepcr flag is only used in the split_patches function, which is only called before a patch application has to stopped for user input, not after resuming. It is therefore unnecessary to persist the flag. This seems to have been the case since it was introduced in ad2c928 (git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit, 2010-02-27). Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 December 2011, 18:49:43 UTC
956d86d mingw: give waitpid the correct signature POSIX says that last parameter to waitpid should be 'int', so let's make it so. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 December 2011, 18:46:52 UTC
a8d05d7 git symbolic-ref: documentation fix The old "git symbolic-ref" manpage seemed to imply in one place that symlinks are still the default way to represent symbolic references and in another that symlinks are deprecated. Fix the text and shorten the justification for the change of implementation. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 December 2011, 19:10:12 UTC
c34ba99 Merge branch 'maint-1.7.6' into maint-1.7.7 * maint-1.7.6: stripspace: fix outdated comment Add MYMETA.yml to perl/.gitignore 05 December 2011, 23:07:49 UTC
c2857fb stripspace: fix outdated comment The comment on top of stripspace() claims that the buffer will no longer be NUL-terminated. However, this has not been the case at least since the move to using strbuf in 2007. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 December 2011, 23:04:38 UTC
332de7a Add MYMETA.yml to perl/.gitignore This file is auto-generated by newer versions of ExtUtils::MakeMaker (presumably starting with the version shipping with Perl 5.14). It just contains extra information about the environment and arguments to the Makefile-building process, and should be ignored. Signed-off-by: Sebastian Morr <sebastian@morr.cc> Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 December 2011, 22:42:40 UTC
fc001b5 checkout,merge: loosen overwriting untracked file check based on info/exclude Back in 1127148 (Loosen "working file will be lost" check in Porcelain-ish - 2006-12-04), git-checkout.sh learned to quietly overwrite ignored files. Howver the code only took .gitignore files into account. Standard ignored files include all specified in .gitignore files in working directory _and_ $GIT_DIR/info/exclude. This patch makes sure ignored files in info/exclude can also be overwritten automatically in the spirit of the original patch. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 November 2011, 18:37:50 UTC
1e501a7 documentation fix: git difftool uses diff tools, not merge tools. Let the documentation for -t list valid *diff* tools, not valid *merge* tools. Signed-off-by: Thomas Hochstein <thh@inter.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 November 2011, 17:14:34 UTC
bd5bce7 Git 1.7.7.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 November 2011, 19:28:05 UTC
c9de921 Merge branch 'jc/maint-name-rev-all' into maint * jc/maint-name-rev-all: name-rev --all: do not even attempt to describe non-commit object 18 November 2011, 19:14:16 UTC
79cfe0c Merge branch 'ml/mailmap' into maint * ml/mailmap: mailmap: xcalloc mailmap_info Conflicts: mailmap.c 18 November 2011, 19:14:00 UTC
01e0f16 Merge branch 'jn/maint-notes-avoid-va-args' into maint * jn/maint-notes-avoid-va-args: notes merge: eliminate OUTPUT macro Conflicts: notes-merge.c 18 November 2011, 19:11:50 UTC
487da9c Makefile: add missing header file dependencies When the streaming filter API was introduced in v1.7.7-rc0~60^2~7 (2011-05-20), we forgot to add its header to LIB_H. Most translation units depend on streaming.h via cache.h. v1.7.5-rc0~48 (Fix sparse warnings, 2011-03-22) introduced undeclared dependencies by url.o on url.h and thread-utils.o on thread-utils.h. Noticed by make CHECK_HEADER_DEPENDENCIES=1. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 November 2011, 18:45:33 UTC
5f9f8d1 notes merge: eliminate OUTPUT macro The macro is variadic, which breaks support for pre-C99 compilers, and it hides an "if", which can make code hard to understand on first reading if some arguments have side-effects. The OUTPUT macro seems to have been inspired by the "output" function from merge-recursive. But that function in merge-recursive exists to indent output based on the level of recursion and there is no similar justification for such a function in "notes merge". Noticed with 'make CC="gcc -std=c89 -pedantic"': notes-merge.c:24:22: warning: anonymous variadic macros were introduced in C99 [-Wvariadic-macros] Encouraged-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 November 2011, 07:35:22 UTC
74b531f mailmap: xcalloc mailmap_info This is to avoid reaching free of uninitialized members. With an invalid .mailmap (and perhaps in other cases), it can reach free(mi->name) with garbage for example. Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 17 November 2011, 02:00:56 UTC
e8b14d7 name-rev --all: do not even attempt to describe non-commit object This even dates back to the very beginning of "git name-rev"; it does not make much sense to dump all objects in the repository and label non-commits as "undefined". Signed-off-by: Junio C Hamano <gitster@pobox.com> 15 November 2011, 23:51:05 UTC
d4d5ab4 Git 1.7.7.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 09 November 2011, 00:37:00 UTC
916034b Merge branch 'jc/maint-remove-renamed-ref' into maint * jc/maint-remove-renamed-ref: branch -m/-M: remove undocumented RENAMED-REF Conflicts: refs.c 09 November 2011, 00:35:53 UTC
1a61a9d Merge branch 'jm/maint-gitweb-filter-forks-fix' into maint * jm/maint-gitweb-filter-forks-fix: gitweb: fix regression when filtering out forks 09 November 2011, 00:26:50 UTC
992499d Merge branch 'dm/pack-objects-update' into maint * dm/pack-objects-update: pack-objects: don't traverse objects unnecessarily pack-objects: rewrite add_descendants_to_write_order() iteratively pack-objects: use unsigned int for counter and offset values pack-objects: mark add_to_write_order() as inline 09 November 2011, 00:26:45 UTC
fcbebfd docs: Update install-doc-quick The preformatted documentation pages live in their own repositories these days. Adjust the installation procedure to the updated layout. Tested-by: Stefan Naewe <stefan.naewe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 November 2011, 21:37:10 UTC
939ca96 docs: don't mention --quiet or --exit-code in git-log(1) These are diff-options, but they don't actually make sense in the context of log. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 08 November 2011, 21:37:02 UTC
83838d5 cast variable in call to free() in builtin/diff.c and submodule.c Both of these free() calls are freeing a "const unsigned char (*)[20]" type while free() expects a "void *". This results in the following warning under clang 2.9: builtin/diff.c:185:7: warning: passing 'const unsigned char (*)[20]' to parameter of type 'void *' discards qualifiers free(parent); ^~~~~~ submodule.c:394:7: warning: passing 'const unsigned char (*)[20]' to parameter of type 'void *' discards qualifiers free(parents); ^~~~~~~ This free()-ing without a cast was added by Jim Meyering to builtin/diff.c in v1.7.6-rc3~4 and later by Fredrik Gustafsson in submodule.c in v1.7.7-rc1~25^2. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 November 2011, 18:43:18 UTC
473f4c9 apply: get rid of useless x < 0 comparison on a size_t type According to the C standard size_t is always unsigned, therefore the comparison "n1 < 0 || n2 < 0" when n1 and n2 are size_t will always be false. This was raised by clang 2.9 which throws this warning when compiling apply.c: builtin/apply.c:253:9: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (n1 < 0 || n2 < 0) ~~ ^ ~ builtin/apply.c:253:19: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (n1 < 0 || n2 < 0) ~~ ^ ~ This check was originally added in v1.6.5-rc0~53^2 by Giuseppe Bilotta while adding an option to git-apply to ignore whitespace differences. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 November 2011, 18:36:59 UTC
8d19b44 Git 1.7.7.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 01 November 2011, 23:41:57 UTC
60a31ec Merge branch 'rs/maint-estimate-cache-size' into maint * rs/maint-estimate-cache-size: t7511: avoid use of reserved filename on Windows. 01 November 2011, 23:41:41 UTC
ac7acaa Merge branch 'md/smtp-tls-hello-again' into maint * md/smtp-tls-hello-again: send-email: Honour SMTP domain when using TLS 01 November 2011, 23:12:19 UTC
0814d6e Merge branch 'jk/pull-rebase-with-work-tree' into maint * jk/pull-rebase-with-work-tree: pull,rebase: handle GIT_WORK_TREE better Conflicts: git-pull.sh 01 November 2011, 23:11:00 UTC
eee947f Merge branch 'jc/maint-diffstat-numstat-context' into maint * jc/maint-diffstat-numstat-context: diff: teach --stat/--numstat to honor -U$num 01 November 2011, 23:10:56 UTC
dddc411 Merge branch 'js/bisect-no-checkout' into maint * js/bisect-no-checkout: bisect: fix exiting when checkout failed in bisect_start() 01 November 2011, 23:03:35 UTC
a4fdd79 Merge branch 'bc/attr-ignore-case' into maint * bc/attr-ignore-case: attr.c: respect core.ignorecase when matching attribute patterns attr: read core.attributesfile from git_default_core_config builtin/mv.c: plug miniscule memory leak cleanup: use internal memory allocation wrapper functions everywhere attr.c: avoid inappropriate access to strbuf "buf" member Conflicts: remote.c 01 November 2011, 22:54:46 UTC
ffa4c36 Merge branch 'cn/fetch-prune' into maint * cn/fetch-prune: fetch: treat --tags like refs/tags/*:refs/tags/* when pruning fetch: honor the user-provided refspecs when pruning refs remote: separate out the remote_find_tracking logic into query_refspecs t5510: add tests for fetch --prune fetch: free all the additional refspecs 01 November 2011, 22:51:01 UTC
7fa6c90 Merge branch 'sp/smart-http-failure' into maint * sp/smart-http-failure: remote-curl: Fix warning after HTTP failure 01 November 2011, 22:45:16 UTC
5b5d92a Merge jn/maint-http-error-message * commit 'be22d92eac809ad2bfa2b7c83ad7cad5a15f1c43': http: avoid empty error messages for some curl errors http: remove extra newline in error message 01 November 2011, 22:42:25 UTC
b323c64 t7511: avoid use of reserved filename on Windows. PRN is a special filename on Windows to send data to the printer. As this is generated during test 3 substitute an alternate prefix to avoid this. Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 31 October 2011, 19:31:42 UTC
a76a326 Merge branch 'rs/maint-estimate-cache-size' into maint * rs/maint-estimate-cache-size: read-cache.c: fix index memory allocation 27 October 2011, 19:03:16 UTC
8debf69 clone: Quote user supplied path in a single quote pair Without this patch, $ git clone foo . results in this: Cloning into .... done. With it: Cloning into '.'... done. Signed-off-by: Richard Hartmann <richih.mailinglist@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 October 2011, 19:02:02 UTC
25f745f Merge branch 'jn/gitweb-highlite-sanitise' into maint * jn/gitweb-highlite-sanitise: gitweb: Strip non-printable characters from syntax highlighter output 26 October 2011, 23:13:31 UTC
60f60b4 Merge branch 'jk/argv-array' into maint * jk/argv-array: run_hook: use argv_array API checkout: use argv_array API bisect: use argv_array API quote: provide sq_dequote_to_argv_array refactor argv_array into generic code quote.h: fix bogus comment add sha1_array API docs 26 October 2011, 23:13:31 UTC
7bb07f6 Merge branch 'jc/run-receive-hook-cleanup' into maint * jc/run-receive-hook-cleanup: refactor run_receive_hook() 26 October 2011, 23:13:31 UTC
a5ad8d1 Merge branch 'cn/eradicate-working-copy' into maint * cn/eradicate-working-copy: Remove 'working copy' from the documentation and C code 26 October 2011, 23:13:31 UTC
f0911b9 Merge branch 'maint-1.7.6' into maint * maint-1.7.6: notes_merge_commit(): do not pass temporary buffer to other function gitweb: Fix links to lines in blobs when javascript-actions are enabled mergetool: no longer need to save standard input mergetool: Use args as pathspec to unmerged files t9159-*.sh: skip for mergeinfo test for svn <= 1.4 date.c: Support iso8601 timezone formats remote: only update remote-tracking branch if updating refspec remote rename: warn when refspec was not updated remote: "rename o foo" should not rename ref "origin/bar" remote: write correct fetch spec when renaming remote 'remote' 26 October 2011, 23:13:27 UTC
8280baf Merge branch 'mh/maint-notes-merge-pathbuf-fix' into maint-1.7.6 * mh/maint-notes-merge-pathbuf-fix: notes_merge_commit(): do not pass temporary buffer to other function 26 October 2011, 23:12:48 UTC
58f75bc Merge branch 'ps/gitweb-js-with-lineno' into maint-1.7.6 * ps/gitweb-js-with-lineno: gitweb: Fix links to lines in blobs when javascript-actions are enabled 26 October 2011, 23:12:35 UTC
87d99c6 Merge branch 'jm/mergetool-pathspec' into maint-1.7.6 * jm/mergetool-pathspec: mergetool: no longer need to save standard input mergetool: Use args as pathspec to unmerged files 26 October 2011, 23:12:25 UTC
716b64a Merge branch 'mz/remote-rename' into maint-1.7.6 * mz/remote-rename: remote: only update remote-tracking branch if updating refspec remote rename: warn when refspec was not updated remote: "rename o foo" should not rename ref "origin/bar" remote: write correct fetch spec when renaming remote 'remote' 26 October 2011, 23:12:19 UTC
8371e91 Merge branch 'rj/maint-t9159-svn-rev-notation' into maint-1.7.6 * rj/maint-t9159-svn-rev-notation: t9159-*.sh: skip for mergeinfo test for svn <= 1.4 26 October 2011, 23:12:13 UTC
1f7a2ab Merge branch 'hl/iso8601-more-zone-formats' into maint-1.7.6 * hl/iso8601-more-zone-formats: date.c: Support iso8601 timezone formats 26 October 2011, 23:11:28 UTC
411e6cf Merge branch 'maint-1.7.6' into maint * maint-1.7.6: make the sample pre-commit hook script reject names with newlines, too git-read-tree.txt: update sparse checkout examples git-read-tree.txt: correct sparse-checkout and skip-worktree description git-read-tree.txt: language and typography fixes unpack-trees: print "Aborting" to stderr Documentation/git-update-index: refer to 'ls-files' Documentation: basic configuration of notes.rewriteRef 26 October 2011, 23:09:28 UTC
588150b Merge branch 'tr/doc-note-rewrite' into maint-1.7.6 * tr/doc-note-rewrite: Documentation: basic configuration of notes.rewriteRef 26 October 2011, 23:09:04 UTC
139088b Merge branch 'nd/sparse-doc' into maint-1.7.6 * nd/sparse-doc: git-read-tree.txt: update sparse checkout examples 26 October 2011, 23:09:04 UTC
df9701e Merge branch 'mg/maint-doc-sparse-checkout' into maint-1.7.6 * mg/maint-doc-sparse-checkout: git-read-tree.txt: correct sparse-checkout and skip-worktree description git-read-tree.txt: language and typography fixes unpack-trees: print "Aborting" to stderr 26 October 2011, 23:09:03 UTC
a574c04 Merge branch 'maint-1.7.5' into maint-1.7.6 * maint-1.7.5: make the sample pre-commit hook script reject names with newlines, too Reindent closing bracket using tab instead of spaces Documentation/git-update-index: refer to 'ls-files' 26 October 2011, 23:08:19 UTC
69d61da Merge branch 'maint-1.7.4' into maint-1.7.5 * maint-1.7.4: make the sample pre-commit hook script reject names with newlines, too Reindent closing bracket using tab instead of spaces Documentation/git-update-index: refer to 'ls-files' 26 October 2011, 23:08:14 UTC
ed36a48 Merge branch 'maint-1.7.3' into maint-1.7.4 * maint-1.7.3: make the sample pre-commit hook script reject names with newlines, too Reindent closing bracket using tab instead of spaces Documentation/git-update-index: refer to 'ls-files' 26 October 2011, 23:08:08 UTC
eb4e672 Merge branch 'sn/doc-update-index-assume-unchanged' into maint-1.7.3 * sn/doc-update-index-assume-unchanged: Documentation/git-update-index: refer to 'ls-files' 26 October 2011, 23:08:00 UTC
8f41c07 read-cache.c: fix index memory allocation estimate_cache_size() tries to guess how much memory is needed for the in-memory representation of an index file. It does that by using the file size, the number of entries and the difference of the sizes of the on-disk and in-memory structs -- without having to check the length of the name of each entry, which varies for each entry, but their sums are the same no matter the representation. Except there can be a difference. First of all, the size is really calculated by ce_size and ondisk_ce_size based on offsetof(..., name), not sizeof, which can be different. And entries are padded with 1 to 8 NULs at the end (after the variable name) to make their total length a multiple of eight. So in order to allocate enough memory to hold the index, change the delta calculation to be based on offsetof(..., name) and round up to the next multiple of eight. On a 32-bit Linux, this delta was used before: sizeof(struct cache_entry) == 72 sizeof(struct ondisk_cache_entry) == 64 --- 8 The actual difference for an entry with a filename length of one was, however (find the definitions are in cache.h): offsetof(struct cache_entry, name) == 72 offsetof(struct ondisk_cache_entry, name) == 62 ce_size == (72 + 1 + 8) & ~7 == 80 ondisk_ce_size == (62 + 1 + 8) & ~7 == 64 --- 16 So eight bytes less had been allocated for such entries. The new formula yields the correct delta: (72 - 62 + 7) & ~7 == 16 Reported-by: John Hsing <tsyj2007@gmail.com> Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 October 2011, 21:35:16 UTC
c14daa4 make the sample pre-commit hook script reject names with newlines, too The sample pre-commit hook script would fail to reject a file name like "a\nb" because of the way newlines are handled in "$(...)". Adjust the test to count filtered bytes and require there be 0. Also print all diagnostics to standard error, not stdout, so they will actually be seen. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 October 2011, 21:31:14 UTC
982d1dc Merge branch 'maint-1.7.3' into maint * maint-1.7.3: Reindent closing bracket using tab instead of spaces 24 October 2011, 06:55:22 UTC
c4c42f2 Reindent closing bracket using tab instead of spaces Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 October 2011, 06:54:58 UTC
f7d958d Git 1.7.7.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 October 2011, 04:48:06 UTC
7fe74f5 RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting The change was actually about "git init -s" which sets the setgid bit on SysV-style systems to allow shared access to a repository, and can provoke errors on BSD-style systems, depending on how permissive the filesystem in use wants to be. More to the point, the patch was just taking a fix that arrived for FreeBSD in v1.5.5 days and making it also apply to machines using an (obscure) GNU userland/FreeBSD kernel mixture. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 24 October 2011, 04:16:31 UTC
53c632f gitweb: fix regression when filtering out forks This fixes a condition in filter_forks_from_projects_list that failed if process directory was different from project root: in such case, the subroutine was a no-op and forks were not detected. Signed-off-by: Julien Muchembled <jm@jmuchemb.eu> Tested-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2011, 21:46:38 UTC
8742218 Almost ready for 1.7.7.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2011, 18:01:07 UTC
d25a265 Merge branch 'nd/maint-autofix-tag-in-head' into maint * nd/maint-autofix-tag-in-head: Accept tags in HEAD or MERGE_HEAD merge: remove global variable head[] merge: use return value of resolve_ref() to determine if HEAD is invalid merge: keep stash[] a local variable Conflicts: builtin/merge.c 21 October 2011, 17:49:26 UTC
e63f87a Merge branch 'jc/apply-blank-at-eof-fix' into maint * jc/apply-blank-at-eof-fix: apply --whitespace=error: correctly report new blank lines at end 21 October 2011, 17:49:26 UTC
6e89b37 Merge branch 'jn/no-g-plus-s-on-bsd' into maint * jn/no-g-plus-s-on-bsd: Makefile: do not set setgid bit on directories on GNU/kFreeBSD 21 October 2011, 17:49:25 UTC
713b85c Merge branch 'rs/diff-cleanup-records-fix' into maint * rs/diff-cleanup-records-fix: diff: resurrect XDF_NEED_MINIMAL with --minimal Revert removal of multi-match discard heuristic in 27af01 21 October 2011, 17:49:25 UTC
689b047 Merge branch 'il/archive-err-signal' into maint * il/archive-err-signal: Support ERR in remote archive like in fetch/push 21 October 2011, 17:49:25 UTC
c510259 Merge branch 'js/maint-merge-one-file-osx-expr' into maint * js/maint-merge-one-file-osx-expr: merge-one-file: fix "expr: non-numeric argument" 21 October 2011, 17:49:25 UTC
cec3e18 Merge branch 'jm/maint-apply-detects-corrupt-patch-header' into maint * jm/maint-apply-detects-corrupt-patch-header: fix "git apply --index ..." not to deref NULL 21 October 2011, 17:49:24 UTC
df68408 Merge branch 'jc/checkout-from-tree-keep-local-changes' into maint * jc/checkout-from-tree-keep-local-changes: checkout $tree $path: do not clobber local changes in $path not in $tree 21 October 2011, 17:49:24 UTC
634b29d Merge branch 'mm/maint-config-explicit-bool-display' into maint * mm/maint-config-explicit-bool-display: config: display key_delim for config --bool --get-regexp 21 October 2011, 17:49:24 UTC
38d4deb pack-objects: don't traverse objects unnecessarily This brings back some of the performance lost in optimizing recency order inside pack objects. We were doing extreme amounts of object re-traversal: for the 2.14 million objects in the Linux kernel repository, we were calling add_to_write_order() over 1.03 billion times (a 0.2% hit rate, making 99.8% of of these calls extraneous). Two optimizations take place here- we can start our objects array iteration from a known point where we left off before we started trying to find our tags, and we don't need to do the deep dives required by add_family_to_write_order() if the object has already been marked as filled. These two optimizations bring some pretty spectacular results via `perf stat`: task-clock: 83373 ms --> 43800 ms (50% faster) cycles: 221,633,461,676 --> 116,307,209,986 (47% fewer) instructions: 149,299,179,939 --> 122,998,800,184 (18% fewer) Helped-by: Ramsay Jones (format string fix in "die" message) Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 21 October 2011, 00:17:49 UTC
1844f8d strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline() This use of strbuf_grow() is a historical artifact that was once used to ensure that strbuf.buf was allocated and properly nul-terminated. This was added before the introduction of the slopbuf in b315c5c0, which guarantees that strbuf.buf always points to a usable nul-terminated string. So let's remove it. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2011, 20:28:17 UTC
f380872 pack-objects: rewrite add_descendants_to_write_order() iteratively This removes the need to call this function recursively, shinking the code size slightly and netting a small performance increase. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2011, 07:16:32 UTC
92bef1a pack-objects: use unsigned int for counter and offset values This is done in some of the new pack layout code introduced in commit 1b4bb16b9ec331c. This more closely matches the nr_objects global that is unsigned that these variables are based off of and bounded by. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2011, 07:16:32 UTC
be12681 pack-objects: mark add_to_write_order() as inline This function is a whole 26 bytes when compiled on x86_64, but is currently invoked over 1.037 billion times when running pack-objects on the Linux kernel git repository. This is hitting the point where micro-optimizations do make a difference, and inlining it only increases the object file size by 38 bytes. As reported by perf, this dropped task-clock from 84183 to 83373 ms, and total cycles from 223.5 billion to 221.6 billion. Not astronomical, but worth getting for adding one word. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 18 October 2011, 07:16:31 UTC
e8c1e6c fetch: treat --tags like refs/tags/*:refs/tags/* when pruning If --tags is specified, add that refspec to the list given to prune_refs so it knows to treat it as a filter on what refs to should consider for prunning. This way git fetch --prune --tags origin only prunes tags and doesn't delete the branch refs. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 October 2011, 05:00:37 UTC
ed43de6 fetch: honor the user-provided refspecs when pruning refs If the user gave us refspecs on the command line, we should use those when deciding whether to prune a ref instead of relying on the refspecs in the config. Previously, running git fetch --prune origin refs/heads/master:refs/remotes/origin/master would delete every other ref under the origin namespace because we were using the refspec to filter the available refs but using the configured refspec to figure out if a ref had been deleted on the remote. This is clearly the wrong thing to do. Change prune_refs and get_stale_heads to simply accept a list of references and a list of refspecs. The caller of either function needs to decide what refspecs should be used to decide whether a ref is stale. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 October 2011, 04:56:13 UTC
c500352 remote: separate out the remote_find_tracking logic into query_refspecs Move the body of remote_find_tracking() to a new helper query_refspecs() that finds a refspec that matches and applies the transformation, but explicitly takes the list of refspecs, and make remote_find_tracking() a thin wrapper of it. Make apply_refspecs() also use query_refspecs(). Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 October 2011, 04:55:05 UTC
16b3b2d Prepare for 1.7.7.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 October 2011, 03:55:12 UTC
f5fcb59 Merge branch 'ms/patch-id-with-overlong-line' into maint * ms/patch-id-with-overlong-line: patch-id.c: use strbuf instead of a fixed buffer 16 October 2011, 03:46:39 UTC
6323a14 Merge branch 'jc/maint-bundle-too-quiet' into maint * jc/maint-bundle-too-quiet: Teach progress eye-candy to fetch_refs_from_bundle() 16 October 2011, 03:46:39 UTC
3197bd8 Merge branch 'jk/filter-branch-require-clean-work-tree' into maint * jk/filter-branch-require-clean-work-tree: filter-branch: use require_clean_work_tree 16 October 2011, 03:46:38 UTC
d7b7dd3 Merge branch 'jc/maint-fsck-fwrite-size-check' into maint * jc/maint-fsck-fwrite-size-check: fsck: do not abort upon finding an empty blob 16 October 2011, 03:46:38 UTC
a151c28 Merge branch 'bk/ancestry-path' into maint * bk/ancestry-path: t6019: avoid refname collision on case-insensitive systems revision: do not include sibling history in --ancestry-path output revision: keep track of the end-user input from the command line rev-list: Demonstrate breakage with --ancestry-path --all 16 October 2011, 03:46:38 UTC
e2d0a2e Merge branch 'jk/maint-fetch-submodule-check-fix' into maint * jk/maint-fetch-submodule-check-fix: fetch: avoid quadratic loop checking for updated submodules 16 October 2011, 03:46:38 UTC
8f85829 Merge branch 'tr/mergetool-valgrind' into maint * tr/mergetool-valgrind: Symlink mergetools scriptlets into valgrind wrappers 16 October 2011, 03:46:37 UTC
7c4f050 Merge branch 'nm/grep-object-sha1-lock' into maint * nm/grep-object-sha1-lock: grep: Fix race condition in delta_base_cache Conflicts: builtin/grep.c 16 October 2011, 03:46:37 UTC
back to top