Re: git-cvsexportcommit fails for huge commits
From: Martin Langhoff <hidden>
Date: 2016-06-15 22:43:58
On Dec 12, 2007 9:31 PM, Jeff King [off-list ref] wrote:
We will make our commits in two CVS invocations, but since CVS isn't atomic _anyway_, we shouldn't mind losing the atomicity.
Quick note -- I used to understand that cvs was not atomic, but reading the on-the-wire protocol has taught me otherwise. Modern versions of cvs are actually quite atomic-ish -- the protocol expects the client to give all the relevant data to the server, and then say "yep, that was all", and only _then_ the server does its commit. So if the client dies or cancels along the way, nothing ever happens on the server side. Still, I suspect that the _server_ is not atomic, so if the server process dies or finds a problem along the way, you could end up with a half-commit in the repository, and maybe some hosed ,v files. IOWs, the protocol *is* atomic, and this patch does make things slightly more brittle. Perhaps require an option to be set before we do this? m