Commit a9cc14e0 authored by Rémy Coutable's avatar Rémy Coutable 🔴

Merge branch '3870-commit-sorting-issue' into 'master'

Group commits by date in server timezone

`Time#to_date` just takes the (timezone-less) year, date, and month, and
creates a new date from that. Because the commits in the list are
grouped by date, rather than chunked when the date changes, a commit can
be shown in the wrong order if its CommitDate has a timezone-less date
that's different to other commits around it.

Convert all CommitDates to the server timezone before grouping, as that
will at least produce consistent results. Users can still see a
timestamp on the commit that doesn't match the date it's grouped under,
because the timestamp shown uses the user's local timezone, and the
grouping uses the server's timezone, but that was an issue anyway.

### Before

### After

Closes #3870 and closes #17300.

See merge request !4052
parents 9393d6b6 d9574a7b
......@@ -36,6 +36,7 @@ v 8.8.0 (unreleased)
- Add support for supressing text diffs using .gitattributes on the default branch (Matt Oakes)
- Add eager load paths to help prevent dependency load issues in Sidekiq workers. !3724
- Added multiple colors for labels in dropdowns when dups happen.
- Always group commits by server timezone, not commit timestamp
- Improve description for the Two-factor Authentication sign-in screen. (Connor Shea)
- API support for the 'since' and 'until' operators on commit requests (Paco Guzman)
- Fix Gravatar hint in user profile when Gravatar is disabled. !3988 (Artem Sidorenko)
......@@ -3,7 +3,7 @@
- commits, hidden = limited_commits(@commits)
- commits.group_by { |c| c.committed_date.to_date }.sort.reverse.each do |day, commits|
- commits.group_by { |c| c.committed_date.in_time_zone.to_date }.sort.reverse.each do |day, commits|
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment