aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2013-09-19 14:22:53 +0200
committerMattias Andrée <maandree@operamail.com>2013-09-19 14:22:53 +0200
commiteaf250a575ff2d10f951575b26252e7f7b42af14 (patch)
tree784cbcc7d042c8b24d8508954c6eb03719cc548a
parentm misc (diff)
downloadusing-git-eaf250a575ff2d10f951575b26252e7f7b42af14.tar.gz
using-git-eaf250a575ff2d10f951575b26252e7f7b42af14.tar.bz2
using-git-eaf250a575ff2d10f951575b26252e7f7b42af14.tar.xz
on atomic commits
Signed-off-by: Mattias Andrée <maandree@operamail.com>
-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