summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-06-14blame: release string_list after use in parse_color_fields()Libravatar René Scharfe1-0/+1
Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-04-24builtin/blame: add new coloring scheme configLibravatar Stefan Beller3-0/+27
Add a config option that allows selecting the default color scheme for blame. The command line still takes precedence over the configuration. It is to be seen, how color.ui will integrate with blame coloring. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-04-24builtin/blame: highlight recently changed linesLibravatar Stefan Beller3-4/+118
Choose a different color for dates and imitate a 'temperature cool down' depending upon age. Originally I had planned to have the temperature cool down dependent on the age of the project or file for example, as that might scale better, but that can be added on top of this commit, e.g. instead of giving a date, you could imagine giving a percentage that would be the linearly interpolated between now and the beginning of the file. Similarly to the previous patch, this offers the command line option '--color-by-age' to enable this mode and the config option 'color.blame.highlightrecent' to select colors. A later patch will offer a config option to select the default mode. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-04-24builtin/blame: dim uninteresting metadata linesLibravatar Stefan Beller3-4/+59
When using git-blame lots of lines contain redundant information, for example in hunks that consist of multiple lines, the metadata (commit name, author, date) are repeated. A reader may not be interested in those, so offer an option to color the information that is repeated from the previous line differently. Traditionally, we use CYAN for lines that are less interesting than others (e.g. hunk header), so go with that. The command line option '--color-lines' will trigger the coloring of repeated lines, and the config option 'color.blame.colorLines' is provided to select the color. Setting the config option doesn't imply that repeated lines are colored. A later patch will introduce a config to enable this mode by default. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-02-13color.h: document and modernize headerLibravatar Stefan Beller3-12/+34
Add documentation explaining the functions in color.h. While at it, migrate the function `color_set` into grep.c, where the only callers are. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-21Git 2.16.1Libravatar Junio C Hamano3-2/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-21Merge branch 'bc/hash-algo' into maintLibravatar Junio C Hamano2-1/+18
* bc/hash-algo: t5601-clone: test case-conflicting files on case-insensitive filesystem repository: pre-initialize hash algo pointer
2018-01-21t5601-clone: test case-conflicting files on case-insensitive filesystemLibravatar Eric Sunshine1-0/+17
A recently introduced regression caused a segfault at clone time on case-insensitive filesystems when filenames differing only in case are present. This bug has already been fixed (repository: pre-initialize hash algo pointer, 2018-01-18), but it's not the first time similar problems have arisen. Therefore, introduce a test to catch this case and protect against future regressions. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-19repository: pre-initialize hash algo pointerLibravatar brian m. carlson1-1/+1
There are various git subcommands (among them, clone) which don't set up the repository (that is, they lack RUN_SETUP or RUN_SETUP_GENTLY) but end up needing to have information about the hash algorithm in use. Because the hash algorithm is part of struct repository and it's only initialized in repository setup, we can end up dereferencing a NULL pointer in some cases if we call one of these subcommands and look up the empty blob or empty tree values. A "git clone" of a project that has two paths that differ only in case suffers from this if it is run on a case insensitive platform. When the command attempts to check out one of these two paths after checking out the other one, the checkout codepath needs to see if the version that is already on the filesystem (which should not happen if the FS were case sensitive) is dirty, and it needs to exercise the hashing code at that point. In the future, we can add a command line option for this or read it from the configuration, but until we're ready to expose that functionality to the user, simply initialize the repository structure to use the current hash algorithm, SHA-1. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-17Git 2.16Libravatar Junio C Hamano2-3/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-16Merge tag 'l10n-2.16.0-rnd2' of git://github.com/git-l10n/git-poLibravatar Junio C Hamano12-20028/+22202
l10n for Git 2.16.0 round 2 * tag 'l10n-2.16.0-rnd2' of git://github.com/git-l10n/git-po: (24 commits) l10n: de.po: translate 72 new messages l10n: de.po: improve messages when a branch starts to track another ref l10n: bg.po: Updated Bulgarian translation (3288t) l10n: TEAMS: add zh_CN team members l10n: zh_CN: for git v2.16.0 l10n round 2 l10n: sv.po: Update Swedish translation (3288t0f0u) l10n: ru.po: update Russian translation l10n: TEAMS: Add ko team members l10n: ko.po: Update Korean translation l10n: fr.po 2.16 round 2 l10n: es.po: Spanish translation 2.16.0 round 2 l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2 l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed) l10n: es.po: Update Spanish Translation v2.16.0 l10n: fr.po v2.16.0 round 1 l10n: bg.po: Updated Bulgarian translation (3284t) l10n: sv.po: Update Swedish translation (3284t0f0u) l10n: fr.po: "worktree list" mistranslated as prune l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed) l10n: fixes to German translation ...
2018-01-15l10n: de.po: translate 72 new messagesLibravatar Ralf Thielow1-1934/+2172
Translate 72 new messages came from git.pot update in 18a907225 (l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed)) and 005c62fe4 (l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
2018-01-15l10n: de.po: improve messages when a branch starts to track another refLibravatar Ralf Thielow1-8/+8
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2018-01-12RelNotes: minor typofixLibravatar SZEDER Gábor1-1/+1
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-11Git 2.16-rc2Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-11Merge branch 'jh/object-filtering'Libravatar Junio C Hamano1-1/+1
Hotfix for a topic already in 'master'. * jh/object-filtering: oidset: don't return value from oidset_init
2018-01-11Merge branch 'tg/worktree-create-tracking'Libravatar Junio C Hamano1-1/+1
Doc hotfix. * tg/worktree-create-tracking: Documentation/git-worktree.txt: add missing `
2018-01-11Merge branch 'js/test-with-ws-in-path'Libravatar Junio C Hamano1-4/+4
Hot fix to a test. * js/test-with-ws-in-path: t3900: add some more quotes
2018-01-11l10n: bg.po: Updated Bulgarian translation (3288t)Libravatar Alexander Shopov1-181/+203
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2018-01-11Documentation/git-worktree.txt: add missing `Libravatar Ralf Thielow1-1/+1
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-10t3900: add some more quotesLibravatar Beat Bolli1-4/+4
In 89a70b80 ("t0302 & t3900: add forgotten quotes", 2018-01-03), quotes were added to protect against spaces in $HOME. In the test_when_finished command, two files are deleted which must be quoted individually. [jc: with \$HOME in the test_when_finished command quoted, as pointed out by j6t]. Signed-off-by: Beat Bolli <dev+git@drbeat.li> Helped-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-10RelNotes update before -rc2Libravatar Junio C Hamano1-0/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-10Merge branch 'js/perl-path-workaround-in-tests'Libravatar Junio C Hamano1-1/+16
* js/perl-path-workaround-in-tests: mingw: handle GITPERLLIB in t0021 in a Windows-compatible way
2018-01-10Merge branch 'ew/empty-merge-with-dirty-index'Libravatar Junio C Hamano2-1/+51
"git merge -s recursive" did not correctly abort when the index is dirty, if the merged tree happened to be the same as the current HEAD, which has been fixed. * ew/empty-merge-with-dirty-index: merge-recursive: do not look at the index during recursive merge
2018-01-10Merge branch 'ma/bisect-leakfix'Libravatar Junio C Hamano1-2/+4
A hotfix for a recent update that broke 'git bisect'. * ma/bisect-leakfix: bisect: fix a regression causing a segfault
2018-01-10Merge branch 'js/fix-merge-arg-quoting-in-rebase-p'Libravatar Junio C Hamano2-3/+20
"git rebase -p -X<option>" did not propagate the option properly down to underlying merge strategy backend. * js/fix-merge-arg-quoting-in-rebase-p: rebase -p: fix quoting when calling `git merge`
2018-01-10mingw: handle GITPERLLIB in t0021 in a Windows-compatible wayLibravatar Johannes Schindelin1-1/+16
Git's assumption that all path lists are colon-separated is not only wrong on Windows, it is not even an assumption that is compatible with POSIX. In the interest of time, let's not try to fix this properly but simply work around the obvious breakage on Windows, where the MSYS2 Bash used by Git for Windows to interpret the Git's Unix shell scripts will automagically convert path lists in the environment to semicolon-separated lists of Windows paths (with drive letter and the corresponding colon and all that jazz). In other words, we simply look whether there is a semicolon in GITPERLLIB and split by semicolons if found instead of colons. This is not fool-proof, of course, as the path list could consist of a single path. But that is not the case in Git for Windows' test suite, there are always two paths in GITPERLLIB. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-10l10n: TEAMS: add zh_CN team membersLibravatar Jiang Xin1-0/+1
Add Fangyi Zhou to zh_CN l10n team members. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2018-01-10l10n: zh_CN: for git v2.16.0 l10n round 2Libravatar Jiang Xin1-1920/+2144
Translate 72 messages (3288t0f0u) for git v2.16.0-rc1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Reviewed-by: 依云 <lilydjwg@gmail.com> Reviewed-by: Fangyi Zhou <fangyi.zhou@yuriko.moe>
2018-01-10Merge branch 'master' of git://github.com/nafmo/git-l10n-svLibravatar Jiang Xin1-181/+197
* 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (3288t0f0u)
2018-01-10Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ruLibravatar Jiang Xin1-1918/+2092
* 'russian-l10n' of https://github.com/DJm00n/git-po-ru: l10n: ru.po: update Russian translation
2018-01-09Merge branch 'jk/doc-diff-options'Libravatar Junio C Hamano1-0/+6
Doc update. * jk/doc-diff-options: docs/diff-options: clarify scope of diff-filter types
2018-01-09Merge branch 'bw/protocol-v1'Libravatar Junio C Hamano1-6/+4
Test fix for a topic already in 'master'. * bw/protocol-v1: http: fix v1 protocol tests with apache httpd < 2.4
2018-01-09Merge branch 'sg/travis-check-untracked'Libravatar Junio C Hamano4-2/+22
* sg/travis-check-untracked: travis-ci: check that all build artifacts are .gitignore-d travis-ci: don't store P4 and Git LFS in the working tree
2018-01-09Merge branch 'js/test-with-ws-in-path'Libravatar Junio C Hamano5-10/+10
Test fixes. * js/test-with-ws-in-path: t0302 & t3900: add forgotten quotes Allow the test suite to pass in a directory whose name contains spaces
2018-01-09Merge branch 'bc/submitting-patches-in-asciidoc'Libravatar Junio C Hamano1-1/+1
Doc readability update. * bc/submitting-patches-in-asciidoc: doc/SubmittingPatches: improve text formatting
2018-01-09Merge branch 'sg/travis-skip-identical-test'Libravatar Junio C Hamano6-2/+60
Avoid repeatedly testing the same tree in TravisCI that have been tested successfully already. * sg/travis-skip-identical-test: travis-ci: record and skip successfully built trees travis-ci: create the cache directory early in the build process travis-ci: print the "tip of branch is exactly at tag" message in color
2018-01-09Merge branch 'ab/dc-sha1-loose-ends'Libravatar Junio C Hamano2-3/+0
Tying loose ends for the recent integration work of collision-detecting SHA-1 implementation. * ab/dc-sha1-loose-ends: Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1
2018-01-09Merge branch 'sg/travis-fixes'Libravatar Junio C Hamano6-1/+22
Assorted updates for TravisCI integration. * sg/travis-fixes: travis-ci: only print test failures if there are test results available travis-ci: save prove state for the 32 bit Linux build travis-ci: don't install default addon packages for the 32 bit Linux build travis-ci: fine tune the use of 'set -x' in 'ci/*' scripts
2018-01-09l10n: sv.po: Update Swedish translation (3288t0f0u)Libravatar Peter Krefting1-181/+197
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2018-01-09Merge branch 'js/misc-git-gui-stuff' of ../git-guiLibravatar Junio C Hamano2-1/+27
* 'js/misc-git-gui-stuff' of ../git-gui: git-gui: allow Ctrl+T to toggle multiple paths git-gui: fix exception when trying to stage with empty file list git-gui: avoid exception upon Ctrl+T in an empty list git gui: fix staging a second line to a 1-line file
2018-01-09git-gui: allow Ctrl+T to toggle multiple pathsLibravatar Johannes Schindelin1-0/+13
It is possible to select multiple files in the "Unstaged Changes" and the "Staged Changes" lists. But when hitting Ctrl+T, surprisingly only one entry is handled, not all selected ones. Let's just use the same code path as for the "Stage To Commit" and the "Unstage From Commit" menu items. This fixes https://github.com/git-for-windows/git/issues/1012 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-09git-gui: fix exception when trying to stage with empty file listLibravatar Johannes Schindelin1-2/+10
If there is nothing to stage, there is nothing to stage. Let's not try to, even if the file list contains nothing at all. This fixes https://github.com/git-for-windows/git/issues/1075 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-09git-gui: avoid exception upon Ctrl+T in an empty listLibravatar Johannes Schindelin1-0/+4
Previously unstaged files can be staged by clicking on them and then pressing Ctrl+T. Conveniently, the next unstaged file is selected automatically so that the unstaged files can be staged by repeatedly pressing Ctrl+T. When a user hits Ctrl+T one time too many, though, Git GUI used to throw this exception: expected number but got "" expected number but got "" while executing "expr {int([lindex [$w tag ranges in_diff] 0])}" (procedure "toggle_or_diff" line 13) invoked from within "toggle_or_diff toggle .vpane.files.workdir.list " (command bound to event) Let's just avoid that by skipping the operation when there are no more files to stage. This fixes https://github.com/git-for-windows/git/issues/1060 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-09git gui: fix staging a second line to a 1-line fileLibravatar Johannes Schindelin1-0/+1
When a 1-line file is augmented by a second line, and the user tries to stage that single line via the "Stage Line" context menu item, we do not want to see "apply: corrupt patch at line 5". The reason for this error was that the hunk header looks like this: @@ -1 +1,2 @@ but the existing code expects the original range always to contain a comma. This problem is easily fixed by cutting the string "1 +1,2" (that Git GUI formerly mistook for the starting line) at the space. This fixes https://github.com/git-for-windows/git/issues/515 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-09Merge branch 'ew/empty-merge-with-dirty-index-maint' into ↵Libravatar Junio C Hamano2-1/+51
ew/empty-merge-with-dirty-index * ew/empty-merge-with-dirty-index-maint: merge-recursive: do not look at the index during recursive merge
2018-01-09merge-recursive: do not look at the index during recursive mergeLibravatar Junio C Hamano2-1/+51
When merging another branch into ours, if their tree is the same as the common ancestor's, we can declare that our tree represents the result of three-way merge. In such a case, the recursive merge backend incorrectly used to create a commit out of our index, even when the index has changes. A recent fix attempted to prevent this by adding a comparison between "our" tree and the index, but forgot that this check must be restricted only to the outermost merge. Inner merges performed by the recursive backend across merge bases are by definition made from scratch without having any local changes added to the index. The call to index_has_changes() during an inner merge is working on the index that has no relation to the merge being performed, preventing legitimate merges from getting carried out. Fix it by limiting the check to the outermost merge. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-01-09l10n: ru.po: update Russian translationLibravatar Dimitriy Ryazantcev1-1918/+2092
Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
2018-01-09l10n: TEAMS: Add ko team membersLibravatar Changwoo Ryu1-0/+2
Add Gwan-gyeong Mun and Sihyeon Jang. Signed-off-by: Changwoo Ryu <cwryu@debian.org>
2018-01-09Merge branch 'ko/merge-l10n' of https://github.com/git-l10n-ko/git-l10n-koLibravatar Jiang Xin2-1944/+2200
* 'ko/merge-l10n' of https://github.com/git-l10n-ko/git-l10n-ko: l10n: ko.po: Update Korean translation