summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-09-11Merge branch 'jk/name-decoration-alloc'Libravatar Junio C Hamano4-21/+29
The API to allocate the structure to keep track of commit decoration was cumbersome to use, inviting lazy code to overallocate memory. * jk/name-decoration-alloc: log-tree: use FLEX_ARRAY in name_decoration log-tree: make name_decoration hash static log-tree: make add_name_decoration a public function
2014-09-11Merge branch 'jn/unpack-trees-checkout-m-carry-deletion'Libravatar Junio C Hamano2-21/+27
"git checkout -m" did not switch to another branch while carrying the local changes forward when a path was deleted from the index. * jn/unpack-trees-checkout-m-carry-deletion: checkout -m: attempt merge when deletion of path was staged unpack-trees: use 'cuddled' style for if-else cascade unpack-trees: simplify 'all other failures' case
2014-09-11Merge branch 'rs/list-optim'Libravatar Junio C Hamano2-3/+7
Fix a couple of "accumulate into a sorted list" to "accumulate and then sort the list". * rs/list-optim: walker: avoid quadratic list insertion in mark_complete sha1_name: avoid quadratic list insertion in handle_one_ref
2014-09-11Merge branch 'jk/fast-import-fixes'Libravatar Junio C Hamano1-4/+7
With sufficiently long refnames, fast-import could have overflown an on-stack buffer. * jk/fast-import-fixes: fast-import: fix buffer overflow in dump_tags fast-import: clean up pack_data pointer in end_packfile
2014-09-11Merge branch 'jk/prune-top-level-refs-after-packing'Libravatar Junio C Hamano2-1/+8
After "pack-refs --prune" packed refs at the top-level, it failed to prune them. * jk/prune-top-level-refs-after-packing: pack-refs: prune top-level refs like "refs/foo"
2014-09-11Merge branch 'nd/large-blobs'Libravatar Junio C Hamano9-37/+125
Teach a few codepaths to punt (instead of dying) when large blobs that would not fit in core are involved in the operation. * nd/large-blobs: diff: shortcut for diff'ing two binary SHA-1 objects diff --stat: mark any file larger than core.bigfilethreshold binary diff.c: allow to pass more flags to diff_populate_filespec sha1_file.c: do not die failing to malloc in unpack_compressed_entry wrapper.c: introduce gentle xmallocz that does not die()
2014-09-11Merge branch 'nd/fetch-pass-quiet-to-gc-child-process'Libravatar Junio C Hamano1-4/+6
Progress output from "git gc --auto" was visible in "git fetch -q". * nd/fetch-pass-quiet-to-gc-child-process: fetch: silence git-gc if --quiet is given fetch: convert argv_gc_auto to struct argv_array
2014-09-11Merge branch 'dt/cache-tree-repair'Libravatar Junio C Hamano6-22/+184
Add a few more places in "commit" and "checkout" that make sure that the cache-tree is fully populated in the index. * dt/cache-tree-repair: cache-tree: do not try to use an invalidated subtree info to build a tree cache-tree: Write updated cache-tree after commit cache-tree: subdirectory tests test-dump-cache-tree: invalid trees are not errors cache-tree: create/update cache-tree on checkout
2014-09-11Merge branch 'rs/ref-transaction-1'Libravatar Junio C Hamano11-248/+398
The second batch of the transactional ref update series. * rs/ref-transaction-1: (22 commits) update-ref --stdin: pass transaction around explicitly update-ref --stdin: narrow scope of err strbuf refs.c: make delete_ref use a transaction refs.c: make prune_ref use a transaction to delete the ref refs.c: remove lock_ref_sha1 refs.c: remove the update_ref_write function refs.c: remove the update_ref_lock function refs.c: make lock_ref_sha1 static walker.c: use ref transaction for ref updates fast-import.c: use a ref transaction when dumping tags receive-pack.c: use a reference transaction for updating the refs refs.c: change update_ref to use a transaction branch.c: use ref transaction for all ref updates fast-import.c: change update_branch to use ref transactions sequencer.c: use ref transactions for all ref updates commit.c: use ref transactions for updates replace.c: use the ref transaction functions for updates tag.c: use ref transactions when doing updates refs.c: add transaction.status and track OPEN/CLOSED refs.c: make ref_transaction_begin take an err argument ...
2014-09-11Merge branch 'nd/mv-code-cleaning'Libravatar Junio C Hamano1-88/+86
Code clean-up. * nd/mv-code-cleaning: mv: no SP between function name and the first opening parenthese mv: combine two if(s) mv: unindent one level for directory move code mv: move index search code out mv: remove an "if" that's always true mv: split submodule move preparation code out mv: flatten error handling code block mv: mark strings for translations
2014-09-11Merge branch 'mm/discourage-commit-a-to-finish-conflict-resolution'Libravatar Junio C Hamano2-3/+2
* mm/discourage-commit-a-to-finish-conflict-resolution: merge, pull: stop advising 'commit -a' in case of conflict
2014-09-11Merge branch 'jk/make-simplify-dependencies'Libravatar Junio C Hamano1-192/+9
Admit that keeping LIB_H up-to-date, only for those that do not use the automatically generated dependencies, is a losing battle, and make it conservative by making everything depend on anything. * jk/make-simplify-dependencies: Makefile: drop CHECK_HEADER_DEPENDENCIES code Makefile: use `find` to determine static header dependencies i18n: treat "make pot" as an explicitly-invoked target
2014-09-11Merge branch 'et/spell-poll-infinite-with-minus-one-only'Libravatar Junio C Hamano1-1/+3
We used to pass -1000 to poll(2), expecting it to also mean "no timeout", which should be spelled as -1. * et/spell-poll-infinite-with-minus-one-only: upload-pack: keep poll(2)'s timeout to -1
2014-09-11Merge branch 'br/http-init-fix'Libravatar Junio C Hamano1-5/+7
Code clean-up. * br/http-init-fix: http: style fixes for curl_multi_init error check http.c: die if curl_*_init fails
2014-09-11Merge branch 'rs/child-process-init'Libravatar Junio C Hamano41-130/+87
Code clean-up. * rs/child-process-init: run-command: inline prepare_run_command_v_opt() run-command: call run_command_v_opt_cd_env() instead of duplicating it run-command: introduce child_process_init() run-command: introduce CHILD_PROCESS_INIT
2014-09-11Merge branch 'jk/contrib-subtree-make-all'Libravatar Junio C Hamano1-1/+4
* jk/contrib-subtree-make-all: subtree: make "all" default target of Makefile
2014-09-11Merge branch 'ta/config-set-2'Libravatar Junio C Hamano15-313/+152
Update git_config() users with callback functions for a very narrow scope with calls to config-set API that lets us query a single variable. * ta/config-set-2: builtin/apply.c: replace `git_config()` with `git_config_get_string_const()` merge-recursive.c: replace `git_config()` with `git_config_get_int()` ll-merge.c: refactor `read_merge_config()` to use `git_config_string()` fast-import.c: replace `git_config()` with `git_config_get_*()` family branch.c: replace `git_config()` with `git_config_get_string() alias.c: replace `git_config()` with `git_config_get_string()` imap-send.c: replace `git_config()` with `git_config_get_*()` family pager.c: replace `git_config()` with `git_config_get_value()` builtin/gc.c: replace `git_config()` with `git_config_get_*()` family rerere.c: replace `git_config()` with `git_config_get_*()` family fetchpack.c: replace `git_config()` with `git_config_get_*()` family archive.c: replace `git_config()` with `git_config_get_bool()` family read-cache.c: replace `git_config()` with `git_config_get_*()` family http-backend.c: replace `git_config()` with `git_config_get_bool()` family daemon.c: replace `git_config()` with `git_config_get_bool()` family
2014-09-11Merge branch 'ta/config-set-1'Libravatar Junio C Hamano7-30/+207
Use the new caching config-set API in git_config() calls. * ta/config-set-1: add tests for `git_config_get_string_const()` add a test for semantic errors in config files rewrite git_config() to use the config-set API config: add `git_die_config()` to the config-set API change `git_config()` return value to void add line number and file name info to `config_set` config.c: fix accuracy of line number in errors config.c: mark error and warnings strings for translation
2014-09-09Update draft release notes to 2.2Libravatar Junio C Hamano1-3/+42
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-09Merge branch 'sp/pack-protocol-doc-on-shallow'Libravatar Junio C Hamano1-1/+1
* sp/pack-protocol-doc-on-shallow: Document LF appearing in shallow command during send-pack/receive-pack
2014-09-09Merge branch 'tf/imap-send-create'Libravatar Junio C Hamano2-51/+33
* tf/imap-send-create: imap-send: create target mailbox if it is missing imap-send: clarify CRAM-MD5 vs LOGIN documentation
2014-09-09Merge branch 'jk/prompt-stash-could-be-packed'Libravatar Junio C Hamano1-1/+2
The prompt script checked $GIT_DIR/ref/stash file to see if there is a stash, which was a no-no. * jk/prompt-stash-could-be-packed: git-prompt: do not look for refs/stash in $GIT_DIR
2014-09-09Merge branch 'tb/pretty-format-cd-date-format'Libravatar Junio C Hamano1-1/+1
Documentation update. * tb/pretty-format-cd-date-format: pretty: note that %cd respects the --date= option
2014-09-09Merge branch 'rs/inline-compat-path-macros'Libravatar Junio C Hamano1-6/+22
* rs/inline-compat-path-macros: turn path macros into inline function
2014-09-09Merge branch 'rs/clean-menu-item-defn'Libravatar Junio C Hamano1-1/+1
* rs/clean-menu-item-defn: clean: use f(void) instead of f() to declare a pointer to a function without arguments
2014-09-09Merge branch 'jc/config-mak-document-darwin-vs-macosx'Libravatar Junio C Hamano1-0/+5
* jc/config-mak-document-darwin-vs-macosx: config.mak.uname: add hint on uname_R for MacOS X config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
2014-09-09Merge branch 'sb/mailsplit-dead-code-removal'Libravatar Junio C Hamano1-11/+6
* sb/mailsplit-dead-code-removal: mailsplit.c: remove dead code
2014-09-09Merge branch 'so/rebase-doc'Libravatar Junio C Hamano1-5/+2
May need further updates to the description to explain what makes various modes of operation to decide that the request can become a "no-op". * so/rebase-doc: Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
2014-09-09Merge branch 'sb/prepare-revision-walk-error-check'Libravatar Junio C Hamano3-3/+7
* sb/prepare-revision-walk-error-check: prepare_revision_walk(): check for return value in all places
2014-09-09Merge branch 'sb/blame-msg-i18n'Libravatar Junio C Hamano1-1/+1
* sb/blame-msg-i18n: builtin/blame.c: add translation to warning about failed revision walk
2014-09-09Merge branch 'nd/strbuf-utf8-replace'Libravatar Junio C Hamano2-0/+10
* nd/strbuf-utf8-replace: utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
2014-09-09Merge branch 'sb/plug-leaks'Libravatar Junio C Hamano2-3/+5
* sb/plug-leaks: clone.c: don't leak memory in cmd_clone remote.c: don't leak the base branch name in format_tracking_info
2014-09-09Merge branch 'rs/refresh-beyond-symlink'Libravatar Junio C Hamano2-0/+51
"git add x" where x that used to be a directory has become a symbolic link to a directory misbehaved. * rs/refresh-beyond-symlink: read-cache: check for leading symlinks when refreshing index
2014-09-09Merge branch 'la/init-doc'Libravatar Junio C Hamano1-39/+46
* la/init-doc: Documentation: git-init: flesh out example Documentation: git-init: template directory: reword and cross-reference Documentation: git-init: reword parenthetical statements Documentation: git-init: --separate-git-dir: clarify Documentation: git-init: template directory: reword Documentation: git-init: list items facelift Documentation: git-init: typographical fixes
2014-09-09Merge branch 'jk/stash-list-p'Libravatar Junio C Hamano2-1/+43
Teach "git stash list -p" to show the difference between the base commit version and the working tree version, which is in line with what "git show" gives. * jk/stash-list-p: stash: default listing to working-tree diff
2014-09-09Merge branch 'mm/log-branch-desc-plug-leak'Libravatar Junio C Hamano1-0/+1
* mm/log-branch-desc-plug-leak: builtin/log.c: fix minor memory leak
2014-09-09Merge branch 'lf/bundle-exclusion'Libravatar Junio C Hamano2-3/+6
"git bundle create" with date-range specification were meant to exclude tags outside the range * lf/bundle-exclusion: bundle: fix exclusion of annotated tags
2014-09-09Merge branch 'jc/apply-ws-prefix'Libravatar Junio C Hamano3-63/+96
Applying a patch not generated by Git in a subdirectory used to check the whitespace breakage using the attributes for incorrect paths. Also whitespace checks were performed even for paths excluded via "git apply --exclude=<path>" mechanism. * jc/apply-ws-prefix: apply: omit ws check for excluded paths apply: hoist use_patch() helper for path exclusion up apply: use the right attribute for paths in non-Git patches
2014-09-09Merge branch 'jk/command-line-config-empty-string'Libravatar Junio C Hamano3-2/+26
"git -c section.var command" and "git -c section.var= command" should pass the configuration differently (the former should be a boolean true, the latter should be an empty string). * jk/command-line-config-empty-string: config: teach "git -c" to recognize an empty string
2014-09-09Merge branch 'bc/imap-send-doc'Libravatar Junio C Hamano1-4/+3
* bc/imap-send-doc: imap-send doc: omit confusing "to use imap-send" modifier
2014-09-09Merge branch 'jc/not-mingw-cygwin'Libravatar Junio C Hamano15-60/+56
We have been using NOT_{MINGW,CYGWIN} test prerequisites long before Peff invented support for negated prerequisites e.g. !MINGW and we still add more uses of the former. Convert them to the latter to avoid confusion. * jc/not-mingw-cygwin: test prerequisites: enumerate with commas test prerequisites: eradicate NOT_FOO
2014-09-03mv: no SP between function name and the first opening parentheseLibravatar Nguyễn Thái Ngọc Duy1-2/+2
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03mv: combine two if(s)Libravatar Nguyễn Thái Ngọc Duy1-4/+3
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03mv: unindent one level for directory move codeLibravatar Nguyễn Thái Ngọc Duy1-28/+21
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03mv: move index search code outLibravatar Nguyễn Thái Ngọc Duy1-17/+25
"Huh?" is removed from die() message. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03mv: remove an "if" that's always trueLibravatar Nguyễn Thái Ngọc Duy1-15/+7
This is inside an "else" block of "if (last - first < 1)", so we know that "last - first >= 1" when we come here. No need to check "last - first > 0". While at there, save "argc + last - first" to a variable to shorten the statements a bit. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03mv: split submodule move preparation code outLibravatar Nguyễn Thái Ngọc Duy1-14/+22
"Huh?" is removed from die() message. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03cache-tree: do not try to use an invalidated subtree info to build a treeLibravatar Junio C Hamano2-1/+14
We punt from repairing the cache-tree during a branch switching if it involves having to create a new tree object that does not yet exist in the object store. "mkdir dir && >dir/file && git add dir" followed by "git checkout" is one example, when a tree that records the state of such "dir/" is not in the object store. However, after discovering that we do not have a tree object that records the state of "dir/", the caller failed to remember the fact that it noticed the cache-tree entry it received for "dir/" is invalidated, it already knows it should not be populating the level that has "dir/" as its immediate subdirectory, and it is not an error at all for the sublevel cache-tree entry gave it a bogus object name it shouldn't even look at. This led the caller to detect and report a non-existent error. The end result was the same and we avoided stuffing a non-existent tree to the cache-tree, but we shouldn't have issued an alarming error message to the user. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03update-ref --stdin: pass transaction around explicitlyLibravatar Jonathan Nieder1-12/+15
This makes it more obvious at a glance where the output of functions parsing the --stdin stream goes. No functional change intended. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-03update-ref --stdin: narrow scope of err strbufLibravatar Jonathan Nieder1-1/+10
Making the strbuf local in each function that needs to print errors saves the reader from having to think about action at a distance, such as * errors piling up and being concatenated with no newline between them * errors unhandled in one function, to be later handled in another * concurrency issues, if this code starts using threads some day No functional change intended. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Reviewed-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>