I’m trying to create and follow best practices for versioning control and came across a reference to atomic commits in Subversion. Since I’ve never heard of this action, I have a few questions about it.
- What’s its purpose?
- When should it be used?
- How is it different than a normal commit?
- Is it available to TortoiseSVN users? If so, how?
There is no special command for atomic commits. Every commit in Subversion is atomic.
It means every commit (of any number of files) will either succeed or fail as a whole.
It’s not possible that only some of the commited files make it to the repository and others not (for example, because of an error that occurred in the middle of the commit operation or a conflict in one of the files).
This is the same for TortoiseSVN, since it builds on the “normal” Subversion functionality.
The following is an excerpt from the Subversion book: