summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-05-11mingw: remove unnecessary definitionLibravatar Johannes Schindelin1-3/+0
For some reason, the definition of the MINGW version of `mark_as_git_dir()` slipped into this developer's patch series to support building Git for Windows. As the `mark_as_git_dir()` function is not needed at all anymore (it was used originally to support the core.hideDotFiles = gitDirOnly setting, but we now use a different method to support that case), let's just remove it. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-05-11mingw: introduce the 'core.hideDotFiles' settingLibravatar Johannes Schindelin7-0/+147
On Unix (and Linux), files and directories whose names start with a dot are usually not shown by default. This convention is used by Git: the .git/ directory should be left alone by regular users, and only accessed through Git itself. On Windows, no such convention exists. Instead, there is an explicit flag to mark files or directories as hidden. In the early days, Git for Windows did not mark the .git/ directory (or for that matter, any file or directory whose name starts with a dot) hidden. This lead to quite a bit of confusion, and even loss of data. Consequently, Git for Windows introduced the core.hideDotFiles setting, with three possible values: true, false, and dotGitOnly, defaulting to marking only the .git/ directory as hidden. The rationale: users do not need to access .git/ directly, and indeed (as was demonstrated) should not really see that directory, either. However, not all dot files should be hidden by default, as e.g. Eclipse does not show them (and the user would therefore be unable to see, say, a .gitattributes file). In over five years since the last attempt to bring this patch into core Git, a slightly buggy version of this patch has served Git for Windows' users well: no single report indicated problems with the hidden .git/ directory, and the stream of problems caused by the previously non-hidden .git/ directory simply stopped. The bugs have been fixed during the process of getting this patch upstream. Note that there is a funny quirk we have to pay attention to when creating hidden files: we use Win32's _wopen() function which transmogrifies its arguments and hands off to Win32's CreateFile() function. That latter function errors out with ERROR_ACCESS_DENIED (the equivalent of EACCES) when the equivalent of the O_CREAT flag was passed and the file attributes (including the hidden flag) do not match an existing file's. And _wopen() accepts no parameter that would be transmogrified into said hidden flag. Therefore, we simply try again without O_CREAT. A slightly different method is required for our fopen()/freopen() function as we cannot even *remove* the implicit O_CREAT flag. Therefore, we briefly mark existing files as unhidden when opening them via fopen()/freopen(). The ERROR_ACCESS_DENIED error can also be triggered by opening a file that is marked as a system file (which is unlikely to be tracked in Git), and by trying to create a file that has *just* been deleted and is awaiting the last open handles to be released (which would be handled better by the "Try again?" logic, a story for a different patch series, though). In both cases, it does not matter much if we try again without the O_CREAT flag, read: it does not hurt, either. For details how ERROR_ACCESS_DENIED can be triggered, see https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858 Original-patch-by: Erik Faye-Lund <kusmabite@gmail.com> Initial-Test-By: Pat Thoyts <patthoyts@users.sourceforge.net> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-28Git 2.8Libravatar Junio C Hamano3-9/+14
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-24Merge branch 'ls/p4-doc-markup'Libravatar Junio C Hamano1-6/+4
* ls/p4-doc-markup: Documentation: fix git-p4 AsciiDoc formatting Documentation: use ASCII quotation marks in git-p4
2016-03-24Merge branch 'js/mingw-tests-2.8'Libravatar Junio C Hamano4-11/+19
* js/mingw-tests-2.8: mingw: skip some tests in t9115 due to file name issues t1300: fix the new --show-origin tests on Windows t1300-repo-config: make it resilient to being run via 'sh -x' config --show-origin: report paths with forward slashes
2016-03-24Merge branch 'sb/submodule-module-list-pathspec-fix'Libravatar Junio C Hamano2-3/+16
A fix for a small regression in "module_list" helper that was rewritten in C (also applies to 2.7.x). * sb/submodule-module-list-pathspec-fix: submodule: fix regression for deinit without submodules
2016-03-23Merge branch 'master' of git://github.com/git-l10n/git-poLibravatar Junio C Hamano3-3761/+11533
* 'master' of git://github.com/git-l10n/git-po: l10n: pt_PT: Update and add new translations l10n: ca.po: update translation l10n: vi.po (2530t): Update translation
2016-03-23Documentation: fix git-p4 AsciiDoc formattingLibravatar Lars Schneider1-5/+3
Noticed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23mingw: skip some tests in t9115 due to file name issuesLibravatar Johannes Schindelin1-2/+2
These two tests wanted to write file names which are incompatible with Windows' file naming rules (even if they pass using Cygwin due to Cygwin's magic path mangling). While at it, skip the same tests also on MacOSX/HFS, as pointed out by Torsten Bögershausen. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Torsten Bögershausen <tboegi@web.de> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23t1300: fix the new --show-origin tests on WindowsLibravatar Johannes Schindelin1-3/+6
On Windows, we have that funny situation where the test script can refer to POSIX paths because it runs in a shell that uses a POSIX emulation layer ("MSYS2 runtime"). Yet, git.exe does *not* understand POSIX paths at all but only pure Windows paths. So let's just convert the POSIX paths to Windows paths before passing them on to Git, using `pwd` (which is already modified on Windows to output Windows paths). While fixing the new tests on Windows, we also have to exclude the tests that want to write a file with a name that is illegal on Windows (unfortunately, there is more than one test trying to make use of that file). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23t1300-repo-config: make it resilient to being run via 'sh -x'Libravatar Johannes Schindelin1-6/+2
One way to diagnose broken regression tests is to run the test script using 'sh -x t... -i -v' to find out which call actually demonstrates the symptom. Hence it is pretty counterproductive if the test script behaves differently when being run via 'sh -x', in particular when using test_cmp or test_i18ncmp on redirected stderr. A more recent way "sh tXXXX -i -v -x" has the same issue. So let's use test_i18ngrep (as suggested by Jonathan Nieder) instead of test_cmp/test_i18ncmp to verify that stderr looks as expected. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23config --show-origin: report paths with forward slashesLibravatar Johannes Schindelin2-0/+9
On Windows, the backslash is the native directory separator, but all supported Windows versions also accept the forward slash in most circumstances. Our tests expect forward slashes. Relative paths are generated by Git using forward slashes. So let's try to be consistent and use forward slashes in the $HOME part of the paths reported by `git config --show-origin`, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-23Merge branch 'master' of https://github.com/vnwildman/gitLibravatar Jiang Xin1-30/+125
* 'master' of https://github.com/vnwildman/git: l10n: vi.po (2530t): Update translation
2016-03-23Merge branch 'master' of git://github.com/alexhenrie/git-poLibravatar Jiang Xin1-1365/+1581
* 'master' of git://github.com/alexhenrie/git-po: l10n: ca.po: update translation
2016-03-22submodule: fix regression for deinit without submodulesLibravatar Stefan Beller2-3/+16
Per Cederqvist wrote: > It used to be possible to run > > git submodule deinit -f . > > to remove any submodules, no matter how many submodules you had. That > is no longer possible in projects that don't have any submodules at > all. The command will fail with: > > error: pathspec '.' did not match any file(s) known to git. This regression was introduced in 74703a1e4dfc (submodule: rewrite `module_list` shell function in C, 2015-09-02), as we changed the order of checking in new module listing to first check whether it is a gitlin before feeding it to match_pathspec(). It used to be that a pathspec that does not match any path were diagnosed as an error, but the new code complains for a pathspec that does not match any submodule path. Arguably the new behaviour may give us a better diagnosis, but that is inconsistent with the suggestion "deinit" gives, and also this was an unintended accident. The new behaviour hopefully can be redesigned and implemented better in future releases, but for now, switch these two checks to restore the same behavior as before. In an empty repository, giving the pathspec '.' will still get the same "did not match" error, but that is the same bug we had before 1.7.0. Reported-by: Per Cederqvist <cederp@opera.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-22l10n: pt_PT: Update and add new translationsLibravatar Vasco Almeida1-2366/+9827
Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
2016-03-21l10n: ca.po: update translationLibravatar Alex Henrie1-1365/+1581
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2016-03-21Git 2.8-rc4Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Sync with maintLibravatar Junio C Hamano2-3/+3
* maint: Documentation: fix broken linkgit to git-config git-compat-util: st_add4: work around gcc 4.2.x compiler crash
2016-03-21Merge branch 'mm/doc-hooks-linkgit-fix' into maintLibravatar Junio C Hamano1-1/+1
* mm/doc-hooks-linkgit-fix: Documentation: fix broken linkgit to git-config
2016-03-21Documentation: fix broken linkgit to git-configLibravatar Matthieu Moy1-1/+1
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Documentation: use ASCII quotation marks in git-p4Libravatar Lars Schneider1-1/+1
Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Merge branch 'tb/avoid-gcc-on-darwin-10-6'Libravatar Junio C Hamano1-3/+0
* tb/avoid-gcc-on-darwin-10-6: Revert "config.mak.uname: use clang for Mac OS X 10.6"
2016-03-21Revert "config.mak.uname: use clang for Mac OS X 10.6"Libravatar Eric Sunshine1-3/+0
This reverts commit 7b6daf8d2fee1a9866b1d4eddbfaa5dbc42c5dbb. Now that st_add4() has been patched to work around the gcc 4.2.x compiler crash, revert the sledge-hammer approach of forcing Mac OS X 10.6 to unconditionally use 'clang' rather than the default compiler (gcc). Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-21Merge branch 'es/st-add4-gcc-4.2-workaround' into maintLibravatar Junio C Hamano1-2/+2
* es/st-add4-gcc-4.2-workaround: git-compat-util: st_add4: work around gcc 4.2.x compiler crash
2016-03-21git-compat-util: st_add4: work around gcc 4.2.x compiler crashLibravatar Eric Sunshine1-2/+2
Although changes by 5b442c4 (tree-diff: catch integer overflow in combine_diff_path allocation, 2016-02-19) are perfectly valid, they unfortunately trigger an internal compiler error in gcc 4.2.x: combine-diff.c: In function 'diff_tree_combined': combine-diff.c:1391: internal compiler error: Segmentation fault: 11 Experimentation reveals that changing st_add4()'s argument evaluation order is sufficient to sidestep this problem. Although st_add3() does not trigger the compiler bug, for style consistency, change its argument evaluation order to match. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-20Merge tag 'l10n-2.8.0-rnd3' of git://github.com/git-l10n/git-poLibravatar Junio C Hamano6-82/+283
l10n-2.8.0-rnd3 * tag 'l10n-2.8.0-rnd3' of git://github.com/git-l10n/git-po: l10n: zh_CN: review for git v2.8.0 l10n round 2 l10n: de.po: add missing newlines l10n: de.po: translate 22 new messages l10n: ko.po: Update Korean translation l10n: fr.po v2.8.0 round 3 l10n: sv.po: Update Swedish translation (2530t0f0u) l10n: ru.po: update Russian translation
2016-03-20Merge branch 'master' of git://ozlabs.org/~paulus/gitkLibravatar Junio C Hamano4-804/+788
* 'master' of git://ozlabs.org/~paulus/gitk: gitk: Follow themed bgcolor in help dialogs gitk: fr.po: Sync translations with git gitk: Update French translation (311t) gitk: Update German translation gitk: Update Bulgarian translation (311t)
2016-03-21l10n: vi.po (2530t): Update translationLibravatar Tran Ngoc Quan1-30/+125
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2016-03-20l10n: zh_CN: review for git v2.8.0 l10n round 2Libravatar Ray Chen1-5/+5
Signed-off-by: Ray Chen <oldsharp@gmail.com>
2016-03-19gitk: Follow themed bgcolor in help dialogsLibravatar Guillermo S. Romero1-4/+4
Make Help > About & Key bindings dialogs readable if theme has changed font color to something incompatible with white. Signed-off-by: Guillermo S. Romero <gsromero@infernal-iceberg.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: fr.po: Sync translations with gitLibravatar Jean-Noel Avila1-50/+46
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: Update French translation (311t)Libravatar Jean-Noel Avila1-388/+373
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: Update German translationLibravatar Ralf Thielow1-46/+33
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-19gitk: Update Bulgarian translation (311t)Libravatar Alexander Shopov1-320/+336
Signed-off-by: Alexander Shopov <ash@kambanaria.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-18RelNotes: remove the mention of !reinclusionLibravatar Junio C Hamano1-5/+0
We will be postponing this to a later cycle. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-18Revert "Merge branch 'nd/exclusion-regression-fix'"Libravatar Junio C Hamano7-378/+12
This reverts commit 5e57f9c3dfe7dd44a1b56bb5b3327d7a1356ec7c, reversing changes made to e79112d21024beb997951381db21a70b087d459d. We will be postponing nd/exclusion-regression-fix topic to later cycle.
2016-03-18Revert "Merge branch 'jc/exclusion-doc'"Libravatar Junio C Hamano1-37/+1
This reverts commit e80aae51f2be908e37fca47ea0dff6d7861c8497, reversing changes made to 68846a92eafa6b2bfae778d0a656443a9fa61e59. We will be postponing nd/exclusion-regression-fix topic to later cycle.
2016-03-17Sync with Git 2.7.4Libravatar Junio C Hamano5-3/+50
* maint: Git 2.7.4 Git 2.6.6 Git 2.5.5 Git 2.4.11
2016-03-17Git 2.7.4Libravatar Junio C Hamano3-2/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17l10n: de.po: add missing newlinesLibravatar Ralf Thielow1-2/+3
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2016-03-17Sync with Git 2.6.6Libravatar Junio C Hamano4-3/+39
* maint-2.6: Git 2.6.6 Git 2.5.5 Git 2.4.11
2016-03-17Git 2.6.6Libravatar Junio C Hamano4-3/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'maint-2.5' into maint-2.6Libravatar Junio C Hamano16-148/+110
* maint-2.5: Git 2.5.5 Git 2.4.11 list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-17Git 2.5.5Libravatar Junio C Hamano4-3/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'maint-2.4' into maint-2.5Libravatar Junio C Hamano15-147/+97
* maint-2.4: Git 2.4.11 list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-17Git 2.4.11Libravatar Junio C Hamano4-3/+15
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-03-17Merge branch 'jk/path-name-safety-2.4' into maint-2.4Libravatar Junio C Hamano13-146/+84
Bugfix patches were backported from the 'master' front to plug heap corruption holes, to catch integer overflow in the computation of pathname lengths, and to get rid of the name_path API. Both of these would have resulted in writing over an under-allocated buffer when formulating pathnames while tree traversal. * jk/path-name-safety-2.4: list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
2016-03-17l10n: de.po: translate 22 new messagesLibravatar Ralf Thielow1-37/+136
Translate 22 new messages came from git.pot update in f1522b2 (l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)) and a5a4168 (l10n: git.pot: Add one new message for Git 2.8.0). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Acked-by: Matthias Rüster <matthias.ruester@gmail.com>
2016-03-16Git 2.8-rc3Libravatar Junio C Hamano2-1/+18
Signed-off-by: Junio C Hamano <gitster@pobox.com>