75b2f01 | Junio C Hamano | 09 August 2019, 22:20:04 UTC | Git 2.22.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2019, 22:07:51 UTC |
3d246de | Philip Oakley | 11 August 2019, 15:03:38 UTC | .mailmap: update email address of Philip Oakley My IEE 'home for life' email service is being withdrawn on 30 Sept 2019. Replace with my new email domain. I also have a secondary (backup) 'home for life' through <philipoakley@dunelm.org.uk>. Signed-off-by: Philip Oakley <philipoakley@iee.email> Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 August 2019, 22:07:51 UTC |
5d929ec | Junio C Hamano | 09 August 2019, 22:18:19 UTC | Merge branch 'cb/xdiff-no-system-includes-in-dot-c' into maint Compilation fix. * cb/xdiff-no-system-includes-in-dot-c: xdiff: remove duplicate headers from xpatience.c xdiff: remove duplicate headers from xhistogram.c xdiff: drop system includes in xutils.c | 09 August 2019, 22:18:19 UTC |
414784d | Junio C Hamano | 09 August 2019, 22:18:18 UTC | Merge branch 'jk/no-system-includes-in-dot-c' into maint Compilation fix. * jk/no-system-includes-in-dot-c: wt-status.h: drop stdio.h include verify-tag: drop signal.h include | 09 August 2019, 22:18:19 UTC |
5e864ac | Junio C Hamano | 09 August 2019, 22:18:18 UTC | Merge branch 'sg/fsck-config-in-doc' into maint Doc update. * sg/fsck-config-in-doc: Documentation/git-fsck.txt: include fsck.* config variables | 09 August 2019, 22:18:18 UTC |
ae76814 | Junio C Hamano | 09 August 2019, 22:18:18 UTC | Merge branch 'jk/xdiff-clamp-funcname-context-index' into maint The internal diff machinery can be made to read out of bounds while looking for --funcion-context line in a corner case, which has been corrected. * jk/xdiff-clamp-funcname-context-index: xdiff: clamp function context indices in post-image | 09 August 2019, 22:18:18 UTC |
4d8ec15 | Martin Ågren | 01 August 2019, 14:12:20 UTC | RelNotes/2.21.1: typofix Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 01 August 2019, 16:00:13 UTC |
1feeaaf | Junio C Hamano | 29 July 2019, 18:14:47 UTC | Merge fixes made on the 'master' front Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2019, 19:38:23 UTC |
f91dbd8 | Junio C Hamano | 29 July 2019, 19:38:23 UTC | Merge branch 'jc/post-c89-rules-doc' into maint We have been trying out a few language features outside c89; the coding guidelines document did not talk about them and instead had a blanket ban against them. * jc/post-c89-rules-doc: CodingGuidelines: spell out post-C89 rules | 29 July 2019, 19:38:23 UTC |
7011ce1 | Junio C Hamano | 29 July 2019, 19:38:23 UTC | Merge branch 'fc/fetch-with-import-fix' into maint Code restructuring during 2.20 period broke fetching tags via "import" based transports. * fc/fetch-with-import-fix: fetch: fix regression with transport helpers fetch: make the code more understandable fetch: trivial cleanup t5801 (remote-helpers): add test to fetch tags t5801 (remote-helpers): cleanup refspec stuff | 29 July 2019, 19:38:23 UTC |
dea6737 | Junio C Hamano | 29 July 2019, 19:38:22 UTC | Merge branch 'ds/close-object-store' into maint The commit-graph file is now part of the "files that the runtime may keep open file descriptors on, all of which would need to be closed when done with the object store", and the file descriptor to an existing commit-graph file now is closed before "gc" finalizes a new instance to replace it. * ds/close-object-store: packfile: rename close_all_packs to close_object_store packfile: close commit-graph in close_all_packs commit-graph: use raw_object_store when closing commit-graph: extract write_commit_graph_file() commit-graph: extract copy_oids_to_commits() commit-graph: extract count_distinct_commits() commit-graph: extract fill_oids_from_all_packs() commit-graph: extract fill_oids_from_commit_hex() commit-graph: extract fill_oids_from_packs() commit-graph: create write_commit_graph_context commit-graph: remove Future Work section commit-graph: collapse parameters into flags commit-graph: return with errors during write commit-graph: fix the_repository reference | 29 July 2019, 19:38:22 UTC |
689204c | Junio C Hamano | 29 July 2019, 19:38:22 UTC | Merge branch 'pw/add-p-recount' into maint "git checkout -p" needs to selectively apply a patch in reverse, which did not work well. * pw/add-p-recount: add -p: fix checkout -p with pathological context | 29 July 2019, 19:38:22 UTC |
0324b6f | Junio C Hamano | 29 July 2019, 19:38:21 UTC | Merge branch 'rs/avoid-overflow-in-midpoint-computation' into maint Code clean-up to avoid signed integer overlaps during binary search. * rs/avoid-overflow-in-midpoint-computation: cleanup: fix possible overflow errors in binary search, part 2 | 29 July 2019, 19:38:21 UTC |
0100103 | Junio C Hamano | 29 July 2019, 19:38:21 UTC | Merge branch 'jk/trailers-use-config' into maint "git interpret-trailers" always treated '#' as the comment character, regardless of core.commentChar setting, which has been corrected. * jk/trailers-use-config: interpret-trailers: load default config | 29 July 2019, 19:38:21 UTC |
d61e6ce | SZEDER Gábor | 29 July 2019, 09:59:14 UTC | Documentation/git-fsck.txt: include fsck.* config variables The 'fsck.skipList' and 'fsck.<msg-id>' config variables might be easier to discover when they are documented in 'git fsck's man page. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2019, 17:41:18 UTC |
81ed2b4 | Carlo Marcelo Arenas Belón | 28 July 2019, 20:07:24 UTC | xdiff: remove duplicate headers from xpatience.c 92b7de93fb (Implement the patience diff algorithm, 2009-01-07) added them but were already part of xinclude.h Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2019, 04:51:22 UTC |
29a0f90 | Carlo Marcelo Arenas Belón | 28 July 2019, 20:07:23 UTC | xdiff: remove duplicate headers from xhistogram.c 8c912eea94 ("teach --histogram to diff", 2011-07-12) included them, but were already part of xinclude.h Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2019, 04:51:21 UTC |
0d0e1e8 | Carlo Marcelo Arenas Belón | 28 July 2019, 20:07:22 UTC | xdiff: drop system includes in xutils.c After b46054b374 ("xdiff: use git-compat-util", 2019-04-11), two system headers added with 6942efcfa9 ("xdiff: load full words in the inner loop of xdl_hash_record", 2012-04-06) to xutils.c are no longer needed and could conflict as shown below from an OpenIndiana build: In file included from xdiff/xinclude.h:26:0, from xdiff/xutils.c:25: ./git-compat-util.h:4:0: warning: "_FILE_OFFSET_BITS" redefined #define _FILE_OFFSET_BITS 64 In file included from /usr/include/limits.h:37:0, from xdiff/xutils.c:23: /usr/include/sys/feature_tests.h:231:0: note: this is the location of the previous definition #define _FILE_OFFSET_BITS 32 Make sure git-compat-util.h is the first header (through xinclude.h) Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 29 July 2019, 04:51:19 UTC |
98e06de | Junio C Hamano | 25 July 2019, 21:32:36 UTC | Flush fixes up to the third batch post 2.22.0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 25 July 2019, 21:32:36 UTC |
352253a | Junio C Hamano | 25 July 2019, 21:27:16 UTC | Merge branch 'ab/hash-object-doc' into maint Doc update. * ab/hash-object-doc: hash-object doc: stop mentioning git-cvsimport | 25 July 2019, 21:27:16 UTC |
4098130 | Junio C Hamano | 25 July 2019, 21:27:15 UTC | Merge branch 'cm/send-email-document-req-modules' into maint A doc update. * cm/send-email-document-req-modules: send-email: update documentation of required Perl modules | 25 July 2019, 21:27:15 UTC |
fe3ec21 | Junio C Hamano | 25 July 2019, 21:27:15 UTC | Merge branch 'sw/git-p4-unshelve-branched-files' into maint "git p4" update. * sw/git-p4-unshelve-branched-files: git-p4: allow unshelving of branched files | 25 July 2019, 21:27:15 UTC |
2c30e34 | Junio C Hamano | 25 July 2019, 21:27:14 UTC | Merge branch 'js/bisect-helper-check-get-oid-return-value' into maint Code cleanup. * js/bisect-helper-check-get-oid-return-value: bisect--helper: verify HEAD could be parsed before continuing | 25 July 2019, 21:27:14 UTC |
24c161d | Junio C Hamano | 25 July 2019, 21:27:14 UTC | Merge branch 'es/git-debugger-doc' into maint Doc update. * es/git-debugger-doc: doc: hint about GIT_DEBUGGER in CodingGuidelines | 25 July 2019, 21:27:14 UTC |
27e4131 | Junio C Hamano | 25 July 2019, 21:27:14 UTC | Merge branch 'mo/clang-format-for-each-update' into maint The list of for-each like macros used by clang-format has been updated. * mo/clang-format-for-each-update: clang-format: use git grep to generate the ForEachMacros list | 25 July 2019, 21:27:14 UTC |
d7267d5 | Junio C Hamano | 25 July 2019, 21:27:13 UTC | Merge branch 'md/url-parse-harden' into maint The URL decoding code has been updated to avoid going past the end of the string while parsing %-<hex>-<hex> sequence. * md/url-parse-harden: url: do not allow %00 to represent NUL in URLs url: do not read past end of buffer | 25 July 2019, 21:27:13 UTC |
167d02a | Junio C Hamano | 25 July 2019, 21:27:13 UTC | Merge branch 'an/ignore-doc-update' into maint The description about slashes in gitignore patterns (used to indicate things like "anchored to this level only" and "only matches directories") has been revamped. * an/ignore-doc-update: gitignore.txt: make slash-rules more readable | 25 July 2019, 21:27:13 UTC |
43f40de | Junio C Hamano | 25 July 2019, 21:27:12 UTC | Merge branch 'md/list-objects-filter-memfix' into maint The filter_data used in the list-objects-filter (which manages a lazily sparse clone repository) did not use the dynamic array API correctly---'nr' is supposed to point at one past the last element of the array in use. This has been corrected. * md/list-objects-filter-memfix: list-objects-filter: correct usage of ALLOC_GROW | 25 July 2019, 21:27:12 UTC |
f54a2a8 | Junio C Hamano | 25 July 2019, 21:27:12 UTC | Merge branch 'jt/partial-clone-missing-ref-delta-base' into maint "git fetch" into a lazy clone forgot to fetch base objects that are necessary to complete delta in a thin packfile, which has been corrected. * jt/partial-clone-missing-ref-delta-base: t5616: cover case of client having delta base t5616: use correct flag to check object is missing index-pack: prefetch missing REF_DELTA bases t5616: refactor packfile replacement | 25 July 2019, 21:27:12 UTC |
9db52cf | Junio C Hamano | 25 July 2019, 21:27:12 UTC | Merge branch 'xl/record-partial-clone-origin' into maint When creating a partial clone, the object filtering criteria is recorded for the origin of the clone, but this incorrectly used a hardcoded name "origin" to name that remote; it has been corrected to honor the "--origin <name>" option. * xl/record-partial-clone-origin: clone: respect user supplied origin name when setting up partial clone | 25 July 2019, 21:27:12 UTC |
58f3484 | Junio C Hamano | 25 July 2019, 21:27:11 UTC | Merge branch 'pb/request-pull-verify-remote-ref' into maint "git request-pull" learned to warn when the ref we ask them to pull from in the local repository and in the published repository are different. * pb/request-pull-verify-remote-ref: request-pull: warn if the remote object is not the same as the local one request-pull: quote regex metacharacters in local ref | 25 July 2019, 21:27:11 UTC |
0eb2774 | Junio C Hamano | 25 July 2019, 21:27:11 UTC | Merge branch 'mm/p4-unshelve-windows-fix' into maint The command line to invoke a "git cat-file" command from inside "git p4" was not properly quoted to protect a caret and running a broken command on Windows, which has been corrected. * mm/p4-unshelve-windows-fix: p4 unshelve: fix "Not a valid object name HEAD0" on Windows | 25 July 2019, 21:27:11 UTC |
7a779ca | Junio C Hamano | 25 July 2019, 21:27:10 UTC | Merge branch 'bb/unicode-12.1-reiwa' into maint Update to Unicode 12.1 width table. * bb/unicode-12.1-reiwa: unicode: update the width tables to Unicode 12.1 | 25 July 2019, 21:27:11 UTC |
10432cc | Junio C Hamano | 25 July 2019, 21:27:10 UTC | Merge branch 'js/fsmonitor-unflake' into maint 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 | 25 July 2019, 21:27:10 UTC |
33f2790 | Junio C Hamano | 25 July 2019, 21:27:10 UTC | Merge branch 'vv/merge-squash-with-explicit-commit' into maint "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 | 25 July 2019, 21:27:10 UTC |
abbd504 | Junio C Hamano | 25 July 2019, 21:27:09 UTC | Merge branch 'js/bundle-verify-require-object-store' into maint "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 | 25 July 2019, 21:27:10 UTC |
5bbbd57 | Junio C Hamano | 25 July 2019, 21:27:09 UTC | Merge branch 'jk/am-i-resolved-fix' into maint "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 | 25 July 2019, 21:27:09 UTC |
5ca0db3 | Junio C Hamano | 25 July 2019, 21:27:09 UTC | Merge branch 'jk/HEAD-symref-in-xfer-namespaces' into maint 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 | 25 July 2019, 21:27:09 UTC |
776d668 | Junio C Hamano | 25 July 2019, 21:27:08 UTC | Merge branch 'ew/server-info-remove-crufts' into maint "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 | 25 July 2019, 21:27:08 UTC |
518e874 | Junio C Hamano | 25 July 2019, 21:27:08 UTC | Merge branch 'es/grep-require-name-when-needed' into maint More parameter validation. * es/grep-require-name-when-needed: grep: fail if call could output and name is null | 25 July 2019, 21:27:08 UTC |
90891c6 | Junio C Hamano | 25 July 2019, 21:27:08 UTC | Merge branch 'ds/object-info-for-prefetch-fix' into maint Code cleanup and futureproof. * ds/object-info-for-prefetch-fix: sha1-file: split OBJECT_INFO_FOR_PREFETCH | 25 July 2019, 21:27:08 UTC |
dae2954 | Junio C Hamano | 25 July 2019, 21:27:07 UTC | Merge branch 'mh/import-transport-fd-fix' into maint 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 | 25 July 2019, 21:27:07 UTC |
933f294 | Junio C Hamano | 25 July 2019, 21:27:07 UTC | Merge branch 'nd/corrupt-worktrees' into maint "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 | 25 July 2019, 21:27:07 UTC |
35d7715 | Junio C Hamano | 25 July 2019, 21:27:06 UTC | Merge branch 'nd/init-relative-template-fix' into maint 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 | 25 July 2019, 21:27:06 UTC |
cc0c429 | Junio C Hamano | 16 July 2019, 17:21:20 UTC | CodingGuidelines: spell out post-C89 rules Even though we have been sticking to C89, there are a few handy features we borrow from more recent C language in our codebase after trying them in weather balloons and saw that nobody screamed. Spell them out. While at it, extend the existing variable declaration rule a bit to read better with the newly spelled out rule for the for loop. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 July 2019, 22:16:04 UTC |
7a06fb0 | Jeff King | 18 June 2019, 15:54:19 UTC | wt-status.h: drop stdio.h include We started including stdio.h to pick up the declaration of "FILE" in f26a001226 (Enable wt-status output to a given FILE pointer., 2007-09-17). But there's no need, since headers can assume that git-compat-util.h has been included, which covers stdio. This should just be redundant, and not hurting anything (like pulling in includes out of order) because C files are supposed to always include git-compat-util.h first. But it's worth cleaning up to model good behavior. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 June 2019, 15:19:22 UTC |
96728b2 | Jeff King | 18 June 2019, 15:54:09 UTC | verify-tag: drop signal.h include There's no reason verify-tag.c needs to include signal.h. It's already in git-compat-util.h, which we properly include as the first header. And there doesn't seem to be a particular reason for this include; it's just an artifact from the file creation in 2ae68fcb78 (Make verify-tag a builtin., 2007-07-27). Likewise verify-commit.c has the same issue, probably because it was created using verify-tag as a template in d07b00b7f3 (verify-commit: scriptable commit signature verification, 2014-06-23). These includes are probably just redundant, and not hurting anything by circumventing the order that git-compat-util.h tries to impose, since we'll always have loaded git-compat-util by the time we get to these. So this is just a cleanup, and shouldn't fix or break any platforms. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 June 2019, 15:19:21 UTC |
29c83fc | Jeff King | 19 June 2019, 03:37:28 UTC | interpret-trailers: load default config The interpret-trailers program does not do the usual loading of config via git_default_config(), and thus does not respect many of the usual options. In particular, we will not load core.commentChar, even though the underlying trailer code uses its value. This can be seen in the accompanying test, where setting core.commentChar to anything besides "#" results in a failure to treat the comments correctly. Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 19 June 2019, 14:12:49 UTC |
568a05c | René Scharfe | 13 June 2019, 17:51:56 UTC | cleanup: fix possible overflow errors in binary search, part 2 Calculating the sum of two array indexes to find the midpoint between them can overflow, i.e. code like this is unsafe for big arrays: mid = (first + last) >> 1; Make sure the intermediate value stays within the boundaries instead, like this: mid = first + ((last - first) >> 1); The loop condition of the binary search makes sure that 'last' is always greater than 'first', so this is safe as long as 'first' is not negative. And that can be verified easily using the pre-context of each change, except for name-hash.c, so add an assertion to that effect there. The unsafe calculations were found with: git grep '(.*+.*) *>> *1' This is a continuation of 19716b21a4 (cleanup: fix possible overflow errors in binary search, 2017-10-08). Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2019, 18:28:53 UTC |
2bd69b9 | Phillip Wood | 12 June 2019, 09:25:27 UTC | add -p: fix checkout -p with pathological context Commit fecc6f3a68 ("add -p: adjust offsets of subsequent hunks when one is skipped", 2018-03-01) fixed adding hunks in the correct place when a previous hunk has been skipped. However it did not address patches that are applied in reverse. In that case we need to adjust the pre-image offset so that when apply reverses the patch the post-image offset is adjusted correctly. We subtract rather than add the delta as the patch is reversed (the easiest way to think about it is to consider a hunk of deletions that is skipped - in that case we want to reduce offset so we need to subtract). Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2019, 17:00:30 UTC |
2d511cf | Derrick Stolee | 17 May 2019, 18:41:49 UTC | packfile: rename close_all_packs to close_object_store The close_all_packs() method is now responsible for more than just pack-files. It also closes the commit-graph and the multi-pack-index. Rename the function to be more descriptive of its larger role. The name also fits because the input parameter is a raw_object_store. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:33:54 UTC |
5472c32 | Derrick Stolee | 17 May 2019, 18:41:48 UTC | packfile: close commit-graph in close_all_packs The close_all_packs() method is used to close all read handles to pack-files and the multi-pack-index before running 'git gc --auto'. This is particularly important on the Windows platform, where read handles block any writes to those files. Replacing one of these files with a rename() will fail in this situation. The commit-graph also performs a rename, so is susceptable to this problem. We are careful to close the commit-graph before writing, but that doesn't work when a 'git fetch' (or similar) process runs 'git gc --auto' which may write a commit-graph. Here, close the commit-graph as part of close_all_packs(). Reported-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:33:54 UTC |
c3a3a96 | Derrick Stolee | 17 May 2019, 18:41:47 UTC | commit-graph: use raw_object_store when closing The close_commit_graph() method took a repository struct, but then only uses the raw_object_store within. Change the function prototype to make the method more flexible. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:33:54 UTC |
238def5 | Derrick Stolee | 12 June 2019, 13:29:45 UTC | commit-graph: extract write_commit_graph_file() The write_commit_graph() method is too complex, so we are extracting helper functions one by one. Extract write_commit_graph_file() that takes all of the information in the context struct and writes the data to a commit-graph file. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:54 UTC |
f998d54 | Derrick Stolee | 12 June 2019, 13:29:44 UTC | commit-graph: extract copy_oids_to_commits() The write_commit_graph() method is too complex, so we are extracting helper functions one by one. Extract copy_oids_to_commits(), which fills the commits list with the distinct commits from the oids list. During this loop, it also counts the number of "extra" edges from octopus merges. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:54 UTC |
014e344 | Derrick Stolee | 12 June 2019, 13:29:43 UTC | commit-graph: extract count_distinct_commits() The write_commit_graph() method is too complex, so we are extracting helper functions one by one. Extract count_distinct_commits(), which sorts the oids list, then iterates through to find duplicates. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:54 UTC |
b2c8306 | Derrick Stolee | 12 June 2019, 13:29:42 UTC | commit-graph: extract fill_oids_from_all_packs() The write_commit_graph() method is too complex, so we are extracting helper functions one by one. Extract fill_oids_from_all_packs() that reads all pack-files for commits and fills the oid list in the context. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:54 UTC |
4c9efe8 | Derrick Stolee | 12 June 2019, 13:29:42 UTC | commit-graph: extract fill_oids_from_commit_hex() The write_commit_graph() method is too complex, so we are extracting helper functions one by one. Extract fill_oids_from_commit_hex() that reads the given commit id list and fille the oid list in the context. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:54 UTC |
ef5b83f | Derrick Stolee | 12 June 2019, 13:29:41 UTC | commit-graph: extract fill_oids_from_packs() The write_commit_graph() method is too complex, so we are extracting helper functions one by one. This extracts fill_oids_from_packs() that reads the given pack-file list and fills the oid list in the context. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:53 UTC |
c9905be | Derrick Stolee | 12 June 2019, 13:29:40 UTC | commit-graph: create write_commit_graph_context The write_commit_graph() method is too large and complex. To simplify it, we should extract several helper functions. However, we will risk repeating a lot of declarations related to progress incidators and object id or commit lists. Create a new write_commit_graph_context struct that contains the core data structures used in this process. Replace the other local variables with the values inside the context object. Following this change, we will start to lift code segments wholesale out of the write_commit_graph() method and into helper functions. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:53 UTC |
10bd0be | Derrick Stolee | 12 June 2019, 13:29:39 UTC | commit-graph: remove Future Work section The commit-graph feature began with a long list of planned benefits, most of which are now complete. The future work section has only a few items left. As for making more algorithms aware of generation numbers, some are only waiting for generation number v2 to ensure the performance matches the existing behavior using commit date. It is unlikely that we will ever send a commit-graph file as part of the protocol, since we would need to verify the data, and that is expensive. If we want to start trusting remote content, then that item can be investigated again. While there is more work to be done on the feature, having a section of the docs devoted to a TODO list is wasteful and hard to keep up-to-date. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:53 UTC |
5af8039 | Derrick Stolee | 12 June 2019, 13:29:38 UTC | commit-graph: collapse parameters into flags The write_commit_graph() and write_commit_graph_reachable() methods currently take two boolean parameters: 'append' and 'report_progress'. As we update these methods, adding more parameters this way becomes cluttered and hard to maintain. Collapse these parameters into a 'flags' parameter, and adjust the callers to provide flags as necessary. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:53 UTC |
e103f72 | Derrick Stolee | 12 June 2019, 13:29:37 UTC | commit-graph: return with errors during write The write_commit_graph() method uses die() to report failure and exit when confronted with an unexpected condition. This use of die() in a library function is incorrect and is now replaced by error() statements and an int return type. Return zero on success and a negative value on failure. Now that we use 'goto cleanup' to jump to the terminal condition on an error, we have new paths that could lead to uninitialized values. New initializers are added to correct for this. The builtins 'commit-graph', 'gc', and 'commit' call these methods, so update them to check the return value. Test that 'git commit-graph write' returns a proper error code when hitting a failure condition in write_commit_graph(). Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 12 June 2019, 18:20:53 UTC |
810e193 | Jonathan Tan | 11 June 2019, 21:06:47 UTC | t5616: cover case of client having delta base When fetching into a partial clone, Git first prefetches missing REF_DELTA bases from the promisor remote. (This feature was introduced in [1].) But as can be seen in a recent test coverage report [2], the case in which a REF_DELTA base is already present is not covered by tests. Extend the tests slightly to cover this case. [1] 8a30a1efd1 ("index-pack: prefetch missing REF_DELTA bases", 2019-05-15). [2] https://public-inbox.org/git/396091fc-5572-19a5-4f18-61c258590dd5@gmail.com/ Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2019, 21:29:09 UTC |
5718c53 | Jonathan Tan | 11 June 2019, 21:06:46 UTC | t5616: use correct flag to check object is missing If we want to check whether an object is missing, the correct flag to pass to rev-list is --ignore-missing; --exclude-promisor-objects will exclude any object that came from the promisor remote, whether it is present or missing. Use the correct flag. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 11 June 2019, 21:29:08 UTC |
b697d92 | Junio C Hamano | 07 June 2019, 16:39:21 UTC | Git 2.22 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 07 June 2019, 16:39:21 UTC |
6ee1eac | Junio C Hamano | 07 June 2019, 16:36:32 UTC | 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 | Jiang Xin | 07 June 2019, 08:51:09 UTC | 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 | Jiang Xin | 07 June 2019, 08:50:23 UTC | 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 | Cédric Malard | 05 June 2019, 21:33:52 UTC | 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 | Junio C Hamano | 06 June 2019, 21:03:36 UTC | 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 | Matthias Rüster | 01 June 2019, 12:32:49 UTC | 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 | Ralf Thielow | 28 February 2019, 18:25:51 UTC | 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 | Matthias Rüster | 01 June 2019, 12:32:44 UTC | 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 | Elijah Newren | 04 June 2019, 20:27:50 UTC | 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 | Alexander Shopov | 05 June 2019, 06:51:15 UTC | l10n: bg.po: Updated Bulgarian translation (4581t) Signed-off-by: Alexander Shopov <ash@kambanaria.org> | 05 June 2019, 06:51:15 UTC |
5b53363 | Fangyi Zhou | 02 June 2019, 21:41:45 UTC | 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 | Jiang Xin | 16 April 2019, 00:56:12 UTC | 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 | Jiang Xin | 05 June 2019, 00:35:35 UTC | 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 | Jiang Xin | 05 June 2019, 00:17:28 UTC | 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 | Christopher Diaz Riveros | 04 June 2019, 23:52:28 UTC | l10n: es: 2.22.0 round 3 Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org> | 04 June 2019, 23:52:28 UTC |
fc7e03a | Miguel Ojeda | 03 June 2019, 22:48:14 UTC | clang-format: use git grep to generate the ForEachMacros list The ForEachMacros list can reasonably be generated grepping the C source code for macros with 'for_each' in their name. Taken almost verbatim from the .clang-format file in the Linux kernel. Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 21:50:40 UTC |
d37dc23 | Matthew DeVore | 04 June 2019, 17:57:05 UTC | url: do not allow %00 to represent NUL in URLs There is no reason to allow %00 to terminate a string, so do not allow it. Otherwise, we end up returning arbitrary content in the string (that which is after the %00) which is effectively hidden from callers and can escape sanity checks and validation, and possible be used in tandem with a security vulnerability to introduce a payload. Helped-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Matthew DeVore <matvore@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 21:48:25 UTC |
3f6b8a6 | Matthew DeVore | 04 June 2019, 17:57:04 UTC | url: do not read past end of buffer url_decode_internal could have been tricked into reading past the length of the **query buffer if there are fewer than 2 characters after a % (in a null-terminated string, % would have to be the last character). Prevent this from happening by checking len before decoding the % sequence. Helped-by: René Scharfe <l.s.r@web.de> Signed-off-by: Matthew DeVore <matvore@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 21:48:06 UTC |
1a58bad | Dr. Adam Nielsen | 04 June 2019, 17:34:46 UTC | gitignore.txt: make slash-rules more readable Renew paragraphs relevant for pattern with slash. Aim to make it more clear and to avoid possible pitfalls for the reader. Add some examples. Signed-off-by: Dr. Adam Nielsen <admin@in-ici.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 21:19:28 UTC |
f80d922 | Felipe Contreras | 04 June 2019, 02:13:30 UTC | fetch: fix regression with transport helpers Commit e198b3a740 changed the behavior of fetch with regards to tags. Before, null oids where not ignored, now they are, regardless of whether the refs have been explicitly cleared or not. e198b3a740 (fetch: replace string-list used as a look-up table with a hashmap) When using a transport helper the oids can certainly be null. So now tags are ignored and fetching them is impossible. This patch fixes that by having a specific flag that is set only when we explicitly want to ignore the refs, restoring the original behavior. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 18:28:58 UTC |
9528b80 | Felipe Contreras | 04 June 2019, 02:13:29 UTC | fetch: make the code more understandable The comment makes it seem as if the condition is the other way around. The exception is when the oid is null, so check for that. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 18:28:58 UTC |
a8363b5 | Felipe Contreras | 04 June 2019, 02:13:28 UTC | fetch: trivial cleanup Create a helper function to clear an item. The way items are cleared has changed, and will change again soon. No functional changes. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 18:28:58 UTC |
8144f09 | Felipe Contreras | 04 June 2019, 02:13:27 UTC | t5801 (remote-helpers): add test to fetch tags This used to work, but commit e198b3a740 broke it. e198b3a740 (fetch: replace string-list used as a look-up table with a hashmap) Probably all remote helpers that use the import method are affected, but we didn't catch the issue. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 18:28:58 UTC |
6e17fb3 | Felipe Contreras | 04 June 2019, 02:13:26 UTC | t5801 (remote-helpers): cleanup refspec stuff The code is much simpler this way, specially thanks to: git fast-export --refspec Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 June 2019, 18:28:58 UTC |
85b66ac | Jean-Noël Avila | 04 June 2019, 17:53:32 UTC | 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 | Tran Ngoc Quan | 04 June 2019, 01:10:46 UTC | 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 | Jiang Xin | 04 June 2019, 00:27:36 UTC | 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 | Jiang Xin | 04 June 2019, 00:24:28 UTC | 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 | Junio C Hamano | 03 June 2019, 18:25:12 UTC | Git 2.22-rc3 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 03 June 2019, 18:25:12 UTC |
4a787f7 | Junio C Hamano | 03 June 2019, 18:18:54 UTC | 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 | Jiang Xin | 02 June 2019, 15:11:22 UTC | 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 | Todd Zullinger | 01 June 2019, 15:51:06 UTC | 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 | Christopher Diaz Riveros | 03 June 2019, 14:34:50 UTC | l10n: es: 2.22.0 round 2 Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org> | 03 June 2019, 14:34:50 UTC |
cb56cf3 | Jiang Xin | 02 June 2019, 14:35:11 UTC | 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 |