swh:1:snp:bb8853bfef8fcf2b1d37fd6404912c7606c98e48

sort by:
Revision Author Date Message Commit Date
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
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
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
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
fc26f57 Merge branch 'jc/diff-index-unpack' into maint * jc/diff-index-unpack: diff-index: pass pathspec down to unpack-trees machinery unpack-trees: allow pruning with pathspec traverse_trees(): allow pruning with pathspec 16 October 2011, 03:46:36 UTC
57ded05 Merge branch 'mm/rebase-i-exec-edit' into maint * mm/rebase-i-exec-edit: rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree rebase -i: clean error message for --continue after failed exec 16 October 2011, 03:46:36 UTC
155b940 send-email: Honour SMTP domain when using TLS git-send-email sends two SMTP EHLOs when using TLS encryption, however only the first, unencrypted EHLO uses the SMTP domain that can be optionally specified by the user (--smtp-domain). This is because the call to hello() that produces the second, encrypted EHLO does not pass the SMTP domain as an argument, and hence a default of 'localhost.localdomain' is used instead. Fix by passing in the SMTP domain in this call. Signed-off-by: Matthew Daley <mattjd@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 16 October 2011, 03:33:04 UTC
ac2604c t1304: fall back to $USER if $LOGNAME is not defined For some reason $LOGNAME is not set anymore for me after an upgrade from Ubuntu 11.04 to 11.10. Use $USER in such a case. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com> 14 October 2011, 18:41:28 UTC
035b5bf pull,rebase: handle GIT_WORK_TREE better You can't currently run git-pull or git-rebase from outside of the work tree, even with GIT_WORK_TREE set, due to an overeager require_work_tree function. Commit e2eb527 documents this problem and provides the infrastructure for a fix, but left it to later commits to audit and update individual scripts. Changing these scripts to use require_work_tree_exists is easy to verify. We immediately call cd_to_toplevel, anyway. Therefore no matter which function we use, the state afterwards is one of: 1. We have a work tree, and we are at the top level. 2. We don't have a work tree, and we have died. The only catch is that we must also make sure no code that ran before the cd_to_toplevel assumed that we were already in the working tree. In this case, we will only have included shell libraries and called set_reflog_action, neither of which care about the current working directory at all. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 October 2011, 19:16:36 UTC
2c93286 fix "git apply --index ..." not to deref NULL I noticed this when "git am CORRUPTED" unexpectedly failed with an odd diagnostic, and even removed one of the files it was supposed to have patched. Reproduce with any valid old/new patch from which you have removed the "+++ b/FILE" line. You'll see a diagnostic like this fatal: unable to write file '(null)' mode 100644: Bad address and you'll find that FILE has been removed. The above is on glibc-based systems. On other systems, rather than getting "null", you may provoke a segfault as git tries to dereference the NULL file name. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 12 October 2011, 19:08:11 UTC
6eba621 attr.c: respect core.ignorecase when matching attribute patterns When core.ignorecase is true, the file globs configured in the .gitattributes file should be matched case-insensitively against the paths in the working directory. Let's do so. Plus, add some tests. The last set of tests is performed only on a case-insensitive filesystem. Those tests make sure that git handles the case where the .gitignore file resides in a subdirectory and the user supplies a path that does not match the case in the filesystem. In that case^H^H^H^Hsituation, part of the path supplied by the user is effectively interpreted case-insensitively, and part of it is dependent on the setting of core.ignorecase. git will currently only match the portion of the path below the directory holding the .gitignore file according to the setting of core.ignorecase. This is also partly future-proofing. Currently, git builds the attr stack based on the path supplied by the user, so we don't have to do anything special (like use strcmp_icase) to handle the parts of that path that don't match the filesystem with respect to case. If git instead built the attr stack by scanning the repository, then the paths in the origin field would not necessarily match the paths supplied by the user. If someone makes a change like that in the future, these tests will notice. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 11 October 2011, 16:43:05 UTC
008e3cc config: display key_delim for config --bool --get-regexp The previous logic in show_config was to print the delimiter when the value was set, but Boolean variables have an implicit value "true" when they appear with no value in the config file. As a result, we got: git_Config --get-regexp '.*\.Boolean' #1. Ok: example.boolean git_Config --bool --get-regexp '.*\.Boolean' #2. NO: example.booleantrue Fix this by defering the display of the separator until after the value to display has been computed. Reported-by: Brian Foster <brian.foster@maxim-ic.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> 10 October 2011, 19:34:44 UTC
43a8a04 t5510: add tests for fetch --prune The failures will be fixed in later commits. Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 October 2011, 23:03:30 UTC
5caf197 fetch: free all the additional refspecs Signed-off-by: Carlos Martín Nieto <cmn@elego.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 October 2011, 23:02:19 UTC
64589a0 attr: read core.attributesfile from git_default_core_config This code calls git_config from a helper function to parse the config entry it is interested in. Calling git_config in this way may cause a problem if the helper function can be called after a previous call to git_config by another function since the second call to git_config may reset some variable to the value in the config file which was previously overridden. The above is not a problem in this case since the function passed to git_config only parses one config entry and the variable it sets is not assigned outside of the parsing function. But a programmer who desires all of the standard config options to be parsed may be tempted to modify git_attr_config() so that it falls back to git_default_config() and then it _would_ be vulnerable to the above described behavior. So, move the call to git_config up into the top-level cmd_* function and move the responsibility for parsing core.attributesfile into the main config file parser. Which is only the logical thing to do ;-) Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 October 2011, 20:54:32 UTC
0d0ff65 builtin/mv.c: plug miniscule memory leak The "it" string would not be free'ed if base_name was non-NULL. Let's free it. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 October 2011, 20:54:32 UTC
040a655 cleanup: use internal memory allocation wrapper functions everywhere The "x"-prefixed versions of strdup, malloc, etc. will check whether the allocation was successful and terminate the process otherwise. A few uses of malloc were left alone since they already implemented a graceful path of failure or were in a quasi external library like xdiff. Additionally, the call to malloc in compat/win32/syslog.c was not modified since the syslog() implemented there is a die handler and a call to the x-wrappers within a die handler could result in recursion should memory allocation fail. This will have to be addressed separately. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 October 2011, 20:54:32 UTC
97410b2 attr.c: avoid inappropriate access to strbuf "buf" member This code sequence performs a strcpy into the buf member of a strbuf struct. The strcpy may move the position of the terminating nul of the string and effectively change the length of string so that it does not match the len member of the strbuf struct. Currently, this sequence works since the strbuf was given a hint when it was initialized to allocate enough space to accomodate the string that will be strcpy'ed, but this is an implementation detail of strbufs, not a guarantee. So, lets rework this sequence so that the strbuf is only manipulated by strbuf functions, and direct modification of its "buf" member is not necessary. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 October 2011, 20:54:31 UTC
d30db56 merge-one-file: fix "expr: non-numeric argument" When invoking expr to compare two numbers, don't quote the variables which are the output of 'wc -c'. On OS X, this output includes spaces, which expr balks at: $ sz0=`wc -c </etc/passwd` $ sz1=`wc -c </etc/passwd` $ echo "'$sz0'" ' 3667' $ expr "$sz0" \< "$sz1" \* 2 expr: non-numeric argument $ expr $sz0 \< $sz1 \* 2 1 Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 06 October 2011, 20:24:59 UTC
908aace Support ERR in remote archive like in fetch/push Make ERR as first packet of remote snapshot reply work like it does in fetch/push. Lets servers decline remote snapshot with message the same way as declining fetch/push with a message. Signed-off-by: Ilari Liusvaara <ilari.liusvaara@elisanet.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 October 2011, 16:27:29 UTC
6cdf022 remote-curl: Fix warning after HTTP failure If the HTTP connection is broken in the middle of a fetch or clone body, the client presented a useless error message due to part of the upload-pack->remote-curl pkt-line protocol leaking out of the helper as the helper's "fetch result": error: RPC failed; result=18, HTTP code = 200 fatal: The remote end hung up unexpectedly fatal: early EOF fatal: unpack-objects failed warning: https unexpectedly said: '0000' Instead when the HTTP RPC fails discard all remaining data from upload-pack and report nothing to the transport helper. Errors were already sent to stderr. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 October 2011, 02:11:50 UTC
0b20dd8 Makefile: do not set setgid bit on directories on GNU/kFreeBSD The g+s bit on directories to make group ownership inherited is a SysVism --- BSD and most of its descendants do not need it since they do the sane thing by default without g+s. In fact, on some filesystems (but not all --- tmpfs works this way but UFS does not), the kernel of FreeBSD does not even allow non-root users to set setgid bit on directories and produces errors when one tries: $ git init --shared dir fatal: Could not make /tmp/dir/.git/refs writable by group Since the setgid bit would only mean "do what you were going to do already", it's better to avoid setting it. Accordingly, ever since v1.5.5-rc0~59^2 (Do not use GUID on dir in git init --share=all on FreeBSD, 2008-03-05), git on true FreeBSD has done exactly that. Set DIR_HAS_BSD_GROUP_SEMANTICS in the makefile for GNU/kFreeBSD, too, so machines that use glibc with the kernel of FreeBSD get the same fix. This fixes t0001-init.sh and t1301-shared-repo.sh on GNU/kFreeBSD when running tests with --root pointing to a directory that uses tmpfs. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 October 2011, 21:53:00 UTC
81b568c diff: resurrect XDF_NEED_MINIMAL with --minimal Earlier, 582aa00 (git diff too slow for a file, 2010-05-02) unconditionally dropped XDF_NEED_MINIMAL option from the internal xdiff invocation to help performance on pathological cases, while hinting that a follow-up patch could reintroduce it with "--minimal" option from the command line. Make it so. Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 October 2011, 18:58:18 UTC
703f05a Git 1.7.7 Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 September 2011, 21:20:57 UTC
0a1283b checkout $tree $path: do not clobber local changes in $path not in $tree Checking paths out of a tree is (currently) defined to do: - Grab the paths from the named tree that match the given pathspec, and add them to the index; - Check out the contents from the index for paths that match the pathspec to the working tree; and while at it - If the given pathspec did not match anything, suspect a typo from the command line and error out without updating the index nor the working tree. Suppose that the branch you are working on has dir/myfile, and the "other" branch has dir/other but not dir/myfile. Further imagine that you have either modified or removed dir/myfile in your working tree, but you have not run "git add dir/myfile" or "git rm dir/myfile" to tell Git about your local change. Running $ git checkout other dir would add dir/other to the index with the contents taken out of the "other" branch, and check out the paths from the index that match the pathspec "dir", namely, "dir/other" and "dir/myfile", overwriting your local changes to "dir/myfile", even though "other" branch does not even know about that file. Fix it by updating the working tree only with the index entries that was read from the "other" tree. Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 September 2011, 17:33:15 UTC
8d714b1 templates/hooks--*: remove sample hooks without any functionality Remove the sample post-commit and post-receive hooks. The sample post-commit doesn't contain any sample functionality and the comments do not provide more information than already found in the documentation. The sample post-receive hooks doesn't provide any sample functionality either and refers in the comments to a contrib hook that might be installed in different locations on different systems, which isn't that helpful. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 September 2011, 17:00:35 UTC
8528445 notes_merge_commit(): do not pass temporary buffer to other function It is unsafe to pass a temporary buffer as an argument to read_directory(). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Acked-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 September 2011, 16:58:47 UTC
2b07ff3 gitweb: Fix links to lines in blobs when javascript-actions are enabled The fixLinks() function adds 'js=1' to each link that does not already have 'js' query parameter specified. This is used to signal to gitweb that the browser can actually do javascript when these links are used. There are two problems with the existing code: 1. URIs with fragment and 'js' query parameter, like e.g. ...foo?js=0#l199 were not recognized as having 'js' query parameter already. 2. The 'js' query parameter, in the form of either '?js=1' or ';js=1' was appended at the end of URI, even if it included a fragment (had a hash part). This lead to the incorrect links like this ...foo#l199?js=1 instead of adding query parameter as last part of query, but before the fragment part, i.e. ...foo?js=1#l199 Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 27 September 2011, 16:34:37 UTC
f6f1788 contrib/hooks: adapt comment about Debian install location for contrib hooks Placing the contrib hooks into /usr/share/doc/ wasn't a good idea in the first place. According to the Debian policy they should be located in /usr/share/git-core/, so let's put them there. Thanks to Bill Allombert for reporting this through http://bugs.debian.org/640949 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 September 2011, 23:39:34 UTC
8557263 apply --whitespace=error: correctly report new blank lines at end Earlier, 77b15bb (apply --whitespace=warn/error: diagnose blank at EOF, 2009-09-03) cheated by reporting the line number of the hunk that contains the offending line that adds new blank lines at the end of the file. All other types of whitespace errors are reported with the line number in the patch file that has the actual offending text. Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 September 2011, 21:07:55 UTC
c5aa906 Revert removal of multi-match discard heuristic in 27af01 27af01d (xdiff/xprepare: improve O(n*m) performance in xdl_cleanup_records(), 2011-08-17) was supposed to be a performance boost only. However, it unexpectedly changed the behaviour of diff. Revert a part of 27af01d that removes logic that mark lines as "multi-match" (ie. dis[i] == 2). This was preventing the multi-match discard heuristic (performed in xdl_cleanup_records() and xdl_clean_mmatch()) from executing. Reported-by: Alexander Pepper <pepper@inf.fu-berlin.de> Signed-off-by: René Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 September 2011, 18:38:14 UTC
614583f Merge branch 'jc/namespace-doc-with-old-asciidoc' * jc/namespace-doc-with-old-asciidoc: Documentation/gitnamespaces.txt: cater to older asciidoc 26 September 2011, 17:50:08 UTC
5e82123 git-read-tree.txt: update sparse checkout examples The negation example uses '*' to match everything. This used to work before 9037026 (unpack-trees: fix sparse checkout's "unable to match directories") because back then, the list of paths is used to match sparse patterns, so with the patterns * !subdir/ subdir/ always matches any path that start with subdir/ and "*" has no chance to get tested. The result is subdir is excluded. After the said commit, a tree structure is dynamically created and sparse pattern matching now follows closely how read_directory() applies .gitignore. This solves one problem, but reveals another one. With this new strategy, "!subdir/" rule will be only tested once when "subdir" directory is examined. Entries inside subdir, when examined, will match "*" and are (correctly) re-added again because any rules without a slash will match at every directory level. In the end, "*" can revert every negation rules. In order to correctly exclude subdir, we must use /* !subdir to limit "match all" rule at top level only. "*" rule has no actual use in sparse checkout and can be confusing to users. While we can automatically turn "*" to "/*", this violates .gitignore definition. Instead, discourage "*" in favor of "/*" (in the second example). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 September 2011, 17:00:44 UTC
6d9990a mergetool: no longer need to save standard input Earlier code wanted to run merge_file and prompt_after_failed_merge both of which wanted to read from the standard input of the entire script inside a while loop, which read from a pipe, and in order to do so, it redirected the original standard input to another file descriptor. We no longer need to do so after the previous change. Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 September 2011, 16:39:45 UTC
3e8e691 mergetool: Use args as pathspec to unmerged files Mergetool now treats its path arguments as a pathspec (like other git subcommands), restricting action to the given files and directories. Files matching the pathspec are filtered so mergetool only acts on unmerged paths; previously it would assume each path argument was in an unresolved state, and get confused when it couldn't check out their other stages. Running "git mergetool subdir" will prompt to resolve all conflicted blobs under subdir. Signed-off-by: Jonathon Mah <me@JonathonMah.com> Acked-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 26 September 2011, 16:39:36 UTC
85e9c7e Git 1.7.7-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 September 2011, 22:35:57 UTC
b761900 Merge 1.7.6.4 in Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 September 2011, 22:31:08 UTC
d45b7f4 merge-recursive: Do not look at working tree during a virtual ancestor merge Fix another instance of a recursive merge incorrectly paying attention to the working tree file during a virtual ancestor merge, that resulted in spurious and useless "addinfo_cache failed" error message. Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 September 2011, 22:21:01 UTC
6320526 Git 1.7.6.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 September 2011, 21:43:05 UTC
a0b1cb6 Merge branch 'cb/maint-ls-files-error-report' into maint * cb/maint-ls-files-error-report: t3005: do not assume a particular order of stdout and stderr of git-ls-files ls-files: fix pathspec display on error 23 September 2011, 21:30:49 UTC
85b3c75 describe: Refresh the index when run with --dirty When running git describe --dirty the index should be refreshed. Previously the cached index would cause describe to think that the index was dirty when, in reality, it was just stale. The issue was exposed by python setuptools which hardlinks files into another directory when building a distribution. Signed-off-by: Junio C Hamano <gitster@pobox.com> 23 September 2011, 21:28:17 UTC
84b0514 Merge branch 'jc/maint-clone-alternates' into maint * jc/maint-clone-alternates: clone: clone from a repository with relative alternates clone: allow more than one --reference 23 September 2011, 21:27:33 UTC
406c1c4 Merge branch 'nd/maint-clone-gitdir' into maint * nd/maint-clone-gitdir: clone: allow to clone from .git file read_gitfile_gently(): rename misnamed function to read_gitfile() 23 September 2011, 21:21:39 UTC
back to top