Changelog items aren't in chronological order

Discuss anything ZDoom-related that doesn't fall into one of the other categories.

Changelog items aren't in chronological order

Postby GCRaistlin » Tue Sep 14, 2021 2:11 am

Older commits list is in a mess: 03-Aug-2021 is followed by 29-Jul-2021 and 11-Aug-2021 (?!).
GCRaistlin
 
Joined: 14 Jan 2020
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)

Re: Changelog items aren't in chronological order

Postby Rachael » Tue Sep 14, 2021 4:34 am

With Git it is not a strict requirement that commits be chronological, especially when there is a tree merge. That is just how Git works. Some newer commits may be older work and will therefore carry the older timestamp.
User avatar
Rachael
Admin
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Changelog items aren't in chronological order

Postby GCRaistlin » Tue Sep 14, 2021 4:45 am

It's just hard to determine what's new in the latest release because of this.
GCRaistlin
 
Joined: 14 Jan 2020
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)

Re: Changelog items aren't in chronological order

Postby Rachael » Tue Sep 14, 2021 5:18 am

The "latest" will always be the top-most. But what came before that is always very complicated - because it depends on how the past commits were merged.

If the merge was a 3-way there is often a merge commit, which as the name suggests, is a 3-way merge - a branch, a parent, and the continuation after the merge. With those you cannot bisect older commits unless they are part of the branch you are diagnosing for a problem. Often commits there will appear in chronological order, but commits that appear in sequence are often not be related to one another, and you may be seeing one branch or the other. In general with Git, 3-ways are the most common type of branch merges - but GZDoom does not do this often when merging pull requests from external contributors, they actually occur much more often with internal development when a dev merges his/her own branch into the mainline. (Or the opposite)

This is an example of a 3-way merge: https://github.com/coelckers/gzdoom/com ... 393ad2eb4b (notice it has 2 parents)

What GZDoom does most often with pull requests is a rebase merge. When this happens, the non-chronological sequence occurs, but a very convenient single path of progression none-the-less is formed, which is much easier to bisect and follow, even if the timestamps are out of order. Even if the time stamps are out of order there is still only one path going forwards and backwards - which is very convenient if you have to track down a problem.

This is an example of a rebase: https://github.com/coelckers/gzdoom/com ... 98d1e2de54
The top 7 commits in here are another example of a rebase: https://github.com/coelckers/gzdoom/com ... 3e6b4fa9be

A third type of merge that GZDoom does not do often but it has happened (and Git allows) is a squashed merge - where the author's commits are all reduced to a single commit. It's similar to a 3-way merge in that a merge commit is created, but it completely eliminates the original commit history that was in the other branch before the merge.

Here is an example of a squash: https://github.com/coelckers/gzdoom/com ... 45598d3038
User avatar
Rachael
Admin
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Changelog items aren't in chronological order

Postby Graf Zahl » Tue Sep 14, 2021 5:30 am

The main problem with the changelog is that it only displays the "authoring date", but not the "commit date". The latter will always be sequential, and in all common repo browsers both can be shown.
Github's browser only considers the commit date, btw, which is a bit easier to follow.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
 
Joined: 19 Jul 2003
Location: Germany


Return to General

Who is online

Users browsing this forum: No registered users and 2 guests