From eaf250a575ff2d10f951575b26252e7f7b42af14 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 19 Sep 2013 14:22:53 +0200 Subject: on atomic commits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- using-git.texinfo | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3-70-g09d2