emacs-devel
[Top][All Lists]
Advanced

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

Re: master has switched from Automake to GNU Make


From: martin rudalics
Subject: Re: master has switched from Automake to GNU Make
Date: Fri, 24 Mar 2017 19:53:39 +0100

>> 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.

But a branch in scratch does not represent a final version.  It
represents work in progress.  And it should be open to collaborate
modifications.  Why else would you make your branch public?

> 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.

All this is about the final result of what a branch was supposed to
accomplish and I agree with you here.  My concerns were with what
happens in the branch as long as it is not final.  Why throw away its
history when pushing?  Because it contains silly code its author would
be ashamed of?

martin



reply via email to

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