Граф коммитов

56569 Коммитов

Автор SHA1 Сообщение Дата
Taylor Blau 16749b8dd2 commit-graph.c: handle commit parsing errors
To write a commit graph chunk, 'write_graph_chunk_data()' takes a list
of commits to write and parses each one before writing the necessary
data, and continuing on to the next commit in the list.

Since the majority of these commits are not parsed ahead of time (an
exception is made for the *last* commit in the list, which is parsed
early within 'copy_oids_to_commits'), it is possible that calling
'parse_commit_no_graph()' on them may return an error. Failing to catch
these errors before de-referencing later calls can result in a undefined
memory access and a SIGSEGV.

One such example of this is 'get_commit_tree_oid()', which expects a
parsed object as its input (in this case, the commit-graph code passes
'*list'). If '*list' causes a parse error, the subsequent call will
fail.

Prevent such an issue by checking the return value of
'parse_commit_no_graph()' to avoid passing an unparsed object to a
function which expects a parsed object, thus preventing a segfault.

It is worth noting that this fix is really skirting around the issue in
object.c's 'parse_object()', which makes it difficult to tell how
corrupt an object is without digging into it. Presumably one could
change the meaning of 'parse_object' returns, but this would require
adjusting each callsite accordingly. Instead of that, add an additional
check to the object parsed.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-09-09 10:55:58 -07:00
Taylor Blau 23424ea759 t/t5318: introduce failing 'git commit-graph write' tests
When invoking 'git commit-graph' in a corrupt repository, one can cause
a segfault when ancestral commits are corrupt in one way or another.
This is due to two function calls in the 'commit-graph.c' code that may
return NULL, but are not checked for NULL-ness before dereferencing.

Before fixing the bug, introduce two failing tests that demonstrate the
problem. The first test corrupts an ancestral commit's parent to point
to a non-existent object. The second test instead corrupts an ancestral
tree by removing the 'tree' information entirely from the commit. Both
of these cases cause segfaults, each at different lines.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Acked-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-09-09 10:55:53 -07:00
Junio C Hamano 745f681289 First batch after Git 2.23
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-22 12:41:04 -07:00
Junio C Hamano d4b12b9e07 Merge branch 'sg/worktree-remove-errormsg'
Error message update/clarification.

* sg/worktree-remove-errormsg:
  worktree remove: clarify error message on dirty worktree
2019-08-22 12:34:12 -07:00
Junio C Hamano 22e86e85cb Merge branch 'en/fast-import-merge-doc'
Doc update.

* en/fast-import-merge-doc:
  git-fast-import.txt: clarify that multiple merge commits are allowed
2019-08-22 12:34:12 -07:00
Junio C Hamano 9c7573581c Merge branch 'jk/perf-no-dups'
Test & perf scripts must use unique numeric prefix, but a pair
shared the same number, which is fixed here.

* jk/perf-no-dups:
  t/perf: rename duplicate-numbered test script
2019-08-22 12:34:11 -07:00
Junio C Hamano 4336fdb2ef Merge branch 'rs/nedalloc-fixlets'
Compilation fix.

* rs/nedalloc-fixlets:
  nedmalloc: avoid compiler warning about unused value
  nedmalloc: do assignments only after the declaration section
2019-08-22 12:34:11 -07:00
Junio C Hamano 8ae7a46c4d Merge branch 'sg/show-failed-test-names'
The first line of verbose output from each test piece now carries
the test name and number to help scanning with eyeballs.

* sg/show-failed-test-names:
  tests: show the test name and number at the start of verbose output
  t0000-basic: use realistic test script names in the verbose tests
2019-08-22 12:34:11 -07:00
Junio C Hamano 6ba06b582b Merge branch 'sg/commit-graph-validate'
The code to write commit-graph over given commit object names has
been made a bit more robust.

* sg/commit-graph-validate:
  commit-graph: error out on invalid commit oids in 'write --stdin-commits'
  commit-graph: turn a group of write-related macro flags into an enum
  t5318-commit-graph: use 'test_expect_code'
2019-08-22 12:34:11 -07:00
Junio C Hamano 072735ea58 Merge branch 'vn/restore-empty-ita-corner-case-fix'
"git checkout" and "git restore" to re-populate the index from a
tree-ish (typically HEAD) did not work correctly for a path that
was removed and then added again with the intent-to-add bit, when
the corresponding working tree file was empty.  This has been
corrected.

* vn/restore-empty-ita-corner-case-fix:
  restore: add test for deleted ita files
  checkout.c: unstage empty deleted ita files
2019-08-22 12:34:11 -07:00
Junio C Hamano 207ad3cb20 Merge branch 'sc/pack-refs-deletion-racefix'
"git pack-refs" can lose refs that are created while running, which
is getting corrected.

* sc/pack-refs-deletion-racefix:
  pack-refs: always refresh after taking the lock file
2019-08-22 12:34:10 -07:00
Junio C Hamano 77067b6ce8 Merge branch 'sg/do-not-skip-non-httpd-tests'
Test fix.

* sg/do-not-skip-non-httpd-tests:
  t: warn against adding non-httpd-specific tests after sourcing 'lib-httpd'
  t5703: run all non-httpd-specific tests before sourcing 'lib-httpd.sh'
  t5510-fetch: run non-httpd-specific test before sourcing 'lib-httpd.sh'
2019-08-22 12:34:10 -07:00
Junio C Hamano 1b01cdbf2e Merge branch 'jk/tree-walk-overflow'
Codepaths to walk tree objects have been audited for integer
overflows and hardened.

* jk/tree-walk-overflow:
  tree-walk: harden make_traverse_path() length computations
  tree-walk: add a strbuf wrapper for make_traverse_path()
  tree-walk: accept a raw length for traverse_path_len()
  tree-walk: use size_t consistently
  tree-walk: drop oid from traverse_info
  setup_traverse_info(): stop copying oid
2019-08-22 12:34:10 -07:00
Junio C Hamano 8aa76abba5 Merge branch 'sg/t5510-test-i18ngrep-fix'
Test fix.

* sg/t5510-test-i18ngrep-fix:
  t5510-fetch: fix negated 'test_i18ngrep' invocation
2019-08-22 12:34:10 -07:00
Junio C Hamano 307179732d Merge branch 'mt/grep-submodules-working-tree'
"git grep --recurse-submodules" that looks at the working tree
files looked at the contents in the index in submodules, instead of
files in the working tree.

* mt/grep-submodules-working-tree:
  grep: fix worktree case in submodules
2019-08-22 12:34:10 -07:00
Junio C Hamano 5fa0f5238b Git 2.23
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-16 10:28:23 -07:00
Junio C Hamano 8e0fa0e056 l10n-2.23.0-rnd2
-----BEGIN PGP SIGNATURE-----
 
 iQJNBAABCgA3FiEET/4dIHc7EQTOoGRdx6TpG3VEeigFAl1WcV4ZHHdvcmxkaGVs
 bG8ubmV0QGdtYWlsLmNvbQAKCRDHpOkbdUR6KMXWD/99nW+vms2G0BfpWcCdBzmS
 e4TCLis53FgXX/1n2OAIMoBHg+6uLyzfA1eePOlzFUAJJD2L+vp0jRCDs6IFa5vd
 a+RwoRBJveQW9h1K713b+iyEuQaIsPV8xL8sDwDapli/mRy9uSXJW3hpd8ACpO2P
 BHLSQYzHxojb3/Orp5mwloZUvuGEfabLMiBMXCKzcCzULN3C/f/zpDse4C06hIDD
 bO5wwJcmiasBNPsEOvIs/rtUKBksAvmiFyj8DfSNhdP6rxOcp/+X0jDVekLr08i5
 Ou/5SDmKiTH5JCM385QYgYBw7OZlGcG6q8ETZ6wpmwuvVx/Eb/FcM03O/Q2k49K2
 WbaMhbnQZHG9TMsLMLLzcBGixsnrau5Hl5KQW5OuGtSEk0ZD8VNuRE1GHhGm/yve
 LFNBurL3S7MRj2W18aCXEQin7Wk3iuH72gcQ2WV836JkVHAyEzD6ewbzsfL895/i
 7PfnXOgh09P/WnjpfpZGTlUD5vFEfLo6OcfUCDhF2fooozqih83tccRGEuF5Kam4
 53MMVSDws7zvVC+cYpUAupMJvTswH76+qTX4nYRvCI9R/UFJ3hXukBElsRFbhTaO
 fyJCtO/EFfzhvShADElEP5MAy0gtQdGYLzqoCQLXIAmfzPn089OZbnx7IeCao2ig
 SwXvhx56kGvGhn/l0VMfrw==
 =kBji
 -----END PGP SIGNATURE-----

Merge tag 'l10n-2.23.0-rnd2' of git://github.com/git-l10n/git-po

l10n-2.23.0-rnd2
2019-08-16 10:22:51 -07:00
Jiang Xin a6cd2cc485 l10n: zh_CN: for git v2.23.0 l10n round 1~2
Translate 128 new messages (4674t0f0u) for git 2.23.0.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2019-08-16 16:59:17 +08:00
SZEDER Gábor 507e5470a0 worktree remove: clarify error message on dirty worktree
To avoid data loss, 'git worktree remove' refuses to delete a worktree
if it's dirty or contains untracked files.  However, the error message
only mentions that the worktree "is dirty", even if the worktree in
question is in fact clean, but contains untracked files:

  $ git worktree add test-worktree
  Preparing worktree (new branch 'test-worktree')
  HEAD is now at aa53e60 Initial
  $ >test-worktree/untracked-file
  $ git worktree remove test-worktree/
  fatal: 'test-worktree/' is dirty, use --force to delete it
  $ git -C test-worktree/ diff
  $ git -C test-worktree/ diff --cached
  $ # Huh?  Where are those dirty files?!

Clarify this error message to say that the worktree "contains modified
or untracked files".

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-13 13:10:09 -07:00
Elijah Newren d1387d3895 git-fast-import.txt: clarify that multiple merge commits are allowed
The grammar for commits used a '?' rather than a '*' on the `merge`
directive line, despite the fact that the code allows multiple `merge`
directives in order to support n-way merges.  In fact, elsewhere in
git-fast-import.txt there is an explicit declaration that "an unlimited
number of `merge` commands per commit are permitted by fast-import".
Fix the grammar to match the intent and implementation.

Reported-by: Joachim Klein <joachim.klein@automata.tools>
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-12 13:17:07 -07:00
Matthias Ruester 1f5ab2d1ae l10n: de.po: Update German translation
Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com>
Reviewed-by: Phillip Szelat <phillip.szelat@gmail.com>
2019-08-12 18:48:08 +02:00
Jeff King 362f8b280c t/perf: rename duplicate-numbered test script
There are two perf scripts numbered p5600, but with otherwise different
names ("clone-reference" versus "partial-clone"). We store timing
results in files named after the whole script, so internally we don't
get confused between the two. But "aggregate.perl" just prints the test
number for each result, giving multiple entries for "5600.3". It also
makes it impossible to skip one test but not the other with
GIT_SKIP_TESTS.

Let's renumber the one that appeared later (by date -- the source of the
problem is that the two were developed on independent branches). For the
non-perf test suite, our test-lint rule would have complained about this
when the two were merged, but t/perf never learned that trick.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-12 09:05:13 -07:00
Jiang Xin 5900439e88 Merge branch 'master' of https://github.com/vnwildman/git
* 'master' of https://github.com/vnwildman/git:
  l10n: vi(4674t): Updated translation for Vietnamese
2019-08-12 16:04:28 +08:00
Jiang Xin ba82e37314 Merge branch 'update-italian-translation' of github.com:AlessandroMenti/git-po
* 'update-italian-translation' of github.com:AlessandroMenti/git-po:
  l10n: it.po: update the Italian localization for v2.23.0 round 2
2019-08-12 16:02:08 +08:00
Jiang Xin 6c1a7dd97c Merge branch 'next' of https://github.com/ChrisADR/git-po
* 'next' of https://github.com/ChrisADR/git-po:
  l10n: es: 2.23.0 round 2
2019-08-12 16:00:14 +08:00
Junio C Hamano ff66981f45 Git 2.22.1
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4fA2sf7nIh/HeOzvsLXohpav5ssFAl1QkocACgkQsLXohpav
 5suehRAAzR2f8ypABrB4Q+od4Z7861axXNGQE789XrQxbW8RCpN7twqkMTXqomRC
 cvLld+CxinkWE1opafkqfjpmJWFVeQhdI+UI8EhWY1q1YIcTHsTcNAFRcISBvJoO
 HukU6nmo8ahpO/FR6re4Z9rvoJlaXfVqhrzYegoHqsZhH3msmlG9edSqIEP6CtG0
 jB3Hsv4dKxLEW66Oi3ETY6EL0y44iaX1criYarWjjF2BL3Mt0+pgFEy++qQZcgA4
 PD1lTKYGz4VTBIa8D5D0C0xj1vhnR2WbhSRl0PuXUzMna7EYwimx++kje3hfhIyG
 msSYC05ZmEr+tXZdOblV6IAA1EOXCqvIbOwqigUxfF2OE0+1D88AWWAiE7NLMi5L
 bH/cGDpzmU9Vz2sF4O3mMj0uAoH7Kjs3lwDf99OVn3PLcB1hLVkq9NJvE63vj9pG
 R63XO2GDmWonYfYaT5iowwlJih0bzX8ERS4jbqcNGf+FltXefIj9ncrKtuLirXUI
 1xlo6QWHESdvRmPVAGTCPZIJXeaXUw3iohRQqxkQEslcxYbQCvWyjG0sm3nIJ77I
 lIK51ybnHYqXj1ZRTDaAl2RTi9nq2/+i2r4vZfGlELgbfsQUAmE0EfYanhY0rj6e
 6UC1cP18FQ2pS4M5pzaGsXHloXlsabxc4XoMWrIEVvfPvIZnGhU=
 =xvH4
 -----END PGP SIGNATURE-----

Sync with Git 2.22.1
2019-08-11 17:41:39 -07:00
Mark Rushakoff 24966cd982 doc: fix repeated words
Inspired by 21416f0a07 ("restore: fix typo in docs", 2019-08-03), I ran
"git grep -E '(\b[a-zA-Z]+) \1\b' -- Documentation/" to find other cases
where words were duplicated, e.g. "the the", and in most cases removed
one of the repeated words.

There were many false positives by this grep command, including
deliberate repeated words like "really really" or valid uses of "that
that" which I left alone, of course.

I also did not correct any of the legitimate, accidentally repeated
words in old RelNotes.

Signed-off-by: Mark Rushakoff <mark.rushakoff@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-11 17:40:07 -07:00
Junio C Hamano 75b2f01a0f Git 2.22.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-11 15:07:51 -07:00
Philip Oakley 3d246dec11 .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>
2019-08-11 15:07:51 -07:00
Alessandro Menti ad1d0a52dd
l10n: it.po: update the Italian localization for v2.23.0 round 2
Signed-off-by: Alessandro Menti <alessandro.menti@alessandromenti.it>
2019-08-11 11:54:27 +02:00
Tran Ngoc Quan 8a4adfdd2d l10n: vi(4674t): Updated translation for Vietnamese
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2019-08-11 07:14:07 +07:00
Christopher Diaz Riveros 3f3e3f9209 l10n: es: 2.23.0 round 2
Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org>
2019-08-10 13:17:33 -05:00
Jean-Noël Avila ec688f776c l10n: fr v2.23.0 round 2
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
2019-08-10 18:17:31 +02:00
Jiang Xin 466c88fa0e l10n: git.pot: v2.23.0 round 2 (4 new, 6 removed)
Generate po/git.pot from v2.23.0-rc2 for git v2.23.0 l10n round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2019-08-10 20:13:14 +08:00
Jiang Xin d6d5cbfe87 Git 2.23-rc2
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4fA2sf7nIh/HeOzvsLXohpav5ssFAl1NqkwACgkQsLXohpav
 5ssjXQ//VsqRnuVu947TP0x/3vJzAuLSsTW1qE4kJUNQbRCRz64ejSiKiVlfDtpb
 yk4rWbdnVVVCZwCUCNp421SAKWVWuFvEDhqd6JMe69DF1MqOwdn7gVleRiVa59Sv
 2aVMzCO0FcRwUxuSkHogExJp94z2kyzL6EdAVYyalU8InR54cBML+in+gqtWToXE
 7gGzAyu6g2Dv7/Wx2laohm05xppvbgsnrGqZvMhoYR1rl5pf9LlERvS/CjNl4FBc
 mFqhJYgYjjvWfVPmv7WSce1JxlGd/AdDK0eMl6rnorHwSfDbeNsmvDT5a62YioQ7
 9eC2/2woRom5T56NuEwobMYhpEG7ttlZDHEDg0YULSW7gbaNJdEoYJ78T0p7yQL3
 HIljlg2H+l/I2wxeiMDg50oLCIWptT8d0E9TkEX89UkLq8Lc0XQeA7oxIM8HpjQy
 n/Zx7sfDE4DVd7mFZb9UmzvHpzwXKl1NEy9a2/Mb7gRIUwO1DEHL8ATjar+j3AbO
 uh3vOShC4u1Ya1vUOY7wRbmxfxIGIRiqRHtEmx60j1GCSDQMl71fTyO/QnAi71KH
 CNzBRWauiyuJqwXQfzhZzXKLBDjfufoPudVHlWm0UC5oY3MXuLv9jUH6JAoaRP1U
 46gauPfLinOeB0XQ4Uo3xbHJ6j2e91BLt2TzyQMMz0n6upGM9QE=
 =hE45
 -----END PGP SIGNATURE-----

Merge tag 'v2.23.0-rc2' of git://git.kernel.org/pub/scm/git/git

Git 2.23-rc2

* tag 'v2.23.0-rc2' of git://git.kernel.org/pub/scm/git/git: (63 commits)
  Git 2.23-rc2
  t0000: reword comments for "local" test
  t: decrease nesting in test_oid_to_path
  sha1-file: release strbuf after use
  test-dir-iterator: use path argument directly
  dir-iterator: release strbuf after use
  commit-graph: release strbufs after use
  l10n: reformat some localized strings for v2.23.0
  merge-recursive: avoid directory rename detection in recursive case
  commit-graph: fix bug around octopus merges
  restore: fix typo in docs
  doc: typo: s/can not/cannot/ and s/is does/does/
  Git 2.23-rc1
  log: really flip the --mailmap default
  RelNotes/2.23.0: fix a few typos and other minor issues
  RelNotes/2.21.1: typofix
  log: flip the --mailmap default unconditionally
  config: work around bug with includeif:onbranch and early config
  A few more last-minute fixes
  repack: simplify handling of auto-bitmaps and .keep files
  ...
2019-08-10 20:11:17 +08:00
Alexander Shopov 5532a55b34 l10n: bg.po: Updated Bulgarian translation (4674t)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2019-08-10 12:34:54 +03:00
Junio C Hamano 5d929ecbcb 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
2019-08-09 15:18:19 -07:00
Junio C Hamano 414784d016 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
2019-08-09 15:18:19 -07:00
Junio C Hamano 5e864ac348 Merge branch 'sg/fsck-config-in-doc' into maint
Doc update.

* sg/fsck-config-in-doc:
  Documentation/git-fsck.txt: include fsck.* config variables
2019-08-09 15:18:18 -07:00
Junio C Hamano ae76814c6c 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
2019-08-09 15:18:18 -07:00
Junio C Hamano 2e27de94d4 Git 2.23-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-08-09 10:15:39 -07:00
Junio C Hamano fcdd9cc86d Merge branch 'bc/hash-independent-tests-part-4'
Test fix.

* bc/hash-independent-tests-part-4:
  t0000: reword comments for "local" test
  t: decrease nesting in test_oid_to_path
2019-08-09 10:13:14 -07:00
Junio C Hamano d2422a99cc Merge branch 'rs/plug-strbuf-reak-in-read-alt-refs'
Leakfix.

* rs/plug-strbuf-reak-in-read-alt-refs:
  sha1-file: release strbuf after use
2019-08-09 10:13:14 -07:00
Junio C Hamano 9179380aa6 Merge branch 'mt/dir-iterator-updates'
Leakfix.

* mt/dir-iterator-updates:
  test-dir-iterator: use path argument directly
  dir-iterator: release strbuf after use
2019-08-09 10:13:14 -07:00
Junio C Hamano 203cf46fac Merge branch 'ds/commit-graph-incremental'
Leakfix.

* ds/commit-graph-incremental:
  commit-graph: release strbufs after use
2019-08-09 10:13:13 -07:00
Junio C Hamano c2a8c3701b Merge branch 'ja/l10n-fixes'
A few messages have been updated to help localization better.

* ja/l10n-fixes:
  l10n: reformat some localized strings for v2.23.0
2019-08-08 14:26:10 -07:00
Junio C Hamano 0bdaec1d3d Merge branch 'en/disable-dir-rename-in-recursive-merge'
"merge-recursive" hit a BUG() when building a virtual merge base
detected a directory rename.

* en/disable-dir-rename-in-recursive-merge:
  merge-recursive: avoid directory rename detection in recursive case
2019-08-08 14:26:10 -07:00
Junio C Hamano c0a6c6614d Merge branch 'nd/switch-and-restore'
Docfix.

* nd/switch-and-restore:
  restore: fix typo in docs
2019-08-08 14:26:09 -07:00
Junio C Hamano 68c1ac4a0b Merge branch 'mr/doc-can-not-to-cannot'
Docfix.

* mr/doc-can-not-to-cannot:
  doc: typo: s/can not/cannot/ and s/is does/does/
2019-08-08 14:26:09 -07:00
Junio C Hamano 3bcedae27e Merge branch 'ds/commit-graph-octopus-fix'
commit-graph did not handle commits with more than two parents
correctly, which has been corrected.

* ds/commit-graph-octopus-fix:
  commit-graph: fix bug around octopus merges
2019-08-08 14:26:09 -07:00