sort by:
Revision Author Date Message Commit Date
3dc47c4 Merge branch 'bb/unicode-12.1-reiwa' Update to Unicode 12.1 width table. * bb/unicode-12.1-reiwa: unicode: update the width tables to Unicode 12.1 17 June 2019, 17:15:18 UTC
e7ef93b Merge branch 'sw/git-p4-unshelve-branched-files' "git p4" update. * sw/git-p4-unshelve-branched-files: git-p4: allow unshelving of branched files 17 June 2019, 17:15:18 UTC
a3e6b42 Merge branch 'js/fsmonitor-unflake' The data collected by fsmonitor was not properly written back to the on-disk index file, breaking t7519 tests occasionally, which has been corrected. * js/fsmonitor-unflake: mark_fsmonitor_valid(): mark the index as changed if needed fill_stat_cache_info(): prepare for an fsmonitor fix 17 June 2019, 17:15:18 UTC
bdc81d1 Merge branch 'ds/topo-traversal-using-commit-graph' Prepare use of reachability index in topological walker that works on a range (A..B). * ds/topo-traversal-using-commit-graph: revision: keep topo-walk free of unintersting commits revision: use generation for A..B --topo-order queries 17 June 2019, 17:15:17 UTC
2f47531 Merge branch 'bl/userdiff-octave' The pattern "git diff/grep" use to extract funcname and words boundary for Matlab has been extend to cover Octave, which is more or less equivalent. * bl/userdiff-octave: userdiff: fix grammar and style issues userdiff: add Octave 17 June 2019, 17:15:17 UTC
9476094 Merge branch 'ba/clone-remote-submodules' "git clone --recurse-submodules" learned to set up the submodules to ignore commit object names recorded in the superproject gitlink and instead use the commits that happen to be at the tip of the remote-tracking branches from the get-go, by passing the new "--remote-submodules" option. * ba/clone-remote-submodules: clone: add `--remote-submodules` flag 17 June 2019, 17:15:17 UTC
6e0b1c6 Merge branch 'vv/merge-squash-with-explicit-commit' "git merge --squash" is designed to update the working tree and the index without creating the commit, and this cannot be countermanded by adding the "--commit" option; the command now refuses to work when both options are given. * vv/merge-squash-with-explicit-commit: merge: refuse --commit with --squash 17 June 2019, 17:15:17 UTC
3a54d80 Merge branch 'js/bundle-verify-require-object-store' "git bundle verify" needs to see if prerequisite objects exist in the receiving repository, but the command did not check if we are in a repository upfront, which has been corrected. * js/bundle-verify-require-object-store: bundle verify: error out if called without an object database 17 June 2019, 17:15:16 UTC
5b476dc Merge branch 'js/bisect-helper-check-get-oid-return-value' Code cleanup. * js/bisect-helper-check-get-oid-return-value: bisect--helper: verify HEAD could be parsed before continuing 17 June 2019, 17:15:16 UTC
9b3897a Merge branch 'jk/am-i-resolved-fix' "git am -i --resolved" segfaulted after trying to see a commit as if it were a tree, which has been corrected. * jk/am-i-resolved-fix: am: fix --interactive HEAD tree resolution am: drop tty requirement for --interactive am: read interactive input from stdin am: simplify prompt response handling 17 June 2019, 17:15:15 UTC
86d8730 Merge branch 'jk/HEAD-symref-in-xfer-namespaces' The server side support for "git fetch" used to show incorrect value for the HEAD symbolic ref when the namespace feature is in use, which has been corrected. * jk/HEAD-symref-in-xfer-namespaces: upload-pack: strip namespace from symref data 17 June 2019, 17:15:15 UTC
63b6b4b Merge branch 'ew/server-info-remove-crufts' "git update-server-info" used to leave stale packfiles in its output, which has been corrected. * ew/server-info-remove-crufts: server-info: do not list unlinked packs 17 June 2019, 17:15:15 UTC
ac97dc4 Merge branch 'es/grep-require-name-when-needed' More parameter validation. * es/grep-require-name-when-needed: grep: fail if call could output and name is null 17 June 2019, 17:15:14 UTC
7df94cd Merge branch 'es/git-debugger-doc' Doc update. * es/git-debugger-doc: doc: hint about GIT_DEBUGGER in CodingGuidelines 17 June 2019, 17:15:14 UTC
5d5c46b Merge branch 'ds/object-info-for-prefetch-fix' Code cleanup and futureproof. * ds/object-info-for-prefetch-fix: sha1-file: split OBJECT_INFO_FOR_PREFETCH 17 June 2019, 17:15:14 UTC
0aae918 The first batch after 2.22 Signed-off-by: Junio C Hamano <gitster@pobox.com> 13 June 2019, 20:23:03 UTC
c510261 Merge branch 'pw/rebase-edit-message-for-replayed-merge' A "merge -c" instruction during "git rebase --rebase-merges" should give the user a chance to edit the log message, even when there is otherwise no need to create a new merge and replace the existing one (i.e. fast-forward instead), but did not. Which has been corrected. * pw/rebase-edit-message-for-replayed-merge: rebase -r: always reword merge -c 13 June 2019, 20:19:43 UTC
51d6c0f Merge branch 'ab/deprecate-R-for-dynpath' The way of specifying the path to find dynamic libraries at runtime has been simplified. The old default to pass -R/path/to/dir has been replaced with the new default to pass -Wl,-rpath,/path/to/dir, which is the more recent GCC uses. Those who need to build with an old GCC can still use "CC_LD_DYNPATH=-R" * ab/deprecate-R-for-dynpath: Makefile: remove the NO_R_TO_GCC_LINKER flag 13 June 2019, 20:19:43 UTC
2a983b2 Merge branch 'mh/import-transport-fd-fix' The ownership rule for the file descriptor to fast-import remote backend was mixed up, leading to unrelated file descriptor getting closed, which has been fixed. * mh/import-transport-fd-fix: Use xmmap_gently instead of xmmap in use_pack dup() the input fd for fast-import used for remote helpers 13 June 2019, 20:19:43 UTC
813a3a2 Merge branch 'ew/update-server-info' "git update-server-info" learned not to rewrite the file with the same contents. * ew/update-server-info: update-server-info: avoid needless overwrites 13 June 2019, 20:19:42 UTC
8d32d25 Merge branch 'jk/help-unknown-ref-fix' Improve the code to show args with potential typo that cannot be interpreted as a commit-ish. * jk/help-unknown-ref-fix: help_unknown_ref(): check for refname ambiguity help_unknown_ref(): duplicate collected refnames 13 June 2019, 20:19:42 UTC
e91f65d Merge branch 'dl/format-patch-notes-config' "git format-patch" learns a configuration to set the default for its --notes=<ref> option. * dl/format-patch-notes-config: format-patch: teach format.notes config option git-format-patch.txt: document --no-notes option 13 June 2019, 20:19:42 UTC
c4a38d1 Merge branch 'nd/merge-quit' "git merge" learned "--quit" option that cleans up the in-progress merge while leaving the working tree and the index still in a mess. * nd/merge-quit: merge: add --quit merge: remove drop_save() in favor of remove_merge_branch_state() 13 June 2019, 20:19:41 UTC
89d1b57 Merge branch 'ab/fail-prereqs-in-test' Developer support to emulate unsatisfied prerequisites in tests to ensure that the remainer of the tests still succeeds when tests with prerequisites are skipped. * ab/fail-prereqs-in-test: tests: add a special setup where prerequisites fail 13 June 2019, 20:19:41 UTC
000bce0 Merge branch 'nd/corrupt-worktrees' "git worktree add" used to fail when another worktree connected to the same repository was corrupt, which has been corrected. * nd/corrupt-worktrees: worktree add: be tolerant of corrupt worktrees 13 June 2019, 20:19:41 UTC
ed7f8ac Merge branch 'js/rebase-cleanup' Update supporting parts of "git rebase" to remove code that should no longer be used. * js/rebase-cleanup: rebase: fold git-rebase--common into the -p backend sequencer: the `am` and `rebase--interactive` scripts are gone .gitignore: there is no longer a built-in `git-rebase--interactive` t3400: stop referring to the scripted rebase Drop unused git-rebase--am.sh 13 June 2019, 20:19:40 UTC
0d107b1 Merge branch 'nd/worktree-name-sanitization' In recent versions of Git, per-worktree refs are exposed in refs/worktrees/<wtname>/ hierarchy, which means that worktree names must be a valid refname component. The code now sanitizes the names given to worktrees, to make sure these refs are well-formed. * nd/worktree-name-sanitization: worktree add: sanitize worktree names 13 June 2019, 20:19:40 UTC
66dc7b6 Merge branch 'en/fast-export-encoding' The "git fast-export/import" pair has been taught to handle commits with log messages in encoding other than UTF-8 better. * en/fast-export-encoding: fast-export: do automatic reencoding of commit messages only if requested fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8 fast-export: avoid stripping encoding header if we cannot reencode fast-import: support 'encoding' commit header t9350: fix encoding test to actually test reencoding 13 June 2019, 20:19:40 UTC
c0e78f7 Merge branch 'jk/unused-params-final-batch' * jk/unused-params-final-batch: verify-commit: simplify parameters to run_gpg_verify() show-branch: drop unused parameter from show_independent() rev-list: drop unused void pointer from finish_commit() remove_all_fetch_refspecs(): drop unused "remote" parameter receive-pack: drop unused "commands" from prepare_shallow_update() pack-objects: drop unused rev_info parameters name-rev: drop unused parameters from is_better_name() mktree: drop unused length parameter wt-status: drop unused status parameter read-cache: drop unused parameter from threaded load clone: drop dest parameter from copy_alternates() submodule: drop unused prefix parameter from some functions builtin: consistently pass cmd_* prefix to parse_options cmd_{read,write}_tree: rename "unused" variable that is used 13 June 2019, 20:19:34 UTC
8202d12 Merge branch 'sb/format-patch-base-patch-id-fix' The "--base" option of "format-patch" computed the patch-ids for prerequisite patches in an unstable way, which has been updated to compute in a way that is compatible with "git patch-id --stable". * sb/format-patch-base-patch-id-fix: format-patch: make --base patch-id output stable format-patch: inform user that patch-id generation is unstable 13 June 2019, 20:18:46 UTC
cf3269f Merge branch 'nd/init-relative-template-fix' A relative pathname given to "git init --template=<path> <repo>" ought to be relative to the directory "git init" gets invoked in, but it instead was made relative to the repository, which has been corrected. * nd/init-relative-template-fix: init: make --template path relative to $CWD 13 June 2019, 20:18:46 UTC
86d2271 Merge branch 'ab/send-email-transferencoding-fix' Since "git send-email" learned to take 'auto' as the value for the transfer-encoding, it by mistake stopped honoring the values given to the configuration variables sendemail.transferencoding and/or sendemail.<ident>.transferencoding. This has been corrected to (finally) redoing the order of setting the default, reading the configuration and command line options. * ab/send-email-transferencoding-fix: send-email: fix regression in sendemail.identity parsing send-email: document --no-[to|cc|bcc] send-email: fix broken transferEncoding tests send-email: remove cargo-culted multi-patch pattern in tests send-email: do defaults -> config -> getopt in that order send-email: rename the @bcclist variable for consistency send-email: move the read_config() function above getopts 13 June 2019, 20:18:46 UTC
b697d92 Git 2.22 Signed-off-by: Junio C Hamano <gitster@pobox.com> 07 June 2019, 16:39:21 UTC
6ee1eac Merge tag 'l10n-2.22.0-rnd3' of git://github.com/git-l10n/git-po l10n-2.22.0-rnd3 * tag 'l10n-2.22.0-rnd3' of git://github.com/git-l10n/git-po: (25 commits) l10n: fr.po: Review French translation l10n: de.po: Update German translation l10n: de.po: improve description of 'git reset --quiet' l10n: TEAMS: Change German translation team leader l10n: bg.po: Updated Bulgarian translation (4581t) l10n: zh_CN: Revision for git v2.22.0 l10n l10n: zh_CN: for git v2.22.0 l10n round 1~3 l10n: es: 2.22.0 round 3 l10n: it.po: Updated Italian translation l10n: fr v2.22.0 rnd 3 l10n: vi.po(4581t): Updated Vietnamese translation for v2.22.0 round 3 l10n: git.pot: v2.22.0 round 3 (3 new, 2 removed) l10n: es: 2.22.0 round 2 l10n: bg.po: Updated Bulgarian translation (4580t) l10n: vi.po(4580t): Updated Vietnamese translation for v2.22.0 round 2 l10n: fr.po v2.22.0 round 2 l10n: git.pot: v2.22.0 round 2 (6 new, 3 removed) l10n: bg.po: Updated Bulgarian translation (4577t) l10n: es: 2.22.0 round 1 l10n: vi.po(4577t): Updated Vietnamese translation for v2.22.0 round 1 ... 07 June 2019, 16:36:32 UTC
0cdb8d2 Merge branch 'fr_review' of git://github.com/jnavila/git * 'fr_review' of git://github.com/jnavila/git: l10n: fr.po: Review French translation 07 June 2019, 08:51:09 UTC
d014920 Merge branch 'master' of git://github.com/alshopov/git-po * 'master' of git://github.com/alshopov/git-po: l10n: bg.po: Updated Bulgarian translation (4581t) 07 June 2019, 08:50:23 UTC
82eb147 l10n: fr.po: Review French translation Signed-off-by: Cédric Malard <c.malard-git@valdun.net> Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> 07 June 2019, 06:54:28 UTC
20fbf7d Merge branch 'en/merge-directory-renames-fix' Recent code restructuring of merge-recursive engine introduced a regression dealing with rename/add conflict. * en/merge-directory-renames-fix: merge-recursive: restore accidentally dropped setting of path 06 June 2019, 21:03:36 UTC
219829a l10n: de.po: Update German translation Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com> 06 June 2019, 05:03:26 UTC
8c18948 l10n: de.po: improve description of 'git reset --quiet' Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> 06 June 2019, 05:03:25 UTC
d314d77 l10n: TEAMS: Change German translation team leader Acked-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com> 05 June 2019, 18:48:37 UTC
481de8a merge-recursive: restore accidentally dropped setting of path In commit 8daec1df03de ("merge-recursive: switch from (oid,mode) pairs to a diff_filespec", 2019-04-05), we actually switched from (oid,mode,path) triplets to a diff_filespec -- but most callsites in the patch only needed to worry about oid and mode so the commit message focused on that. The oversight in the commit message apparently spilled over to the code as well; one of the dozen or so callsites accidentally dropped the setting of the path in the conversion. Restore the path setting in that location. Also, this pointed out that our testsuite was lacking a good rename/add test, at least one that involved the need for merge content with the rename. Add such a test, and since rename/add vs. add/rename could possibly be important, redo the merge the opposite direction to make sure we don't have issues with the direction of the merge. These testcases failed before restoring the setting of path, but with the paths appropriately set the testcases both pass. Reported-by: Ben Humphreys <behumphreys@atlassian.com> Based-on-patch-by: SZEDER Gábor <szeder.dev@gmail.com> Tested-by: Ben Humphreys <behumphreys@atlassian.com> Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 05 June 2019, 16:30:40 UTC
de2b054 l10n: bg.po: Updated Bulgarian translation (4581t) Signed-off-by: Alexander Shopov <ash@kambanaria.org> 05 June 2019, 06:51:15 UTC
5b53363 l10n: zh_CN: Revision for git v2.22.0 l10n Revise 51 translations, improving consistency for some phrased. Update email address for Fangyi Zhou Signed-off-by: Fangyi Zhou <me@fangyi.io> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> 05 June 2019, 00:37:30 UTC
d46c551 l10n: zh_CN: for git v2.22.0 l10n round 1~3 Translate 274 new messages (4581t0f0u) for git 2.22.0. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> 05 June 2019, 00:37:30 UTC
914bd09 Merge branch '2.22' of https://github.com/ChrisADR/git-po * '2.22' of https://github.com/ChrisADR/git-po: l10n: es: 2.22.0 round 3 05 June 2019, 00:35:35 UTC
488ed58 Merge branch 'it-l10n-wip' of github.com:AlessandroMenti/git-po * 'it-l10n-wip' of github.com:AlessandroMenti/git-po: l10n: it.po: Updated Italian translation 05 June 2019, 00:17:28 UTC
922a0a7 l10n: es: 2.22.0 round 3 Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org> 04 June 2019, 23:52:28 UTC
bbc5570 l10n: it.po: Updated Italian translation Signed-off-by: Alessandro Menti <alessandro.menti@alessandromenti.it> 04 June 2019, 20:27:19 UTC
85b66ac l10n: fr v2.22.0 rnd 3 Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> 04 June 2019, 17:53:32 UTC
77e1962 l10n: vi.po(4581t): Updated Vietnamese translation for v2.22.0 round 3 Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> 04 June 2019, 01:13:53 UTC
386544c l10n: git.pot: v2.22.0 round 3 (3 new, 2 removed) Generate po/git.pot from v2.22.0-rc3 for git v2.22.0 l10n round 3. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> 04 June 2019, 00:27:36 UTC
b50e1c0 Merge branch 'master' of git://git.kernel.org/pub/scm/git/git * 'master' of git://git.kernel.org/pub/scm/git/git: Git 2.22-rc3 i18n: fix typos found during l10n for git 2.22.0 RelNotes: minor typo fixes in 2.22.0 draft list-objects-filter: disable 'sparse:path' filters 04 June 2019, 00:24:28 UTC
74583d8 Git 2.22-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2019, 18:25:12 UTC
4a787f7 Merge branch 'cc/list-objects-filter-wo-sparse-path' Disable "--filter=sparse:path=<path>" that would allow reading from paths on the filesystem. * cc/list-objects-filter-wo-sparse-path: list-objects-filter: disable 'sparse:path' filters 03 June 2019, 18:18:54 UTC
8a1569d i18n: fix typos found during l10n for git 2.22.0 Fix two typos introduced by the following commits: + 31fba9d3b4 (diff-parseopt: convert --[src|dst]-prefix, 2019-03-24) + ed8b4132c8 (remote-curl: mark all error messages for translation, 2019-03-05) Signed-off-by: Jiang Xin <worldhello.net@gmail.com> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2019, 18:10:53 UTC
ee70b40 RelNotes: minor typo fixes in 2.22.0 draft Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 03 June 2019, 18:06:18 UTC
1c8ba5f l10n: es: 2.22.0 round 2 Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org> 03 June 2019, 14:34:50 UTC
cb56cf3 Merge branch 'master' of https://github.com/vnwildman/git * 'master' of https://github.com/vnwildman/git: l10n: vi.po(4580t): Updated Vietnamese translation for v2.22.0 round 2 02 June 2019, 14:35:11 UTC
c181f4d Merge branch 'master' of git://github.com/alshopov/git-po * 'master' of git://github.com/alshopov/git-po: l10n: bg.po: Updated Bulgarian translation (4580t) 02 June 2019, 14:09:35 UTC
9c21d45 l10n: bg.po: Updated Bulgarian translation (4580t) Signed-off-by: Alexander Shopov <ash@kambanaria.org> 02 June 2019, 07:26:52 UTC
35655fe l10n: vi.po(4580t): Updated Vietnamese translation for v2.22.0 round 2 Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> 01 June 2019, 01:37:57 UTC
fc8703c l10n: fr.po v2.22.0 round 2 Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> 31 May 2019, 08:46:21 UTC
c08fd73 l10n: git.pot: v2.22.0 round 2 (6 new, 3 removed) Generate po/git.pot from v2.22.0-rc2 for git v2.22.0 l10n round 2. Signed-off-by: Jiang Xin <worldhello.net@gmail.com> 31 May 2019, 06:36:22 UTC
a17177c Merge branch 'master' of git://git.kernel.org/pub/scm/git/git * 'master' of git://git.kernel.org/pub/scm/git/git: (66 commits) Git 2.22-rc2 ... 31 May 2019, 06:34:26 UTC
ea8a8d0 Merge branch 'master' of https://github.com/Softcatala/git-po * 'master' of https://github.com/Softcatala/git-po: l10n: Update Catalan translation 31 May 2019, 06:32:35 UTC
874dd41 Git 2.22-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> 30 May 2019, 17:56:29 UTC
8feb8e2 Merge branch 'js/rebase-config-bitfix' * js/rebase-config-bitfix: rebase: replace incorrect logical negation by correct bitwise one 30 May 2019, 17:50:47 UTC
c41b119 Merge branch 'es/doc-gitsubmodules-markup' Doc markup fix. * es/doc-gitsubmodules-markup: gitsubmodules: align html and nroff lists 30 May 2019, 17:50:46 UTC
936dce6 Merge branch 'ja/diff-opt-typofix' Typofix. * ja/diff-opt-typofix: diff: fix mistake in translatable strings 30 May 2019, 17:50:46 UTC
0e5387c Merge branch 'jt/clone-server-option' A brown-paper-bag bugfix to a change already in 'master'. * jt/clone-server-option: fetch-pack: send server options after command 30 May 2019, 17:50:46 UTC
fa03d9c Merge branch 'sg/progress-off-by-one-fix' A brown-paper-bag bugfix to a change already in 'master'. * sg/progress-off-by-one-fix: progress: avoid empty line when breaking the progress line 30 May 2019, 17:50:45 UTC
2656ece Merge branch 'js/rebase-deprecate-preserve-merges' A bit more leftover clean-up to deprepcate "rebase -p". * js/rebase-deprecate-preserve-merges: rebase docs: recommend `-r` over `-p` docs: say that `--rebase=preserve` is deprecated tests: mark a couple more test cases as requiring `rebase -p` 30 May 2019, 17:50:45 UTC
463dca6 Merge branch 'sg/trace2-rename' Rename environment variables that are used to control the "trace2" mechanism to a more readable name. * sg/trace2-rename: trace2: document the supported values of GIT_TRACE2* env variables trace2: rename environment variables to GIT_TRACE2* 30 May 2019, 17:50:45 UTC
90f2d88 Merge branch 'jh/trace2' * jh/trace2: trace2: fix tracing when NO_PTHREADS is defined 30 May 2019, 17:50:45 UTC
20aa7c5 Merge branch 'nd/diff-parseopt' A brown-paper-bag bugfix to a change already in 'master'. * nd/diff-parseopt: parse-options: check empty value in OPT_INTEGER and OPT_ABBREV diff-parseopt: restore -U (no argument) behavior diff-parseopt: correct variable types that are used by parseopt 30 May 2019, 17:50:44 UTC
5817f9c unicode: update the width tables to Unicode 12.1 Now that Unicode 12.1 has been announced[0], update the character width tables to the new version. [0] http://blog.unicode.org/2019/05/unicode-12-1-en.html Signed-off-by: Beat Bolli <dev+git@drbeat.li> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 21:07:50 UTC
e693237 list-objects-filter: disable 'sparse:path' filters If someone wants to use as a filter a sparse file that is in the repository, something like "--filter=sparse:oid=<ref>:<path>" already works. So 'sparse:path' is only interesting if the sparse file is not in the repository. In this case though the current implementation has a big security issue, as it makes it possible to ask the server to read any file, like for example /etc/password, and to explore the filesystem, as well as individual lines of files. If someone is interested in using a sparse file that is not in the repository as a filter, then at the minimum a config option, such as "uploadpack.sparsePathFilter", should be implemented first to restrict the directory from which the files specified by 'sparse:path' can be read. For now though, let's just disable 'sparse:path' filters. Helped-by: Matthew DeVore <matvore@google.com> Helped-by: Jeff Hostetler <git@jeffhostetler.com> Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 18:05:34 UTC
f7e68a0 parse-options: check empty value in OPT_INTEGER and OPT_ABBREV When parsing the argument for OPT_INTEGER and OPT_ABBREV, we check if we can parse the entire argument to a number with "if (*s)". There is one missing check: if "arg" is empty to begin with, we fail to notice. This could happen with long option by writing like git diff --inter-hunk-context= blah blah Before 16ed6c97cc (diff-parseopt: convert --inter-hunk-context, 2019-03-24), --inter-hunk-context is handled by a custom parser opt_arg() and does detect this correctly. This restores the bahvior for --inter-hunk-context and make sure all other integer options are handled the same (sane) way. For OPT_ABBREV this is new behavior. But it makes it consistent with the rest. PS. OPT_MAGNITUDE has similar code but git_parse_ulong() does detect empty "arg". So it's good to go. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 18:04:33 UTC
8ef0519 diff-parseopt: restore -U (no argument) behavior Before d473e2e0e8 (diff.c: convert -U|--unified, 2019-01-27), -U and --unified are implemented with a custom parser opt_arg() in diff.c. I didn't check this code carefully and not realize that it's the equivalent of PARSE_OPT_NONEG | PARSE_OPT_OPTARG. In other words, if -U is specified without any argument, the option should be accepted, and the default value should be used. Without PARSE_OPT_OPTARG, parse_options() will reject this case and cause a regression. Reported-by: Bryan Turner <bturner@atlassian.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 18:04:32 UTC
7f125ff diff-parseopt: correct variable types that are used by parseopt Most number-related OPT_ macros store the value in an 'int' variable. Many of the variables in 'struct diff_options' have a different type, but during the conversion to using parse_options() I failed to notice and correct. The problem was reported on s360x which is a big-endian architechture. The variable to store '-w' option in this case is xdl_opts, 'long' type, 8 bytes. But since parse_options() assumes 'int' (4 bytes), it will store bits in the wrong part of xdl_opts. The problem was found on little-endian platforms because parse_options() will accidentally store at the right part of xdl_opts. There aren't much to say about the type change (except that 'int' for xdl_opts should still be big enough, since Windows' long is the same size as 'int' and nobody has complained so far). Some safety checks may be implemented in the future to prevent class of bugs. Reported-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 18:04:30 UTC
3ff1504 send-email: fix regression in sendemail.identity parsing Fix a regression in my recent 3494dfd3ee ("send-email: do defaults -> config -> getopt in that order", 2019-05-09). I missed that the $identity variable needs to be extracted from the command-line before we do the config reading, as it determines which config variable we should read first. See [1] for the report. The sendemail.identity feature was added back in 34cc60ce2b ("send-email: Add support for SSL and SMTP-AUTH", 2007-09-03), there were no tests to assert that it worked properly. So let's fix both the regression, and add some tests to assert that this is being parsed properly. While I'm at it I'm adding a --no-identity option to go with --[to|cc|bcc] variable, since the semantics are similar. It's like to/cc/bcc except that unlike those we don't support multiple identities, but we could now easily add it support for it if anyone cares. In just fixing the --identity command-line parsing bug I discovered that a narrow fix to that wouldn't do. In read_config() we had a state machine that would only set config values if they weren't set already, and thus by proxy we wouldn't e.g. set "to" based on sendemail.to if we'd seen sendemail.gmail.to before, with --identity=gmail. I'd modified some of the relevant code in 3494dfd3ee, but just reverting to that wouldn't do, since it would bring back the regression fixed in that commit. Refactor read_config() do what we actually mean here. We don't want to set a given sendemail.VAR if a sendemail.$identity.VAR previously set it. The old code was conflating this desire with the hardcoded defaults for these variables, and as discussed in 3494dfd3ee that was never going to work. Instead pass along the state of whether an identity config set something before, as distinguished from the state of the default just being false, or the default being a non-bool or true (e.g. --transferencoding). I'm still not happy with the test coverage here, e.g. there's nothing testing sendemail.smtpEncryption, but I only have so much time to fix this code. 1. https://public-inbox.org/git/5cddeb61.1c69fb81.47ed4.e648@mx.google.com/ Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 17:33:39 UTC
2731a78 userdiff: fix grammar and style issues Signed-off-by: Boxuan Li <liboxuan@connect.hku.hk> Signed-off-by: Junio C Hamano <gitster@pobox.com> 29 May 2019, 16:50:31 UTC
75a9e02 Merge branch 'master' of git://github.com/alshopov/git-po * 'master' of git://github.com/alshopov/git-po: l10n: bg.po: Updated Bulgarian translation (4577t) 29 May 2019, 14:01:19 UTC
47e80a2 l10n: bg.po: Updated Bulgarian translation (4577t) Signed-off-by: Alexander Shopov <ash@kambanaria.org> 29 May 2019, 08:27:27 UTC
f547101 doc: hint about GIT_DEBUGGER in CodingGuidelines We check for a handy environment variable GIT_DEBUGGER when running via bin-wrappers/, but this feature is undocumented. Add a hint to how to use it into the CodingGuidelines (which is where other useful environment settings like DEVELOPER are documented). Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 20:42:33 UTC
31f5256 sha1-file: split OBJECT_INFO_FOR_PREFETCH The OBJECT_INFO_FOR_PREFETCH bitflag was added to sha1-file.c in 0f4a4fb1 (sha1-file: support OBJECT_INFO_FOR_PREFETCH, 2019-03-29) and is used to prevent the fetch_objects() method when enabled. However, there is a problem with the current use. The definition of OBJECT_INFO_FOR_PREFETCH is given by adding 32 to OBJECT_INFO_QUICK. This is clearly stated above the definition (in a comment) that this is so OBJECT_INFO_FOR_PREFETCH implies OBJECT_INFO_QUICK. The problem is that using "flag & OBJECT_INFO_FOR_PREFETCH" means that OBJECT_INFO_QUICK also implies OBJECT_INFO_FOR_PREFETCH. Split out the single bit from OBJECT_INFO_FOR_PREFETCH into a new OBJECT_INFO_SKIP_FETCH_OBJECT as the single bit and keep OBJECT_INFO_FOR_PREFETCH as the union of two flags. This allows a clearer use of flag checking while also keeping the implication of OBJECT_INFO_QUICK. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 20:31:50 UTC
7948b49 rebase docs: recommend `-r` over `-p` The `--preserve-merges` option is now deprecated in favor of `--rebase-merges`; Let's stop recommending the former. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 20:22:35 UTC
7401ab9 docs: say that `--rebase=preserve` is deprecated As of Git v2.22.0, the `--preserve-merges` backend of `git rebase` will be officially deprecated in favor of the `--rebase-merges` backend. Consequently, `git pull --rebase=preserve` will also be deprected. State this explicitly. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 20:22:34 UTC
db4a3f2 tests: mark a couple more test cases as requiring `rebase -p` The `--preserve-merges` option has been deprecated, and as a consequence we started to mark test cases that require that option to be supported, in preparation for removing that support eventually. Since we marked those test cases, a couple more crept into the test suite, and with this patch, we mark them, too. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 20:22:32 UTC
3bbbe46 bundle verify: error out if called without an object database The deal with bundles is: they really are thin packs, with very little sugar on top. So we really need a repository (or more appropriately, an object database) to work with, when asked to verify a bundle. Let's error out with a useful error message if `git bundle verify` is called without such an object database to work with. Reported by Konstantin Ryabitsev. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 20:04:14 UTC
b5a8169 mark_fsmonitor_valid(): mark the index as changed if needed Without this bug fix, t7519's four "status doesn't detect unreported modifications" test cases would fail occasionally (and, oddly enough, *a lot* more frequently on Windows). The reason is that these test cases intentionally use the side effect of `git status` to re-write the index if any updates were detected: they first clean the worktree, run `git status` to update the index as well as show the output to the casual reader, then make the worktree dirty again and expect no changes to reported if running with a mocked fsmonitor hook. The problem with this strategy was that the index was written during said `git status` on the clean worktree for the *wrong* reason: not because the index was marked as changed (it wasn't), but because the recorded mtimes were racy with the index' own mtime. As the mtime granularity on Windows is 100 nanoseconds (see e.g. https://docs.microsoft.com/en-us/windows/desktop/SysInfo/file-times), the mtimes of the files are often enough *not* racy with the index', so that that `git status` call currently does not always update the index (including the fsmonitor extension), causing the test case to fail. The obvious fix: if we change *any* index entry's `CE_FSMONITOR_VALID` flag, we should also mark the index as changed. That will cause the index to be written upon `git status`, *including* an updated fsmonitor extension. Side note: Even though the reader might think that the t7519 issue should be *much* more prevalent on Linux, given that the ext4 filesystem (that seems to be used by every Linux distribution) stores mtimes in nanosecond precision. However, ext4 uses `current_kernel_time()` (see https://unix.stackexchange.com/questions/11599#comment762968_11599; it is *amazingly* hard to find any proper source of information about such ext4 questions) whose accuracy seems to depend on many factors but is safely worse than the 100-nanosecond granularity of NTFS (again, it is *horribly* hard to find anything remotely authoritative about this question). So it seems that the racy index condition that hid the bug fixed by this patch simply is a lot more likely on Linux than on Windows. But not impossible ;-) Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 19:43:43 UTC
d4c0a3a fill_stat_cache_info(): prepare for an fsmonitor fix We will need to pass down the `struct index_state` to `mark_fsmonitor_valid()` for an upcoming bug fix, and this here function calls that there function, so we need to extend the signature of `fill_stat_cache_info()` first. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 19:43:42 UTC
1d14d0c merge: refuse --commit with --squash Convert option_commit to tristate, representing the states of 'default/untouched', 'enabled-by-cli', 'disabled-by-cli'. With this in place, check whether option_commit was enabled by cli when squashing a merge. If so, error out, as this is not supported. Previously, when --squash was supplied, 'option_commit' was silently dropped. This could have been surprising to a user who tried to override the no-commit behavior of squash using --commit explicitly. Add a note to the --squash option for git-merge to clarify the incompatibility, and add a test case to t7600-merge.sh Cc: Junio C Hamano <gitster@pobox.com> Cc: Rafael Ascensão <rafa.almas@gmail.com> Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Vishal Verma <vishal@stellar.sh> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 18:53:11 UTC
e941c48 server-info: do not list unlinked packs Having non-existent packs in objects/info/packs causes dumb HTTP clients to abort. v2: use single loop with ALLOC_GROW as suggested by Jeff King Signed-off-by: Eric Wong <e@80x24.org> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 18:02:52 UTC
5b204b7 fetch-pack: send server options after command Currently, if any server options are specified during a protocol v2 fetch, server options will be sent before "command=fetch". Write server options to the request buffer in send_fetch_request() so that the components of the request are sent in the correct order. The protocol documentation states that the command must come first. The Git server implementation in serve.c (see process_request() in that file) tolerates any order of command and capability, which is perhaps why we haven't noticed this. This was noticed when testing against a JGit server implementation, which follows the documentation in this regard. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Acked-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 18:01:07 UTC
de99eb0 grep: fail if call could output and name is null grep_source(), which performs much of the work for Git's grep library, allows passing an arbitrary struct grep_source which represents the text which grep_source() should search to match a pattern in the provided struct grep_opt. In most callers, the grep_source::name field is set to an appropriate prefix to print before a colon when a result matches: README:Git is an Open Source project covered by the GNU General One caller, grep_buffer(), leaves the grep_source::name field set to NULL because there isn't enough context to determine an appropriate name for this kind of output line. In practice, this has been fine: the only caller of grep_buffer() is "git log --grep", and that caller sets grep_opt::status_only, which disables output and only checks whether a match exists. But this is brittle: a future caller can call grep_buffer() without grep_opt::status_only set, and as soon as it hits a match, grep_source() will try to print the match and segfault: (null):Git is an Open Source project covered by the GNU General For example, a future caller might want to print all matching lines from commits which match a regex. Futureproof by diagnosing early a use of the API that could trigger that condition, before we know whether the pattern matches: BUG: grep.c:1783: grep call which could print a name requires grep_source.name be non-NULL Aborted This way, the caller's author gets an indication of how to fix the issue - by providing grep_source::name or setting grep_opt::status_only - and they are warned of the potential for a segfault unconditionally, rather than only if there is a match. Noticed while adding such a call to a tutorial on revision walks. Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 17:57:07 UTC
0108f47 git-p4: allow unshelving of branched files When unshelving a changelist, git-p4 tries to work out the appropriate parent commit in a given branch (default: HEAD). To do this, it looks at the state of any pre-existing files in the target Perforce branch, omitting files added in the shelved changelist. Currently, only files added (or move targets) are classed as new. However, files integrated from other branches (i.e. a 'branch' action) also need to be considered as added, for this purpose. Signed-off-by: Simon Williams <simon@no-dns-yet.org.uk> Acked-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 17:54:42 UTC
5fdae9d trace2: fix tracing when NO_PTHREADS is defined Teach trace2 TLS code to not rely on pthread_getspecific() when NO_PTHREADS is defined. Instead, always assume the context data of the main thread. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 17:52:34 UTC
7877ac3 bisect--helper: verify HEAD could be parsed before continuing In 06f5608c14e6 (bisect--helper: `bisect_start` shell function partially in C, 2019-01-02), we introduced a call to `get_oid()` and did not check whether it succeeded before using its output. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> 28 May 2019, 17:51:01 UTC
back to top