On Sun, Jul 30, 2017 at 5:27 PM, Peter Humphrey <pe...@prh.myzen.co.uk> wrote:
> On Sunday 30 Jul 2017 11:02:41 Rich Freeman wrote:
>
>> The general sense is that Changelogs represent the old way of doing
>> things.  Most projects have gone away from having them, or they just
>> auto-generate them from git.  I don't think most projects routinely
>> distribute them either - they just stick them on a webpage and only
>> people who care about them look at them.  The linux kernel only
>> includes the changes in the last release in their change logs as well
>> (which is nothing more than a dump of git log).
>
> This has me a bit bothered, wearing my ISO9000 hat. Change logs seem to me
> to be the most important traceability tool we can have. Is it not essential
> to be able to demonstrate clearly how we got to where we are today?
> Preferably without having to jump through a load of abstruse hoops.

Git tells you everything that Changelogs did, and more.  It isn't all
that obscure either, considering that just about everybody is using
it.  Aside from the fact that nobody has gotten around to fixing the
hash function it also can provide gpg-signed histories that are
pretty-much impossible to tamper with.

In the case of Gentoo they can also track correlated changes across
the entire repository and not just per-package histories.  If somebody
changes 3 packages at the same time, git will show that they changed 3
packages at the same time.  With the old changelogs you'd have to hunt
through all of them to find out that 3 things were changed with the
timestamp, but it wasn't actually atomic.

The one thing I will say about git is that you'll never appreciate it
until you understand how it works.  In many ways git is a data model
masquerading as a version control system.  The data model is very
elegant, but also very different to what came before, and until you
understand it you'll be copy/pasting commands off of webpages that
don't seem very intuitive.

-- 
Rich

Reply via email to