From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Xavier Maillard Newsgroups: gmane.emacs.help Subject: Re: Automatic versioning Date: Sat, 5 Apr 2008 02:00:23 +0200 Organization: GNU's Not UNIX! Message-ID: <200804050000.m3500NQ5004365@localhost.localdomain> References: <0fadnf78Nt8kvHDanZ2dnUVZ_q7inZ2d@sysmatrix.net> <657buvF2ep4flU1@mid.individual.net> <89aaa431-b54b-4edd-9c55-adb87fb13afa@s19g2000prg.googlegroups.com> <87myof5mml.fsf@lion.rapttech.com.au> <8763v1mvro.fsf_-_@W0053328.mgh.harvard.edu> Reply-To: Xavier Maillard NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1207355985 500 80.91.229.12 (5 Apr 2008 00:39:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 5 Apr 2008 00:39:45 +0000 (UTC) Cc: help-gnu-emacs@gnu.org To: Timothy Hobbs Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat Apr 05 02:40:17 2008 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JhwS8-0003f9-I6 for geh-help-gnu-emacs@m.gmane.org; Sat, 05 Apr 2008 02:40:16 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JhwRV-0001VZ-Qf for geh-help-gnu-emacs@m.gmane.org; Fri, 04 Apr 2008 20:39:37 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JhwR5-0001MQ-Ox for help-gnu-emacs@gnu.org; Fri, 04 Apr 2008 20:39:11 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JhwR3-0001Jx-Jd for help-gnu-emacs@gnu.org; Fri, 04 Apr 2008 20:39:09 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JhwR3-0001Jm-6J for help-gnu-emacs@gnu.org; Fri, 04 Apr 2008 20:39:09 -0400 Original-Received: from master.uucpssh.org ([193.218.105.66]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JhwR2-0007MB-RV for help-gnu-emacs@gnu.org; Fri, 04 Apr 2008 20:39:09 -0400 Original-Received: by master.uucpssh.org (Postfix, from userid 10) id 04549D820E; Sat, 5 Apr 2008 02:37:30 +0200 (CEST) Original-Received: from localhost.localdomain (IDENT:1000@localhost [127.0.0.1]) by localhost.localdomain (8.14.1/8.13.8) with ESMTP id m3500kTp004404; Sat, 5 Apr 2008 02:00:46 +0200 Original-Received: (from xma@localhost) by localhost.localdomain (8.14.1/8.13.8/Submit) id m3500NQ5004365; Sat, 5 Apr 2008 02:00:23 +0200 In-reply-to: (message from Timothy Hobbs on Fri, 04 Apr 2008 13:35:35 -0700) User-Agent: Rmail in GNU Emacs 23.0.60.3 on GNU/Linux Jabber-ID: xma01@jabber.fr X-uucpssh: Found to be clean X-uucpssh-SpamCheck: not spam, SpamAssassin (not cached, score=-4.327, required 4.6, autolearn=not spam, ALL_TRUSTED -1.80, AWL 0.07, BAYES_00 -2.60, SPF_HELO_PASS -0.00) X-uucpssh-From: xma@gnu.org X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:53064 Archived-At: Kevin Rodgers writes: >>> (defadvice save-buffer (before version activate) >>> "I wish to have all files versioned, period." >>> (ad-set-arg 0 '(64))) >> >> What exactly does this do? > > It makes save-buffer behave as if it were invoked as > `C-u C-u C-u C-x C-s' (see "Prefixed with three C-u's" > below). > | Prefixed with three C-u's, marks this version > | to become a backup when the next save is done, > | and unconditionally makes the previous version into a backup file. That seems like a terribly inefficient way of doing things. Creating many many multiple backup copies. Especially because I save quite regularly. I could easily end up with hundreds or thousands of backup copies. Not what I want. It seems that there should be a system almost exactly like mediawiki's in which diffs are saved, and you can see a list of versions, compare them--even across ranges, revert them, spin through different versions with a next/previous button. ect. Another solution would be to "embed" some sort of the mechanism from a modern DVC like GNU Bazaar or Git. Given the fact that they have been "libitized" (you can take advantage of them by linking your program against them), this should be quite easy to implement. WDYT ? Xavier -- http://www.gnu.org http://www.april.org http://www.lolica.org