From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: base Date: Thu, 26 Aug 2010 01:09:01 +0900 Message-ID: <8739u265eq.fsf@uwakimon.sk.tsukuba.ac.jp> References: <20100822120642.GA1794@muc.de> <87bp8uzu9d.fsf@mithlond.arda> <871v9o7dmf.fsf@uwakimon.sk.tsukuba.ac.jp> <87wrrg5rzg.fsf@uwakimon.sk.tsukuba.ac.jp> <87r5ho5gyr.fsf@uwakimon.sk.tsukuba.ac.jp> <87hbij6hib.fsf@uwakimon.sk.tsukuba.ac.jp> <87k4nf7ezq.fsf@catnip.gol.com> <878w3v7dd2.fsf@catnip.gol.com> <83wrrfmljv.fsf@gnu.org> <87d3t75crc.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1282753573 20255 80.91.229.12 (25 Aug 2010 16:26:13 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 25 Aug 2010 16:26:13 +0000 (UTC) Cc: miles@gnu.org, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 25 18:26:11 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OoInh-0005D7-Db for ged-emacs-devel@m.gmane.org; Wed, 25 Aug 2010 18:26:09 +0200 Original-Received: from localhost ([127.0.0.1]:44884 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OoIb7-00027z-5m for ged-emacs-devel@m.gmane.org; Wed, 25 Aug 2010 12:13:09 -0400 Original-Received: from [140.186.70.92] (port=46058 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OoIaj-0001zO-RR for emacs-devel@gnu.org; Wed, 25 Aug 2010 12:12:47 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OoIai-00039Y-FY for emacs-devel@gnu.org; Wed, 25 Aug 2010 12:12:45 -0400 Original-Received: from imss12.cc.tsukuba.ac.jp ([130.158.254.161]:60251) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OoIag-00038z-LN; Wed, 25 Aug 2010 12:12:43 -0400 Original-Received: from imss12.cc.tsukuba.ac.jp (imss12.cc.tsukuba.ac.jp [127.0.0.1]) by postfix.imss70 (Postfix) with ESMTP id 9D756F4003; Thu, 26 Aug 2010 01:12:39 +0900 (JST) Original-Received: from mgmt1.sk.tsukuba.ac.jp (unknown [130.158.97.223]) by imss12.cc.tsukuba.ac.jp (Postfix) with ESMTP id 8CD48F4002; Thu, 26 Aug 2010 01:12:39 +0900 (JST) Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) by mgmt1.sk.tsukuba.ac.jp (Postfix) with ESMTP id 8807E3FA0272; Thu, 26 Aug 2010 01:12:39 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id E877B12049A; Thu, 26 Aug 2010 01:09:01 +0900 (JST) In-Reply-To: X-Mailer: VM undefined under 21.5 (beta29) "garbanzo" ed3b274cc037 XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:129216 Archived-At: Eli Zaretskii writes: > I'm not sure I understand what is a ``teachable mental model'', A "teachable mental model" is a simple way of thinking about the software's behavior. It might be an equation or an algorithm or data structure. To be simple, it needs to be abstract, and probably is more general than the software can actually handle. Well-designed software will emit errors or warnings when its limits are exceeded, even though they are compatible with the simple model. Within those limits, the software's behavior will be predictable using the model, including undocumented behavior (ie, in debugging). > and where do you see such a model explained in, e.g., git's or hg's > docs. For git, it's in the Community Book, http://book.git-scm.com/1_the_git_object_model.html, and following chapters. Actually, for git the most concise explanations were in the original "git" man page, back in the early 1.x days (1.1, 1.2-ish). Much of that material is in the "gittutorial-2" man page as of git 1.7.x.x, but it's been rehashed into tutorial form so the model has been kinda buried. However, if you look closely, maybe you can see the structure of the object database (which contains history DAG, directory structure of the project, and file content, plus some auxiliary object types), and the relations of the object database, the index (the next commit under construction), and the workspace. For Mercurial, the structure of a branch and its associated databases is described in The Book, http://hgbook.red-bean.com/read/behind-the-scenes.html. I don't think any such thing exists for bzr. One problem is that the basic storage model for bazaar branches has changed many times. See "bzr help current-formats", with four currently listed. I believe that I've seen as many as seven there. I believe repo format has also changed at least once. BTW, I have zero sympathy for the point of view that printed books and HTML don't count as documentation unless they're distributed with the program.