summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-12merge-recursive: do not check working copy when creating a virtual merge baseLibravatar Elijah Newren1-3/+3
There were a few cases in merge-recursive that could result in a check for the presence of files in the working copy while trying to create a virtual merge base. These were rare and innocuous, but somewhat illogical. The two cases were: * When there was naming conflicts (e.g. a D/F conflict) and we had to pick a new unique name for a file. Since the new name is somewhat arbitrary, it didn't matter that we consulted the working copy to avoid picking a filename it has, but since the virtual merge base is never checked out, it's a waste of time and slightly odd to do so. * When two different files get renamed to the same name (on opposite sides of the merge), we needed to delete the original filenames from the cache and possibly also the working directory. The caller's check for determining whether to delete from the working directory was a call to would_lose_untracked(). It turns out this didn't matter because remove_file() had logic to avoid modifying the working directory when creating a virtual merge base, but there is no reason for the caller to check the working directory in such circumstances. It's a waste of time, if not also a bit weird. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-12merge-recursive: remove duplicate codeLibravatar Elijah Newren1-2/+0
In commit 51931bf (merge-recursive: Improve handling of rename target vs. directory addition, 2011-08-11), I apparently added two lines of code that were immediately duplicated a few lines later. No idea why, other than it seems pretty clear this was a mistake: there is no need to remove the same file twice; removing it once is sufficient...especially since the intervening line was working with a different file entirely. Signed-off-by: Elijah Newren <newren@gmail.com> Reviewed-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-08Third batch for post 2.8 cycleLibravatar Junio C Hamano1-0/+24
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-08Merge branch 'ss/msvc'Libravatar Junio C Hamano3-2/+6
Build updates for MSVC. * ss/msvc: MSVC: use shipped headers instead of fallback definitions MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more
2016-04-08Merge branch 'oa/doc-diff-check'Libravatar Junio C Hamano1-2/+2
A minor documentation update. * oa/doc-diff-check: Documentation: git diff --check detects conflict markers
2016-04-08Merge branch 'pb/opt-cmdmode-doc'Libravatar Junio C Hamano1-0/+7
Minor API documentation update. * pb/opt-cmdmode-doc: api-parse-options.txt: document OPT_CMDMODE()
2016-04-08Merge branch 'nd/apply-report-skip'Libravatar Junio C Hamano1-0/+2
"git apply -v" learned to report paths in the patch that were skipped via --include/--exclude mechanism or being outside the current working directory. * nd/apply-report-skip: apply: report patch skipping in verbose mode
2016-04-08Merge branch 'nd/apply-doc'Libravatar Junio C Hamano1-1/+3
A minor documentation update. * nd/apply-doc: git-apply.txt: mention the behavior inside a subdir git-apply.txt: remove a space
2016-04-08Merge branch 'jc/merge-refuse-new-root'Libravatar Junio C Hamano12-14/+57
"git merge" used to allow merging two branches that have no common base by default, which led to a brand new history of an existing project created and then get pulled by an unsuspecting maintainer, which allowed an unnecessary parallel history merged into the existing project. The command has been taught not to allow this by default, with an escape hatch "--allow-unrelated-histories" option to be used in a rare event that merges histories of two projects that started their lives independently. * jc/merge-refuse-new-root: merge: refuse to create too cool a merge by default
2016-04-06Second batch for post 2.8 cycleLibravatar Junio C Hamano2-2/+51
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-06Merge branch 'la/tag-force-signing-annotated-tags'Libravatar Junio C Hamano3-6/+60
"git tag" can create an annotated tag without explicitly given an "-a" (or "-s") option (i.e. when a tag message is given). A new configuration variable, tag.forceSignAnnotated, can be used to tell the command to create signed tag in such a situation. * la/tag-force-signing-annotated-tags: tag: add the option to force signing of annotated tags
2016-04-06Merge branch 'jk/submodule-c-credential'Libravatar Junio C Hamano8-19/+172
"git -c credential.<var>=<value> submodule" can now be used to propagate configuration variables related to credential helper down to the submodules. * jk/submodule-c-credential: git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS git: submodule honor -c credential.* from command line quote: implement sq_quotef() submodule: fix segmentation fault in submodule--helper clone submodule: fix submodule--helper clone usage submodule: check argc count for git submodule--helper clone submodule: don't pass empty string arguments to submodule--helper clone
2016-04-06Merge branch 'jv/merge-nothing-into-void'Libravatar Junio C Hamano2-5/+15
"git merge FETCH_HEAD" dereferenced NULL pointer when merging nothing into an unborn history (which is arguably unusual usage, which perhaps was the reason why nobody noticed it). * jv/merge-nothing-into-void: merge: fix NULL pointer dereference when merging nothing into void
2016-04-06Merge branch 'ss/commit-squash-msg'Libravatar Junio C Hamano2-1/+38
When "git merge --squash" stopped due to conflict, the concluding "git commit" failed to read in the SQUASH_MSG that shows the log messages from all the squashed commits. * ss/commit-squash-msg: commit: do not lose SQUASH_MSG contents
2016-04-06Merge branch 'sb/rebase-x'Libravatar Junio C Hamano3-22/+10
"git rebase -x" can be used without passing "-i" option. * sb/rebase-x: t3404: cleanup double empty lines between tests rebase: decouple --exec from --interactive
2016-04-06Merge branch 'jk/test-httpd-config-nosystem'Libravatar Junio C Hamano1-0/+1
The tests that involve running httpd leaked the system-wide configuration in /etc/gitconfig to the tested environment. * jk/test-httpd-config-nosystem: t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env
2016-04-06Merge branch 'jk/send-email-rtrim-mailrc-alias'Libravatar Junio C Hamano1-1/+1
"git send-email" had trouble parsing alias file in mailrc format when lines in it had trailing whitespaces on them. * jk/send-email-rtrim-mailrc-alias: send-email: ignore trailing whitespace in mailrc alias file
2016-04-06Merge branch 'jk/credential-cache-comment-exit'Libravatar Junio C Hamano1-1/+10
A code clarification. * jk/credential-cache-comment-exit: credential-cache--daemon: clarify "exit" action semantics
2016-04-06Merge branch 'sb/clone-t57-t56'Libravatar Junio C Hamano10-0/+0
Rename bunch of tests on "git clone" for better organization. * sb/clone-t57-t56: clone tests: rename t57* => t56*
2016-04-06Merge branch 'ls/p4-map-user'Libravatar Junio C Hamano3-0/+81
"git p4" now allows P4 author names to be mapped to Git author names. * ls/p4-map-user: git-p4: map a P4 user to Git author name and email address
2016-04-06Merge branch 'cc/doc-recommend-performance-trace-to-file'Libravatar Junio C Hamano1-0/+43
A minor documentation update. * cc/doc-recommend-performance-trace-to-file: Documentation: talk about pager in api-trace.txt
2016-04-06Merge branch 'pb/t7502-drop-dup'Libravatar Junio C Hamano1-5/+0
Code clean-up. * pb/t7502-drop-dup: t/t7502 : drop duplicate test
2016-04-06Merge branch 'da/mergetool-delete-delete-conflict'Libravatar Junio C Hamano2-4/+85
"git mergetool" did not work well with conflicts that both sides deleted. * da/mergetool-delete-delete-conflict: mergetool: honor tempfile configuration when resolving delete conflicts mergetool: support delete/delete conflicts
2016-04-06Merge branch 'sb/submodule-parallel-update'Libravatar Junio C Hamano18-62/+445
A major part of "git submodule update" has been ported to C to take advantage of the recently added framework to run download tasks in parallel. * sb/submodule-parallel-update: clone: allow an explicit argument for parallel submodule clones submodule update: expose parallelism to the user submodule helper: remove double 'fatal: ' prefix git submodule update: have a dedicated helper for cloning run_processes_parallel: rename parameters for the callbacks run_processes_parallel: treat output of children as byte array submodule update: direct error message to stderr fetching submodules: respect `submodule.fetchJobs` config option submodule-config: drop check against NULL submodule-config: keep update strategy around
2016-04-06Merge branch 'ss/receive-pack-parse-options'Libravatar Junio C Hamano1-33/+20
The command line argument parser for "receive-pack" has been rewritten to use parse-options. * ss/receive-pack-parse-options: builtin/receive-pack.c: use parse_options API
2016-04-06Merge branch 'ss/exc-flag-is-a-collection-of-bits'Libravatar Junio C Hamano3-9/+9
Code clean-up. * ss/exc-flag-is-a-collection-of-bits: dir: store EXC_FLAG_* values in unsigned integers
2016-04-03First batch for post 2.8 cycleLibravatar Junio C Hamano2-1/+85
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-03Sync with Git 2.8.1Libravatar Junio C Hamano4-3/+13
2016-04-03Merge branch 'jk/startup-info'Libravatar Junio C Hamano13-26/+54
The startup_info data, which records if we are working inside a repository (among other things), are now uniformly available to Git subcommand implementations, and Git avoids attempting to touch references when we are not in a repository. * jk/startup-info: use setup_git_directory() in test-* programs grep: turn off gitlink detection for --no-index mailmap: do not resolve blobs in a non-repository remote: don't resolve HEAD in non-repository setup: set startup_info->have_repository more reliably setup: make startup_info available everywhere
2016-04-03Merge branch 'es/test-gpg-tags'Libravatar Junio C Hamano2-35/+65
A test for tags has been restructured so that more parts of it can easily be run on a platform without a working GnuPG. * es/test-gpg-tags: t6302: skip only signed tags rather than all tests when GPG is missing t6302: also test annotated in addition to signed tags t6302: normalize names and descriptions of signed tags lib-gpg: drop unnecessary "missing GPG" warning
2016-04-03Merge branch 'jk/getwholeline-getdelim-empty'Libravatar Junio C Hamano2-1/+11
strbuf_getwholeline() did not NUL-terminate the buffer on certain corner cases in its error codepath. * jk/getwholeline-getdelim-empty: strbuf_getwholeline: NUL-terminate getdelim buffer on error
2016-04-03Merge branch 'rj/xdiff-prepare-plug-leak-on-error-codepath'Libravatar Junio C Hamano1-1/+2
A small memory leak in an error codepath has been plugged in xdiff code. * rj/xdiff-prepare-plug-leak-on-error-codepath: xdiff/xprepare: fix a memory leak xdiff/xprepare: use the XDF_DIFF_ALG() macro to access flag bits
2016-04-03Merge branch 'jc/index-pack'Libravatar Junio C Hamano1-18/+17
Code clean-up. * jc/index-pack: index-pack: add a helper function to derive .idx/.keep filename
2016-04-03Merge branch 'gf/fetch-pack-direct-object-fetch'Libravatar Junio C Hamano3-3/+31
Fetching of history by naming a commit object name directly didn't work across remote-curl transport. * gf/fetch-pack-direct-object-fetch: fetch-pack: update the documentation for "<refs>..." arguments fetch-pack: fix object_id of exact sha1
2016-04-03Merge branch 'jc/maint-index-pack-keep'Libravatar Junio C Hamano2-1/+7
"git index-pack --keep[=<msg>] pack-$name.pack" simply did not work. * jc/maint-index-pack-keep: index-pack: correct --keep[=<msg>]
2016-04-03Merge branch 'mm/lockfile-error-message'Libravatar Junio C Hamano1-5/+7
* mm/lockfile-error-message: lockfile: improve error message when lockfile exists lockfile: mark strings for translation
2016-04-03Merge branch 'jk/rev-parse-local-env-vars'Libravatar Junio C Hamano2-18/+77
The "--local-env-vars" and "--resolve-git-dir" options of "git rev-parse" failed to work outside a repository when the command's option parsing was rewritten in 1.8.5 era. * jk/rev-parse-local-env-vars: rev-parse: let some options run outside repository t1515: add tests for rev-parse out-of-repo helpers
2016-04-03Merge branch 'jk/config-get-urlmatch'Libravatar Junio C Hamano3-11/+16
"git config --get-urlmatch", unlike other variants of the "git config --get" family, did not signal error with its exit status when there was no matching configuration. * jk/config-get-urlmatch: Documentation/git-config: fix --get-all description Documentation/git-config: use bulleted list for exit codes config: fail if --get-urlmatch finds no value
2016-04-03Merge branch 'jk/add-i-highlight'Libravatar Junio C Hamano2-2/+18
* jk/add-i-highlight: add--interactive: allow custom diff highlighting programs
2016-04-03Merge branch 'jk/credential-clear-config'Libravatar Junio C Hamano4-5/+25
The credential.helper configuration variable is cumulative and there is no good way to override it from the command line. As a special case, giving an empty string as its value now serves as the signal to clear the values specified in various files. * jk/credential-clear-config: credential: let empty credential specs reset helper list
2016-04-03Merge branch 'mp/upload-pack-use-embedded-args'Libravatar Junio C Hamano1-14/+11
The embedded args argv-array in the child process is used to build the command line to run pack-objects instead of using a separate array of strings. * mp/upload-pack-use-embedded-args: upload-pack: use argv_array for pack_objects
2016-04-03Merge branch 'mm/diff-renames-default'Libravatar Junio C Hamano12-46/+131
The end-user facing Porcelain level commands like "diff" and "log" now enables the rename detection by default. * mm/diff-renames-default: diff: activate diff.renames by default log: introduce init_log_defaults() t: add tests for diff.renames (true/false/unset) t4001-diff-rename: wrap file creations in a test Documentation/diff-config: fix description of diff.renames
2016-04-03Merge branch 'mm/readme-markdown'Libravatar Junio C Hamano2-5/+4
Fix a few broken links in README.md and also teach rpmbuild that there is no README. * mm/readme-markdown: README.md: don't take 'commandname' literally git.spec.in: use README.md, not README
2016-04-03Git 2.8.1Libravatar Junio C Hamano4-3/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-03Merge branch 'mm/readme-markdown' into maintLibravatar Junio C Hamano1-1/+1
* 'mm/readme-markdown': git.spec.in: use README.md, not README
2016-04-03README.md: don't take 'commandname' literallyLibravatar Matthieu Moy1-4/+3
The link to Documentation/git-commandname.txt was obviously broken. Remove the link and make it clear that it is not a literal path name by using *italics* in makdown. Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-04-03git.spec.in: use README.md, not READMELibravatar Matthieu Moy1-1/+1
The file was renamed in 4ad21f5 (README: use markdown syntax, 2016-02-25), but that commit forgot to update git.spec.in, which caused the rpmbuild target in the Makefile to fail. Reported-by: Ron Isaacson <isaacson.ljits@gmail.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30MSVC: use shipped headers instead of fallback definitionsLibravatar Sven Strickroth2-1/+5
VS2010 comes with stdint.h [1] VS2013 comes with inttypes.h [2] [1] https://stackoverflow.com/a/2628014/3906760 [2] https://blogs.msdn.microsoft.com/vcblog/2013/07/19/c99-library-support-in-visual-studio-2013/ Signed-off-by: Sven Strickroth <sven@cs-ware.de> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Acked-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-30MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any moreLibravatar Sven Strickroth1-1/+1
In MSVC2015 the behavior of vsnprintf was changed. W/o this fix there is one character missing at the end. Signed-off-by: Sven Strickroth <sven@cs-ware.de> Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Acked-by: Sebastian Schuberth <sschuberth@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-29Documentation: git diff --check detects conflict markersLibravatar Ori Avtalion1-2/+2
Signed-off-by: Ori Avtalion <ori@avtalion.name> Signed-off-by: Junio C Hamano <gitster@pobox.com>