From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Joshua Judson Rosen Newsgroups: gmane.emacs.devel Subject: Re: Everyone, please stop making my life more difficult Date: Fri, 12 Sep 2014 15:36:08 -0400 Message-ID: <87tx4caaxj.fsf@slice.rozzin.com> References: <20140912043652.4D6D8380604@snark.thyrsus.com> <83zje56ymd.fsf@gnu.org> <20140912083430.GA32586@thyrsus.com> <87mwa59i1r.fsf@igel.home> <87ioksx5v8.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1410552772 11393 80.91.229.3 (12 Sep 2014 20:12:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 12 Sep 2014 20:12:52 +0000 (UTC) Cc: emacs-devel@gnu.org To: sds@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Sep 12 22:12:45 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XSXD2-0004yx-7N for ged-emacs-devel@m.gmane.org; Fri, 12 Sep 2014 22:12:44 +0200 Original-Received: from localhost ([::1]:47180 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSXD1-0003SR-PX for ged-emacs-devel@m.gmane.org; Fri, 12 Sep 2014 16:12:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:32798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSXCl-0003SH-M4 for emacs-devel@gnu.org; Fri, 12 Sep 2014 16:12:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XSXCg-0008BS-Mr for emacs-devel@gnu.org; Fri, 12 Sep 2014 16:12:27 -0400 Original-Received: from 209-20-69-211.slicehost.net ([209.20.69.211]:52103 helo=slice.rozzin.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSXCg-0008BB-Im; Fri, 12 Sep 2014 16:12:22 -0400 Original-Received: by slice.rozzin.com (Postfix, from userid 1000) id 25027C8359; Fri, 12 Sep 2014 15:36:08 -0400 (EDT) In-Reply-To: (Sam Steingold's message of "Fri, 12 Sep 2014 11:21:21 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 209.20.69.211 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:174254 Archived-At: Sam Steingold writes: > > I thought that rebase _moves_ commits, not _creates_ them anew. I have found it helpful to think of it like this, so maybe you will too: * A commit in git or bzr is a node in a linked list; the node's cdr is the commit's parent-commit, so cdr'ing through the list takes you back through history toward the branch origin. * You can't "just move" a node in a linked list without changing any of its content. * The reasons that you'd want to create a new node when "moving" a commit, rather than just modifying it in place, are largely the same as the reasons that you might want to re-cons nodes onto the head of a list rather than just setcdr'ing the existing cons cells in place. > Just like "mv" does not change ctime of a file, > rebase must not change the commit time. If you mv a subdirectory to a different parent directory, the subdirectory does need to be written to have its ".." link updated, which should update its ctime.... (and even regular files actually may have their ctime updated, for reasons that I can't seem to find a way of fitting into the VC analogy) -- "'tis an ill wind that blows no minds."