aboutsummaryrefslogtreecommitdiffstats
path: root/using-git.texinfo
diff options
context:
space:
mode:
Diffstat (limited to 'using-git.texinfo')
-rw-r--r--using-git.texinfo28
1 files changed, 27 insertions, 1 deletions
diff --git a/using-git.texinfo b/using-git.texinfo
index 9a0142c..a47ea25 100644
--- a/using-git.texinfo
+++ b/using-git.texinfo
@@ -1313,7 +1313,7 @@ is annoying.
* Git and empty directories::
@c TODO * Git and file renames::
@c TODO * Git and encoding convertions::
-@c TODO * Git and atomic commits::
+* Git and atomic commits::
@end menu
@@ -1513,6 +1513,32 @@ file inside it.
+@node Git and atomic commits
+@section Git and atomic commits
+
+This might seem obvious, but CVS,
+ClearCase and Visual SourceSafe,
+does not implement this; atomic
+commits. Atomic commits refers
+to a guarantee att an action cannot
+be interrupted and leave in a
+partially complete state but be
+marked at complete, either all
+changes are made or none at all.
+
+Basically this means that first
+you backup the reference to the
+current commit, mark a file as a
+commit is being saved, store
+the new commit, update the reference
+to the current commit to point at
+the new commit and then mark that
+no commit is being saved. If the
+mark is then detected to say that
+not commit is being save but instead
+absolutely anything else, restore
+the state in the same manner.
+
@node Beyond Git