summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-13trailer: add tests for "git interpret-trailers"Libravatar Christian Couder1-0/+738
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: add interpret-trailers commandLibravatar Christian Couder5-0/+48
This patch adds the "git interpret-trailers" command. This command uses the previously added process_trailers() function in trailer.c. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: put all the processing together and printLibravatar Christian Couder2-0/+75
This patch adds the process_trailers() function that calls all the previously added processing functions and then prints the results on the standard output. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: parse trailers from file or stdinLibravatar Christian Couder1-0/+123
Read trailers from a file or from stdin, parse the trailers and then put the result into a doubly linked list. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: process command line trailer argumentsLibravatar Christian Couder1-0/+112
Parse the trailer command line arguments and put the result into an arg_tok doubly linked list. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: read and process config informationLibravatar Christian Couder1-0/+185
Read the configuration to get trailer information, and then process it and store it in a doubly linked list. The config information is stored in the list whose first item is pointed to by: static struct trailer_item *first_conf_item; Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: process trailers from input message and argumentsLibravatar Christian Couder1-0/+210
Implement the logic to process trailers from the input message and from arguments. At the beginning trailers from the input message are in their own "in_tok" doubly linked list, and trailers from arguments are in their own "arg_tok" doubly linked list. The lists are traversed and when an "arg_tok" should be "applied", it is removed from its list and inserted into the "in_tok" list. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: add data structures and basic functionsLibravatar Christian Couder2-0/+70
We will use a doubly linked list to store all information about trailers and their configuration. This way we can easily remove or add trailers to or from trailer lists while traversing the lists in either direction. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-11Update draft release notes to 2.2Libravatar Junio C Hamano1-1/+42
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-11Merge branch 'br/imap-send-simplify-tunnel-child-process'Libravatar Junio C Hamano1-10/+9
Code clean-up. * br/imap-send-simplify-tunnel-child-process: imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with() imap-send.c: imap_folder -> imap_server_conf.folder git-imap-send: simplify tunnel construction
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