[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master has switched from Automake to GNU Make

From: Lars Brinkhoff
Subject: Re: master has switched from Automake to GNU Make
Date: Fri, 24 Mar 2017 14:42:58 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]