Remove the line length limit for graft files
commit0b93eb3da74481afe1e703a1e29fb735263f2723
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 27 Dec 2013 15:39:12 +0000 (27 09:39 -0600)
committerJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 27 Dec 2013 16:18:36 +0000 (27 10:18 -0600)
treedb9d48addf60cda106b396bcfbc31f8466ddabbe
parent04deb9e87f95986b2ca8e7044ca76a63ae563337
Remove the line length limit for graft files

Support for grafts predates Git's strbuf, and hence it is understandable
that there was a hard-coded line length limit of 1023 characters (which
was chosen a bit awkwardly, given that it is *exactly* one byte short of
aligning with the 41 bytes occupied by a commit name and the following
space or new-line character).

While regular commit histories hardly win comprehensibility in general
if they merge more than twenty-two branches in one go, only a lack of
imagination could explain this unnecessary limitation for general use
cases: the grafts facility *was* introduced to override regular commit
histories.

In this particular developer's case, the use case that requires
substantially longer graft lines to be supported is the visualization of
the commits' order implied by their changes: commits are considered to
have an implicit relationship iff exchanging them in an interactive
rebase would result in merge conflicts.

Thusly implied branches tend to be very shallow in general, and the
resulting thicket of implied branches is usually very wide; It is
actually quite common that *most* of the commits in a topic branch have
not even one implied parents, so that a final merge commit has about as
many implied parents as there are commits in said branch.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
builtin/blame.c
commit.c