ebf31e7 | Johannes Schindelin | 11 May 2016, 08:43:41 UTC | mingw: remove unnecessary definition 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> | 11 May 2016, 20:55:05 UTC |
f30afda | Johannes Schindelin | 11 May 2016, 08:43:37 UTC | mingw: introduce the 'core.hideDotFiles' setting 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> | 11 May 2016, 20:54:53 UTC |
90f7b16 | Junio C Hamano | 28 March 2016, 19:19:45 UTC | Git 2.8 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 March 2016, 19:19:45 UTC |
56331f8 | Junio C Hamano | 24 March 2016, 19:28:06 UTC | Merge branch 'ls/p4-doc-markup' * ls/p4-doc-markup: Documentation: fix git-p4 AsciiDoc formatting Documentation: use ASCII quotation marks in git-p4 | 24 March 2016, 19:28:06 UTC |
269fe3a | Junio C Hamano | 24 March 2016, 19:27:58 UTC | Merge branch 'js/mingw-tests-2.8' * 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 | 24 March 2016, 19:27:58 UTC |
2a4c8c3 | Junio C Hamano | 24 March 2016, 19:27:12 UTC | Merge branch 'sb/submodule-module-list-pathspec-fix' 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 | 24 March 2016, 19:27:13 UTC |
7e4ba36 | Junio C Hamano | 23 March 2016, 19:22:42 UTC | Merge branch 'master' of git://github.com/git-l10n/git-po * '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 | 23 March 2016, 19:22:42 UTC |
887523e | Lars Schneider | 23 March 2016, 10:59:01 UTC | Documentation: fix git-p4 AsciiDoc formatting Noticed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 23 March 2016, 17:09:11 UTC |
8257d3b | Johannes Schindelin | 23 March 2016, 10:55:20 UTC | mingw: skip some tests in t9115 due to file name issues 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> | 23 March 2016, 17:03:37 UTC |
45bf329 | Johannes Schindelin | 23 March 2016, 10:55:13 UTC | t1300: fix the new --show-origin tests on Windows 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> | 23 March 2016, 17:02:46 UTC |
2ec2021 | Johannes Schindelin | 23 March 2016, 10:55:07 UTC | t1300-repo-config: make it resilient to being run via 'sh -x' 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> | 23 March 2016, 16:59:21 UTC |
5ca6b7b | Johannes Schindelin | 23 March 2016, 10:55:00 UTC | config --show-origin: report paths with forward slashes 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> | 23 March 2016, 16:58:48 UTC |
103ee5c | Jiang Xin | 23 March 2016, 15:01:51 UTC | Merge branch 'master' of https://github.com/vnwildman/git * 'master' of https://github.com/vnwildman/git: l10n: vi.po (2530t): Update translation | 23 March 2016, 15:01:51 UTC |
7074956 | Jiang Xin | 23 March 2016, 14:48:14 UTC | Merge branch 'master' of git://github.com/alexhenrie/git-po * 'master' of git://github.com/alexhenrie/git-po: l10n: ca.po: update translation | 23 March 2016, 14:48:14 UTC |
84ba959 | Stefan Beller | 22 March 2016, 23:42:14 UTC | submodule: fix regression for deinit without submodules 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> | 23 March 2016, 02:26:43 UTC |
b3076a0 | Vasco Almeida | 29 January 2016, 20:06:29 UTC | l10n: pt_PT: Update and add new translations Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> | 22 March 2016, 17:23:56 UTC |
4ee278b | Alex Henrie | 22 March 2016, 05:04:22 UTC | l10n: ca.po: update translation Signed-off-by: Alex Henrie <alexhenrie24@gmail.com> | 22 March 2016, 05:04:22 UTC |
808ecd4 | Junio C Hamano | 21 March 2016, 20:41:37 UTC | Git 2.8-rc4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 March 2016, 20:41:37 UTC |
fb238fb | Junio C Hamano | 21 March 2016, 20:32:42 UTC | Sync with maint * maint: Documentation: fix broken linkgit to git-config git-compat-util: st_add4: work around gcc 4.2.x compiler crash | 21 March 2016, 20:32:42 UTC |
a0feb1b | Junio C Hamano | 21 March 2016, 20:32:18 UTC | Merge branch 'mm/doc-hooks-linkgit-fix' into maint * mm/doc-hooks-linkgit-fix: Documentation: fix broken linkgit to git-config | 21 March 2016, 20:32:18 UTC |
ad52148 | Matthieu Moy | 21 March 2016, 18:38:34 UTC | Documentation: fix broken linkgit to git-config Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 March 2016, 20:31:57 UTC |
c6a896b | Lars Schneider | 20 March 2016, 18:39:21 UTC | Documentation: use ASCII quotation marks in git-p4 Signed-off-by: Lars Schneider <larsxschneider@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 21 March 2016, 18:14:24 UTC |
0746773 | Junio C Hamano | 21 March 2016, 16:20:13 UTC | Merge branch 'tb/avoid-gcc-on-darwin-10-6' * tb/avoid-gcc-on-darwin-10-6: Revert "config.mak.uname: use clang for Mac OS X 10.6" | 21 March 2016, 16:20:13 UTC |
c0ed759 | Eric Sunshine | 21 March 2016, 04:35:58 UTC | Revert "config.mak.uname: use clang for Mac OS X 10.6" 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> | 21 March 2016, 16:20:02 UTC |
2ab5c88 | Junio C Hamano | 21 March 2016, 16:19:27 UTC | Merge branch 'es/st-add4-gcc-4.2-workaround' into maint * es/st-add4-gcc-4.2-workaround: git-compat-util: st_add4: work around gcc 4.2.x compiler crash | 21 March 2016, 16:19:27 UTC |
d616fbf | Eric Sunshine | 21 March 2016, 04:35:57 UTC | git-compat-util: st_add4: work around gcc 4.2.x compiler crash 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> | 21 March 2016, 16:18:07 UTC |
b552ff8 | Junio C Hamano | 21 March 2016, 01:06:05 UTC | Merge tag 'l10n-2.8.0-rnd3' of git://github.com/git-l10n/git-po 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 | 21 March 2016, 01:06:05 UTC |
257000c | Junio C Hamano | 21 March 2016, 01:05:10 UTC | Merge branch 'master' of git://ozlabs.org/~paulus/gitk * '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) | 21 March 2016, 01:05:10 UTC |
c2d6740 | Tran Ngoc Quan | 21 March 2016, 00:21:04 UTC | l10n: vi.po (2530t): Update translation Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> | 21 March 2016, 00:21:04 UTC |
26e4cbe | Ray Chen | 16 March 2016, 03:44:44 UTC | l10n: zh_CN: review for git v2.8.0 l10n round 2 Signed-off-by: Ray Chen <oldsharp@gmail.com> | 20 March 2016, 10:46:02 UTC |
22a713c | Guillermo S. Romero | 04 February 2016, 02:32:19 UTC | gitk: Follow themed bgcolor in help dialogs 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> | 19 March 2016, 03:12:21 UTC |
ffbd0d7 | Jean-Noel Avila | 29 January 2016, 20:21:35 UTC | gitk: fr.po: Sync translations with git Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Paul Mackerras <paulus@samba.org> | 19 March 2016, 03:08:52 UTC |
3782d70 | Jean-Noel Avila | 29 January 2016, 20:21:34 UTC | gitk: Update French translation (311t) Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Paul Mackerras <paulus@samba.org> | 19 March 2016, 03:08:52 UTC |
fec7b51 | Ralf Thielow | 12 February 2016, 18:40:39 UTC | gitk: Update German translation Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org> | 19 March 2016, 03:07:34 UTC |
37afa40 | Alexander Shopov | 19 December 2015, 22:36:09 UTC | gitk: Update Bulgarian translation (311t) Signed-off-by: Alexander Shopov <ash@kambanaria.org> Signed-off-by: Paul Mackerras <paulus@samba.org> | 19 March 2016, 03:06:37 UTC |
047057b | Junio C Hamano | 18 March 2016, 18:10:53 UTC | RelNotes: remove the mention of !reinclusion We will be postponing this to a later cycle. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 March 2016, 18:10:53 UTC |
5cee349 | Junio C Hamano | 18 March 2016, 18:06:15 UTC | Revert "Merge branch 'nd/exclusion-regression-fix'" This reverts commit 5e57f9c3dfe7dd44a1b56bb5b3327d7a1356ec7c, reversing changes made to e79112d21024beb997951381db21a70b087d459d. We will be postponing nd/exclusion-regression-fix topic to later cycle. | 18 March 2016, 18:06:15 UTC |
8ad3cb0 | Junio C Hamano | 18 March 2016, 18:05:23 UTC | Revert "Merge branch 'jc/exclusion-doc'" This reverts commit e80aae51f2be908e37fca47ea0dff6d7861c8497, reversing changes made to 68846a92eafa6b2bfae778d0a656443a9fa61e59. We will be postponing nd/exclusion-regression-fix topic to later cycle. | 18 March 2016, 18:05:23 UTC |
44915db | Junio C Hamano | 17 March 2016, 19:54:17 UTC | Sync with Git 2.7.4 * maint: Git 2.7.4 Git 2.6.6 Git 2.5.5 Git 2.4.11 | 17 March 2016, 19:54:17 UTC |
937978e | Junio C Hamano | 17 March 2016, 18:32:13 UTC | Git 2.7.4 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 March 2016, 18:32:13 UTC |
29a382d | Ralf Thielow | 17 March 2016, 18:31:33 UTC | l10n: de.po: add missing newlines Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> | 17 March 2016, 18:31:33 UTC |
8e9cc5f | Junio C Hamano | 17 March 2016, 18:28:52 UTC | Sync with Git 2.6.6 * maint-2.6: Git 2.6.6 Git 2.5.5 Git 2.4.11 | 17 March 2016, 18:28:52 UTC |
e465796 | Junio C Hamano | 17 March 2016, 17:56:06 UTC | Git 2.6.6 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 March 2016, 18:26:41 UTC |
ce4d4e7 | Junio C Hamano | 17 March 2016, 18:26:18 UTC | Merge branch 'maint-2.5' into maint-2.6 * 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 | 17 March 2016, 18:26:18 UTC |
e568e56 | Junio C Hamano | 17 March 2016, 17:28:50 UTC | Git 2.5.5 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 March 2016, 18:24:59 UTC |
c638f3e | Junio C Hamano | 17 March 2016, 18:24:14 UTC | Merge branch 'maint-2.4' into maint-2.5 * 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 | 17 March 2016, 18:24:14 UTC |
7654286 | Junio C Hamano | 17 March 2016, 17:00:44 UTC | Git 2.4.11 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 March 2016, 18:23:05 UTC |
32c6dca | Junio C Hamano | 17 March 2016, 16:55:54 UTC | Merge branch 'jk/path-name-safety-2.4' into maint-2.4 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 | 17 March 2016, 18:22:24 UTC |
603b3ac | Ralf Thielow | 15 March 2016, 17:09:23 UTC | l10n: de.po: translate 22 new messages 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> | 17 March 2016, 17:57:34 UTC |
d9c691a | Junio C Hamano | 16 March 2016, 21:00:18 UTC | Git 2.8-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 21:13:37 UTC |
a0e305c | Junio C Hamano | 16 March 2016, 21:13:25 UTC | Merge branch 'master' of git://bogomips.org/git-svn * 'master' of git://bogomips.org/git-svn: git-svn: fix URL canonicalization during init w/ SVN 1.7+ t9117: test specifying full url to git svn init -T | 16 March 2016, 21:13:25 UTC |
3f97853 | Junio C Hamano | 16 March 2016, 20:17:38 UTC | Sync with maint * maint: 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 | 16 March 2016, 20:17:38 UTC |
2df1363 | Junio C Hamano | 16 March 2016, 20:16:54 UTC | Merge branch 'jc/sane-grep' Recent versions of GNU grep is pickier than before to decide if a file is "binary" and refuse to give line-oriented hits when we expect it to, unless explicitly told with "-a" option. As our scripted Porcelains use sane_grep wrapper for line-oriented data, even when the line may contain non-ASCII payload we took from end-user data, use "grep -a" to implement sane_grep wrapper when using an implementation of "grep" that takes the "-a" option. * jc/sane-grep: rebase-i: clarify "is this commit relevant?" test sane_grep: pass "-a" if grep accepts it | 16 March 2016, 20:16:54 UTC |
9e68980 | Junio C Hamano | 16 March 2016, 20:16:40 UTC | Merge branch 'cn/deprecate-ssh-git-url' The two alternative ways to spell "ssh://" transport have been deprecated for a long time. The last mention of them has finally removed from the documentation. * cn/deprecate-ssh-git-url: Disown ssh+git and git+ssh | 16 March 2016, 20:16:40 UTC |
b557165 | Eric Wong | 16 March 2016, 20:14:08 UTC | git-svn: fix URL canonicalization during init w/ SVN 1.7+ URL canonicalization when full URLs are passed became broken when using SVN::_Core::svn_dirent_canonicalize under SVN 1.7. Ensure we canonicalize paths and URLs with appropriate functions for each type from now on as the path/URL-agnostic SVN::_Core::svn_path_canonicalize function is deprecated in SVN. Tested with the following commands: git svn init -T svn://svn.code.sf.net/p/squirrelmail/code/trunk git svn init -b svn://svn.code.sf.net/p/squirrelmail/code/branches Reported-by: Adam Dinwoodie <adam@dinwoodie.org> http://mid.gmane.org/20160315162344.GM29016@dinwoodie.org Signed-off-by: Eric Wong <normalperson@yhbt.net> | 16 March 2016, 20:16:23 UTC |
d79db92 | Junio C Hamano | 16 March 2016, 20:15:04 UTC | Merge branch 'jk/path-name-safety-2.7' into maint * jk/path-name-safety-2.7: 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 | 16 March 2016, 20:15:04 UTC |
4be4d55 | Adam Dinwoodie | 16 March 2016, 19:09:54 UTC | t9117: test specifying full url to git svn init -T According to the documentation, full URLs can be specified in the `-T` argument to `git svn init`. However, the canonicalization of such arguments squashes together consecutive "/"s, which unsurprisingly breaks http://, svn://, etc URLs. Add a failing test case to provide evidence of that. On systems where Subversion provides svn_path_canonicalize but not svn_dirent_canonicalize (Subversion 1.6 and earlier?), this test passes, as svn_path_canonicalize doesn't mangle the consecutive "/"s. [ew: fixed whitespace] Signed-off-by: Adam Dinwoodie <adam@dinwoodie.org> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 16 March 2016, 19:24:37 UTC |
55c45a7 | Junio C Hamano | 16 March 2016, 17:42:32 UTC | Merge branch 'jk/path-name-safety-2.6' into jk/path-name-safety-2.7 * jk/path-name-safety-2.6: 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 | 16 March 2016, 17:42:32 UTC |
717e355 | Junio C Hamano | 16 March 2016, 17:42:02 UTC | Merge branch 'jk/path-name-safety-2.5' into jk/path-name-safety-2.6 * jk/path-name-safety-2.5: 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 | 16 March 2016, 17:42:02 UTC |
253ce7a | Junio C Hamano | 16 March 2016, 17:41:43 UTC | Merge branch 'jk/path-name-safety-2.4' into jk/path-name-safety-2.5 * 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 | 16 March 2016, 17:41:43 UTC |
2824e18 | Jeff King | 11 February 2016, 22:28:36 UTC | list-objects: pass full pathname to callbacks When we find a blob at "a/b/c", we currently pass this to our show_object_fn callbacks as two components: "a/b/" and "c". Callbacks which want the full value then call path_name(), which concatenates the two. But this is an inefficient interface; the path is a strbuf, and we could simply append "c" to it temporarily, then roll back the length, without creating a new copy. So we could improve this by teaching the callsites of path_name() this trick (and there are only 3). But we can also notice that no callback actually cares about the broken-down representation, and simply pass each callback the full path "a/b/c" as a string. The callback code becomes even simpler, then, as we do not have to worry about freeing an allocated buffer, nor rolling back our modification to the strbuf. This is theoretically less efficient, as some callbacks would not bother to format the final path component. But in practice this is not measurable. Since we use the same strbuf over and over, our work to grow it is amortized, and we really only pay to memcpy a few bytes. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:04 UTC |
dc06dc8 | Jeff King | 11 February 2016, 22:26:44 UTC | list-objects: drop name_path entirely In the previous commit, we left name_path as a thin wrapper around a strbuf. This patch drops it entirely. As a result, every show_object_fn callback needs to be adjusted. However, none of their code needs to be changed at all, because the only use was to pass it to path_name(), which now handles the bare strbuf. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:03 UTC |
f3badae | Jeff King | 11 February 2016, 22:26:18 UTC | list-objects: convert name_path to a strbuf The "struct name_path" data is examined in only two places: we generate it in process_tree(), and we convert it to a single string in path_name(). Everyone else just passes it through to those functions. We can further note that process_tree() already keeps a single strbuf with the leading tree path, for use with tree_entry_interesting(). Instead of building a separate name_path linked list, let's just use the one we already build in "base". This reduces the amount of code (especially tricky code in path_name() which did not check for integer overflows caused by deep or large pathnames). It is also more efficient in some instances. Any time we were using tree_entry_interesting, we were building up the strbuf anyway, so this is an immediate and obvious win there. In cases where we were not, we trade off storing "pathname/" in a strbuf on the heap for each level of the path, instead of two pointers and an int on the stack (with one pointer into the tree object). On a 64-bit system, the latter is 20 bytes; so if path components are less than that on average, this has lower peak memory usage. In practice it probably doesn't matter either way; we are already holding in memory all of the tree objects leading up to each pathname, and for normal-depth pathnames, we are only talking about hundreds of bytes. This patch leaves "struct name_path" as a thin wrapper around the strbuf, to avoid disrupting callbacks. We should fix them, but leaving it out makes this diff easier to view. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:03 UTC |
8eee9f9 | Jeff King | 11 February 2016, 22:24:18 UTC | show_object_with_name: simplify by using path_name() When "git rev-list" shows an object with its associated path name, it does so by walking the name_path linked list and printing each component (stopping at any embedded NULs or newlines). We'd like to eventually get rid of name_path entirely in favor of a single buffer, and dropping this custom printing code is part of that. As a first step, let's use path_name() to format the list into a single buffer, and print that. This is strictly less efficient than the original, but it's a temporary step in the refactoring; our end game will be to get the fully formatted name in the first place. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:03 UTC |
935de81 | Jeff King | 19 February 2016, 11:21:19 UTC | add helpers for detecting size_t overflow Performing computations on size_t variables that we feed to xmalloc and friends can be dangerous, as an integer overflow can cause us to allocate a much smaller chunk than we realized. We already have unsigned_add_overflows(), but let's add unsigned_mult_overflows() to that. Furthermore, rather than have each site manually check and die on overflow, we can provide some helpers that will: - promote the arguments to size_t, so that we know we are doing our computation in the same size of integer that will ultimately be fed to xmalloc - check and die on overflow - return the result so that computations can be done in the parameter list of xmalloc. These functions are a lot uglier to use than normal arithmetic operators (you have to do "st_add(foo, bar)" instead of "foo + bar"). To at least limit the damage, we also provide multi-valued versions. So rather than: st_add(st_add(a, b), st_add(c, d)); you can write: st_add4(a, b, c, d); This isn't nearly as elegant as a varargs function, but it's a lot harder to get it wrong. You don't have to remember to add a sentinel value at the end, and the compiler will complain if you get the number of arguments wrong. This patch adds only the numbered variants required to convert the current code base; we can easily add more later if needed. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:02 UTC |
c6bd2a1 | Jeff King | 11 February 2016, 22:23:48 UTC | http-push: stop using name_path The graph traversal code here passes along a name_path to build up the pathname at which we find each blob. But we never actually do anything with the resulting names, making it a waste of code and memory. This usage came in aa1dbc9 (Update http-push functionality, 2006-03-07), and originally the result was passed to "add_object" (which stored it, but didn't really use it, either). But we stopped using that function in 1f1e895 (Add "named object array" concept, 2006-06-19) in favor of storing just the objects themselves. Moreover, the generation of the name in process_tree() is buggy. It sticks "name" onto the end of the name_path linked list, and then passes it down again as it recurses (instead of "entry.path"). So it's a good thing this was unused, as the resulting path for "a/b/c/d" would end up as "a/a/a/a". Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:02 UTC |
d770187 | Jeff King | 19 February 2016, 11:21:30 UTC | tree-diff: catch integer overflow in combine_diff_path allocation A combine_diff_path struct has two "flex" members allocated alongside the struct: a string to hold the pathname, and an array of parent pointers. We use an "int" to compute this, meaning we may easily overflow it if the pathname is extremely long. We can fix this by using size_t, and checking for overflow with the st_add helper. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 16 March 2016, 17:41:02 UTC |
dcb941e | Jiang Xin | 16 March 2016, 16:11:54 UTC | Merge branch 'fr_v2.8.0_r3' of git://github.com/jnavila/git * 'fr_v2.8.0_r3' of git://github.com/jnavila/git: l10n: fr.po v2.8.0 round 3 | 16 March 2016, 16:11:54 UTC |
13857b2 | Jiang Xin | 16 March 2016, 16:11:13 UTC | Merge branch 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-ko * 'ko/merge-l10n' of https://github.com/changwoo/git-l10n-ko: l10n: ko.po: Update Korean translation | 16 March 2016, 16:11:13 UTC |
6821537 | Jiang Xin | 16 March 2016, 16:10:23 UTC | Merge branch 'master' of git://github.com/nafmo/git-l10n-sv * 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (2530t0f0u) | 16 March 2016, 16:10:23 UTC |
0cb6199 | Changwoo Ryu | 16 March 2016, 01:33:12 UTC | l10n: ko.po: Update Korean translation Signed-off-by: Changwoo Ryu <cwryu@debian.org> | 16 March 2016, 01:33:12 UTC |
23508cb | Jean-Noel Avila | 15 March 2016, 22:01:59 UTC | l10n: fr.po v2.8.0 round 3 Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> | 15 March 2016, 22:01:59 UTC |
aaa89ad | Peter Krefting | 15 March 2016, 21:37:55 UTC | l10n: sv.po: Update Swedish translation (2530t0f0u) Signed-off-by: Peter Krefting <peter@softwolves.pp.se> | 15 March 2016, 21:37:55 UTC |
da0e97d | Dimitriy Ryazantcev | 15 March 2016, 18:55:36 UTC | l10n: ru.po: update Russian translation Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com> | 15 March 2016, 18:55:36 UTC |
c2c5f6b | Junio C Hamano | 14 March 2016, 18:11:25 UTC | RelNotes for 2.8.0: typofix Helped-by: Max Horn Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 March 2016, 17:58:59 UTC |
a7206ba | Junio C Hamano | 15 March 2016, 17:32:20 UTC | Merge branch 'svn-glob' of git://bogomips.org/git-svn * 'svn-glob' of git://bogomips.org/git-svn: git-svn: shorten glob error message git-svn: loosen config globs limitations | 15 March 2016, 17:32:20 UTC |
e7c1132 | Junio C Hamano | 15 March 2016, 17:13:15 UTC | Merge tag 'l10n-2.8.0-rnd2' of git://github.com/git-l10n/git-po l10n-2.8.0-rnd2 * tag 'l10n-2.8.0-rnd2' of git://github.com/git-l10n/git-po: (22 commits) l10n: zh_CN: for git v2.8.0 l10n round 3 l10n: git.pot: Add one new message for Git 2.8.0 l10n: zh_CN: for git v2.8.0 l10n round 2 l10n: fr.po v2.8.0 round 2 l10n: ru.po: update Russian translation l10n: ko: Update Korean translation l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed) l10n: zh_CN: for git v2.8.0 l10n round 1 l10n: de.po: translate 48 new messages l10n: de.po: translate "command" as "Befehl" l10n: de.po: fix interactive rebase message l10n: de.po: add space to abbreviation "z. B." l10n: de.po: fix typo l10n: TEAMS: update Ralf Thielow's email address l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter" l10n: ko.po: Update Korean translation l10n: ru.po: update Russian translation l10n: vi.po (2509t): Updated Vietnamese translation l10n: fr.po v2.8.0 round 1 2509t ... | 15 March 2016, 17:13:15 UTC |
5c0c220 | Jiang Xin | 15 March 2016, 16:27:40 UTC | l10n: zh_CN: for git v2.8.0 l10n round 3 Update 1 new translations (2530t0f0u) for git v2.8.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 15 March 2016, 16:27:40 UTC |
a5a4168 | Jiang Xin | 15 March 2016, 16:20:14 UTC | l10n: git.pot: Add one new message for Git 2.8.0 Add one new message came from this commit: * df22724 wt-status: allow "ahead " to be picked up by l10n Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 15 March 2016, 16:20:14 UTC |
531f756 | Jiang Xin | 15 March 2016, 16:15:59 UTC | Merge branch 'master' of git://github.com/git-l10n/git-po * 'master' of git://github.com/git-l10n/git-po: l10n: zh_CN: for git v2.8.0 l10n round 2 l10n: fr.po v2.8.0 round 2 l10n: ru.po: update Russian translation l10n: ko: Update Korean translation l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed) l10n: zh_CN: for git v2.8.0 l10n round 1 l10n: de.po: translate 48 new messages l10n: de.po: translate "command" as "Befehl" l10n: de.po: fix interactive rebase message l10n: de.po: add space to abbreviation "z. B." l10n: de.po: fix typo l10n: TEAMS: update Ralf Thielow's email address l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter" l10n: ko.po: Update Korean translation l10n: ru.po: update Russian translation l10n: vi.po (2509t): Updated Vietnamese translation l10n: fr.po v2.8.0 round 1 2509t l10n: fr.po: Correct case in sentence l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed) | 15 March 2016, 16:15:59 UTC |
3495628 | Jiang Xin | 12 March 2016, 14:09:24 UTC | l10n: zh_CN: for git v2.8.0 l10n round 2 Update 21 new translations (2529t0f0u) for git v2.8.0-rc2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 15 March 2016, 16:07:06 UTC |
62335bb | Eric Wong | 14 January 2016, 03:59:48 UTC | git-svn: shorten glob error message Error messages should attempt to fit within the confines of an 80-column terminal to avoid compatibility and accessibility problems. Furthermore the word "directories" can be misleading when used in the context of git refnames. Signed-off-by: Eric Wong <normalperson@yhbt.net> | 15 March 2016, 01:35:39 UTC |
e4e5dd9 | Victor Leschuk | 11 January 2016, 14:25:58 UTC | git-svn: loosen config globs limitations Expand the area of globs applicability for branches and tags in git-svn. It is now possible to use globs like 'a*e', or 'release_*'. This allows users to avoid long lines in config like: branches = branches/{release_20,release_21,release_22,...} In favor of: branches = branches/release_* [ew: amended commit message, minor formatting and style fixes] Signed-off-by: Victor Leschuk <vleschuk@accesssoftek.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> | 15 March 2016, 01:35:38 UTC |
7a2c7e5 | Jean-Noel Avila | 14 March 2016, 19:26:53 UTC | l10n: fr.po v2.8.0 round 2 Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> | 14 March 2016, 19:29:04 UTC |
db6696f | Junio C Hamano | 14 March 2016, 17:46:17 UTC | Merge branch 'mg/wt-status-mismarked-i18n' * mg/wt-status-mismarked-i18n: wt-status: allow "ahead " to be picked up by l10n | 14 March 2016, 17:46:17 UTC |
df22724 | Michael J Gruber | 14 March 2016, 15:30:33 UTC | wt-status: allow "ahead " to be picked up by l10n The extra pair of parentheses keeps the l10n engine from picking up the string. Remove them so that "ahead " ends up in git.pot. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 14 March 2016, 17:45:04 UTC |
a088237 | Jiang Xin | 13 March 2016, 13:41:46 UTC | Merge branch 'russian-l10n' of https://github.com/DJm00n/git-po-ru * 'russian-l10n' of https://github.com/DJm00n/git-po-ru: l10n: ru.po: update Russian translation | 13 March 2016, 13:41:46 UTC |
f3aeef1 | Dimitriy Ryazantcev | 13 March 2016, 00:07:09 UTC | l10n: ru.po: update Russian translation Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com> | 13 March 2016, 00:07:09 UTC |
03ac0e5 | Changwoo Ryu | 12 March 2016, 17:32:52 UTC | l10n: ko: Update Korean translation Signed-off-by: Changwoo Ryu <cwryu@debian.org> | 12 March 2016, 17:32:52 UTC |
f1522b2 | Jiang Xin | 12 March 2016, 14:05:35 UTC | l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed) Generate po/git.pot from v2.8.0-rc2 for git v2.8.0 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 12 March 2016, 14:05:35 UTC |
7174c11 | Jiang Xin | 12 March 2016, 14:04:39 UTC | Merge branch 'master' of git://github.com/git-l10n/git-po * 'master' of git://github.com/git-l10n/git-po: l10n: zh_CN: for git v2.8.0 l10n round 1 l10n: de.po: translate 48 new messages l10n: de.po: translate "command" as "Befehl" l10n: de.po: fix interactive rebase message l10n: de.po: add space to abbreviation "z. B." l10n: de.po: fix typo l10n: TEAMS: update Ralf Thielow's email address l10n: sv.po: Update Swedish translation (2509t0f0u) l10n: sv.po: Fix inconsistent translation of "progress meter" l10n: ko.po: Update Korean translation l10n: ru.po: update Russian translation l10n: vi.po (2509t): Updated Vietnamese translation l10n: fr.po v2.8.0 round 1 2509t l10n: fr.po: Correct case in sentence l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed) | 12 March 2016, 14:04:39 UTC |
276ceea | Jiang Xin | 28 February 2016, 12:35:55 UTC | l10n: zh_CN: for git v2.8.0 l10n round 1 Update 48 new translations (2509t0f0u) for git v2.8.0-rc0. Reviewed-by: Ray Chen <oldsharp@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> l10n: zh_CN: review for git v2.8.0 l10n round 1 | 12 March 2016, 14:00:34 UTC |
214123c | Junio C Hamano | 08 March 2016, 23:51:36 UTC | rebase-i: clarify "is this commit relevant?" test While I was checking all the call sites of sane_grep and sane_egrep, I noticed this one is somewhat strangely written. The lines in the file sane_grep works on all begin with 40-hex object name, so there is no real risk of confusing "test $(...) = ''" by finding something that begins with a dash, but using the status from sane_grep makes it a lot clearer what is going on. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 March 2016, 23:35:48 UTC |
71b4010 | Junio C Hamano | 08 March 2016, 23:47:57 UTC | sane_grep: pass "-a" if grep accepts it Newer versions of GNU grep is reported to be pickier when we feed a non-ASCII input and break some Porcelain scripts. As we know we do not feed random binary file to our own sane_grep wrapper, allow us to always pass "-a" by setting SANE_TEXT_GREP=-a Makefile variable to work it around. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 March 2016, 23:35:43 UTC |
ed9067f | Junio C Hamano | 10 March 2016, 19:16:23 UTC | Git 2.8-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 March 2016, 19:16:23 UTC |
5d1847b | Junio C Hamano | 10 March 2016, 19:15:50 UTC | Sync with 2.7.3 | 10 March 2016, 19:15:50 UTC |
594730e | Junio C Hamano | 10 March 2016, 19:13:13 UTC | Git 2.7.3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 10 March 2016, 19:14:08 UTC |
2e1e569 | Junio C Hamano | 10 March 2016, 19:13:50 UTC | Merge branch 'ma/update-hooks-sample-typofix' into maint * ma/update-hooks-sample-typofix: templates/hooks: fix minor typo in the sample update-hook | 10 March 2016, 19:13:50 UTC |
3e6e43e | Junio C Hamano | 10 March 2016, 19:13:49 UTC | Merge branch 'dt/initial-ref-xn-commit-doc' into maint * dt/initial-ref-xn-commit-doc: refs: document transaction semantics | 10 March 2016, 19:13:49 UTC |
4da4026 | Junio C Hamano | 10 March 2016, 19:13:49 UTC | Merge branch 'ps/plug-xdl-merge-leak' into maint * ps/plug-xdl-merge-leak: xdiff/xmerge: fix memory leak in xdl_merge | 10 March 2016, 19:13:49 UTC |