From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Lars Brinkhoff Newsgroups: gmane.emacs.devel Subject: Re: master has switched from Automake to GNU Make Date: Fri, 24 Mar 2017 14:42:58 +0100 Organization: nocrew Message-ID: <86r31mlrj1.fsf@molnjunk.nocrew.org> References: <58CB9F6B.5080806@gmx.at> <83h92sz2j9.fsf@gnu.org> <58CBAEB7.5030601@gmx.at> <58CBBC6C.8000104@gmx.at> <58D380FF.1070103@gmx.at> <58D3C84E.5080808@gmx.at> <58D4E0D6.2070101@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1490363005 14696 195.159.176.226 (24 Mar 2017 13:43:25 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 24 Mar 2017 13:43:25 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 24 14:43:21 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1crPUu-0003M0-HX for ged-emacs-devel@m.gmane.org; Fri, 24 Mar 2017 14:43:20 +0100 Original-Received: from localhost ([::1]:33280 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crPV0-0004hW-M0 for ged-emacs-devel@m.gmane.org; Fri, 24 Mar 2017 09:43:26 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42083) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1crPUq-0004fZ-GN for emacs-devel@gnu.org; Fri, 24 Mar 2017 09:43:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1crPUn-0004JC-CG for emacs-devel@gnu.org; Fri, 24 Mar 2017 09:43:16 -0400 Original-Received: from [195.159.176.226] (port=38994 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1crPUn-0004Iv-5y for emacs-devel@gnu.org; Fri, 24 Mar 2017 09:43:13 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1crPUd-0001ee-Iy for emacs-devel@gnu.org; Fri, 24 Mar 2017 14:43:03 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 41 Original-X-Complaints-To: usenet@blaine.gmane.org Cancel-Lock: sha1:uka2fAiBb44o02ngA1xRWYzSO0k= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:213294 Archived-At: Stefan Monnier wrote: >> but some people like to keep branches as a clean set of patches on >> top of master, so they regularly rebase (and reorganize the set of >> patches), so in the end it doesn't give you the path that was >> followed to get there I'm one of those people, so I offer a rant below. martin rudalics wrote: > Isn't one of the primary purposes of a branch (besides of sharing) to > record the historically accurate picture of how its authors arrived at > the present state? That is one view of version control. If you talk about version history, it's kind of almost implied that it's an accurate record of historical events. Many version control tools support this model and make it difficult to go outside it. But version control tools can also support another model. Git in particular isn't big on enforcing historical accuracy. In this other view, version control is just about files, and their contents and changes. Files can be rewritten, and so can the changes. It's just as natural as editing files without recording every single change in the final version. Remember when you submitted changes as a series of patches? Maybe not, it was some years ago. Anyway, in many projects, the way changes were propsed were to email a series of patches to a mailing list. Of course, all patches were required to apply cleanly to the current version of the software. Also, every individual patch was required to do one atomic, logical change. When the base version of the software changed, you were supposed to reapply all your patches against the new version. Also, the maintainers probably requested you to modify your patches based on their input. They certainly weren't interested in every little edit you made along the way, only the final result. Git "history" rewriting is the modern version of this game. Only, git automates much of the minutiae to track changes in the base version, reapply patches, move changes around between commits etc.