[Info-vax] in-memory editing with EDT or EVE
Arne Vajhøj
arne at vajhoej.dk
Sat Nov 23 19:53:57 EST 2024
On 11/23/2024 3:16 PM, Craig A. Berry wrote:
> On 11/23/24 12:29 PM, Arne Vajhøj wrote:
>> On 11/23/2024 1:10 PM, Craig A. Berry wrote:
>>> To compute the commit ID, git has to
>>> calculate the SHA1 of the actual content changes, the metadata (who,
>>> when, etc.), and the commit message. While that could theoretically all
>>> be done in memory, how can be you sure it would all fit in memory?
>>
>> The files being committed are on disk, so Git will be doing disk IO.
>>
>> But I don't see that as an argument for that the commit message need to
>> pass through a file.
>>
>>> Plus
>>> debugging and recovery from failed operations would surely be much
>>> easier with some kind of persistence of intermediate steps.
>>
>> Maybe. But It is not obvious to me that having commit message
>> on disk in a temporary file will help troubleshooting.
>>
>>> So I think
>>> the actual design of git is much better than this hypothetical one that
>>> tries to avoid saving anything to disk until the last step.
>>
>> The commit message should not be saved on disk client side at all.
>> The message get created and get sent to the server over the network.
>
> There is no "client." In a DVCS like git, when you commit a change,
> everything is written locally. Pushing to a server is an optional
> separate operation and what you push is the version history that has
> been written locally first. There is never a point where the commit
> message is sent over the network to another machine before being stored
> as one component of a commit.
OK. I am still thinking SVNish. Sorry.
But does it matter?
edit disk file--read disk file--write to local repo
vs
edit in memory--write to local repo
still seem like a difference to me.
Or is git external editor actual editing the final file
inside the repo?
Arne
More information about the Info-vax
mailing list