Skip to content

Mingw: verify both ends of the pipe () call - #168

Closed
dscho wants to merge 1 commit into
git:maintfrom
dscho:mingw-pipe
Closed

dscho wants to merge 1 commit into
git:maintfrom
dscho:mingw-pipe

Conversation

@dscho

@dscho dscho commented Aug 27, 2015

Copy link
Copy Markdown
Member

The code to open and test the second end of the pipe clearly imitates
the code for the first end. A little too closely, though... Let's fix
the obvious copy-edit bug.

Signed-off-by: Jose F. Morales jfmcjf@gmail.com
Signed-off-by: Johannes Schindelin johannes.schindelin@gmx.de

@submitgit

Copy link
Copy Markdown
Member

@dscho sent this to the mailing list with submitGit - here on Gmane, MARC

@dscho

dscho commented Aug 27, 2015

Copy link
Copy Markdown
Member Author

Woot!

@rtyley

rtyley commented Aug 27, 2015

Copy link
Copy Markdown
Member

Did that work okay for you?

@dscho

dscho commented Aug 27, 2015

Copy link
Copy Markdown
Member Author

@rtyley pretty well! The only thing I noticed was that the author name was the GitHub handle rather than the real name. We could maybe glean the real name from the sign-off line?

@rtyley

rtyley commented Aug 27, 2015

Copy link
Copy Markdown
Member

The only thing I noticed was that the author name was the GitHub handle rather than the real name.

That was what @jfmc used when they made the commit! If you look at the raw commit, you'll see this:

$ git show 0b859b7d6112e7b0c9e0e19e6881e5da4c7bbd40
commit 0b859b7d6112e7b0c9e0e19e6881e5da4c7bbd40
Author: jfmc <jfmcjf@gmail.com>
Date:   Sun Aug 23 01:10:35 2015 +0200
...

...if the commit was made through the GitHub web interface editor, the name reflects the fact that @jfmc hasn't set a GitHub profile name.

@dscho

dscho commented Aug 28, 2015

Copy link
Copy Markdown
Member Author

Good point! Sorry for blaming submitGit for what is clearly not its fault 😏

The code to open and test the second end of the pipe clearly imitates
the code for the first end. A little too closely, though... Let's fix
the obvious copy-edit bug.

Signed-off-by: Jose F. Morales <jfmcjf@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@submitgit

Copy link
Copy Markdown
Member

@dscho sent this to the mailing list with submitGit - here on Gmane, MARC

@dscho

dscho commented Sep 1, 2015

Copy link
Copy Markdown
Member Author

This has been merged upstream: c3cb7b6

@dscho dscho closed this Sep 1, 2015
@dscho
dscho deleted the mingw-pipe branch September 1, 2015 13:34
@rtyley rtyley mentioned this pull request Oct 26, 2015
derrickstolee added a commit to derrickstolee/git that referenced this pull request Aug 16, 2019
The parse_commit_no_graph() method was added in 43d3561 ("commit-graph
write: don't die if the existing graph is corrupt" 2019-03-25) as a way
to avoid persisting bad data across commit-graph files. That is, if the
commit-graph file has undetected corrupt data -- such as a flipped bit
in a parent int-id value -- then that data will persist to the next
commit-graph file. The parse_commit_no_graph() method was used to always
use the pack data directly instead.

Unfortunately, this comes at a significant performance cost. In both
time and memory, parsing from pack files is much slower than parsing
from the commit-graph file. In a repository with 4.5 million commits,
this can lead to Git taking up to 11gb of memory to rewrite the file.

Now that the incremental commit-graph file format exists, we can rely
on the quality of the commit-graph file if we follow the two-step
pattern of (1) write a commit-graph with "--split" and (2) run "git
commit-graph verify --shallow" to verify the tip file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants