From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Reitter Newsgroups: gmane.emacs.help Subject: Collaborative editing and persistently tracking changes Date: Wed, 9 Sep 2009 13:05:22 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1075.2) Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1252517374 27131 80.91.229.12 (9 Sep 2009 17:29:34 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 9 Sep 2009 17:29:34 +0000 (UTC) To: gnu emacs-help gnu Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Sep 09 19:29:28 2009 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 1MlQz1-0002Nv-F8 for geh-help-gnu-emacs@m.gmane.org; Wed, 09 Sep 2009 19:29:27 +0200 Original-Received: from localhost ([127.0.0.1]:44016 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MlQz0-0001VJ-Tt for geh-help-gnu-emacs@m.gmane.org; Wed, 09 Sep 2009 13:29:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MlQbz-0004oJ-9G for help-gnu-emacs@gnu.org; Wed, 09 Sep 2009 13:05:39 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MlQbu-0004k7-IQ for help-gnu-emacs@gnu.org; Wed, 09 Sep 2009 13:05:38 -0400 Original-Received: from [199.232.76.173] (port=51331 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MlQbu-0004k1-78 for help-gnu-emacs@gnu.org; Wed, 09 Sep 2009 13:05:34 -0400 Original-Received: from mail-qy0-f192.google.com ([209.85.221.192]:54423) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MlQbt-0005g3-GC for help-gnu-emacs@gnu.org; Wed, 09 Sep 2009 13:05:33 -0400 Original-Received: by qyk30 with SMTP id 30so3776864qyk.5 for ; Wed, 09 Sep 2009 10:05:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:content-type :content-transfer-encoding:subject:date:message-id:to:mime-version :x-mailer; bh=XtZh0kOqtDRhYCNRV2JpCRqVmvhvo2hRRnINUs3r9N0=; b=Tyo1sdFbqev87qL1vwPA9nneC49BDYwXle/4XwBNyKnw8Zr74mBwWVRcrlr12SU88C iSy+Cfl5OBG7dz+q51gLw7p6C2pGB+PHSImXuoz3DmOUDavcJpUU/GxugD+/2HqszO3A Z51V9SAXm/2pVBuZnUjs7iKKACQFbfBn1fYrM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; b=ngU3am+5jIDwzwiIWzrKg9IUY+xMjhgZBf8BLFuZytO+nnxQcj+b2peNuvTacc2Wb+ gMm/mAydeyIO4rp/5VRHB9+BBvhU/tsV3DBatNlV3gG7N2bKs8dZPt8uYEPt2ZCfhsnn U10zsuxkJwgoYclH8nOqlqCKHQd3aXQq8jXaI= Original-Received: by 10.224.41.82 with SMTP id n18mr416826qae.254.1252515926602; Wed, 09 Sep 2009 10:05:26 -0700 (PDT) Original-Received: from scarlett.psy.cmu.edu (SCARLETT.PSY.CMU.EDU [128.2.249.106]) by mx.google.com with ESMTPS id 7sm78094qwf.7.2009.09.09.10.05.24 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 09 Sep 2009 10:05:25 -0700 (PDT) X-Mailer: Apple Mail (2.1075.2) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) 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:68004 Archived-At: How would one track changes in Emacs and mark them up directly in an Emacs buffer? I often collaborate with people on documents and it's useful to see what changes they've made. Many of my collaborators will want to use Word, if only for its nice change-tracking feature. I would need a combination of highlight-changes-mode and a way to save and load the change history of a buffer into a file, just like MS Word does it (with the new open docx format). One option would be to use some sort of repository, or to store versions of files before and after the changes and use M-x diff. But that doesn't do a good job of tracking in-line changes (in times of soft-wrapping, paragraphs are file lines!), and obviously I can't force my collaborators to use extra tools. The added pain of having to manage multiple file versions is also considerable, and there's limited extra benefit in versioning repositories with, say, manuscripts. You hardly ever want to inspect older history, or go back to a previous version. (Having separate branches might work well, but it's hard to get collaborators to commit to this technical overhead. And again, even git's merge algorithm is line-based.) All in all, I'm missing good Emacs support for non-concurrent (asynchronous) real-time editing. Suggestions would be welcome. - David Reitter