summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-10Merge branch 'jc/conflict-hint' into cc/interpret-trailers-moreLibravatar Junio C Hamano6-65/+110
* jc/conflict-hint: merge & sequencer: turn "Conflicts:" hint into a comment builtin/commit.c: extract ignore_non_trailer() helper function merge & sequencer: unify codepaths that write "Conflicts:" hint builtin/merge.c: drop a parameter that is never used git-tag.txt: Add a missing hyphen to `-s`
2014-11-10trailer: display a trailer without its trailing newlineLibravatar Christian Couder1-2/+6
Trailers passed to the parse_trailer() function often have a trailing newline. When erroring out, we should display the invalid trailer properly, that means without any trailing newline. Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-10trailer: ignore comment lines inside the trailersLibravatar Christian Couder1-2/+4
Otherwise trailers that are commented out might be processed. We would also error out if the comment line char is also a separator. This means that comments inside a trailer block will disappear, but that was already the case anyway. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-28merge & sequencer: turn "Conflicts:" hint into a commentLibravatar Junio C Hamano3-28/+68
Just like other hints such as "Changes to be committed" we show in the editor to remind the committer what paths were involved in the resulting commit to help improving their log message, this section is merely a reminder. Traditionally, it was not made into comments primarily because it has to be generated outside the wt-status infrastructure, and also because it was meant as a bit stronger reminder than the others (i.e. explaining how you resolved conflicts is much more important than mentioning what you did to every paths involved in the commit). But that still does not make this hint a part of the log message proper, and not showing it as a comment is inviting mistakes. Note that we still notice "Conflicts:" followed by list of indented pathnames as an old-style cruft and insert a new Signed-off-by: before it. This is so that "commit --amend -s" adds the new S-o-b at the right place when used on an older commit. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-28builtin/commit.c: extract ignore_non_trailer() helper functionLibravatar Junio C Hamano1-26/+33
Extract a helper function from prepare_to_commit() to determine where to place a new Signed-off-by: line, which is essentially the true "end" of the log message, ignoring the trailing "Conflicts:" line and everything below it. The detection _should_ make sure the "Conflicts:" line it finds is truly the conflict hint block by checking everything that follows is a HT indented pathname to avoid false positive, but this logic will be revamped in a later patch to ignore comments and blanks anyway, so it is left as-is in this step. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-24merge & sequencer: unify codepaths that write "Conflicts:" hintLibravatar Junio C Hamano3-28/+26
Two identical loops in suggest_conflicts() in merge, and do_recursive_merge() in sequencer, can use a single helper function extracted from the latter that prepares the "Conflicts:" hint that is meant to remind the user the paths for which merge conflicts had to be resolved to write a better commit log message. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-24builtin/merge.c: drop a parameter that is never usedLibravatar Junio C Hamano1-2/+2
Since the very beginning when we added the "renormalizing" parameter to this function with 7610fa57 (merge-recursive --renormalize, 2010-08-05), nobody seems to have ever referenced it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13Documentation: add documentation for 'git interpret-trailers'Libravatar Christian Couder2-0/+315
While at it add git-interpret-trailers to "command-list.txt". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: add tests for commands in config fileLibravatar Christian Couder1-0/+125
And add a few other tests for some special cases. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-13trailer: execute command from 'trailer.<name>.command'Libravatar Christian Couder1-1/+84
Let the user specify a command that will give on its standard output the value to use for the specified trailer. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
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-10-07git-tag.txt: Add a missing hyphen to `-s`Libravatar Wieland Hoffmann1-1/+1
Signed-off-by: Wieland Hoffmann <themineo@gmail.com> 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