GitHub has made a new Activity View available to all, though still marked as beta, showing all activity such as pushes and pull request merges (merging changes requested by other users), across all branches in a repository.
“Historically viewing pushes to a repository required contacting GitHub support,” said the official changelog.
The new view shows repository activity in a handy view, with filters for the type of activity (for example, only show pull request merges), or by branch, or by particular users. The Activity View is available for any logged in user who has access to the repository. Additional detail on what was changed is available in a “Compare changes” option, accessed from a menu to the right of each activity.
Another neat feature is the ability to see information about the incoming branch name for a pull request, or more details about what it fixes, by hovering the mouse over the reference number.
“That’s very important info” said a developer in the community discussion concerning the new feature, who also found too much hidden away in the UI.
The developer feedback shows mixed responses. The Activity View is not dissimilar to the commit history for a branch, which also shows all the changes, with an option to browse the repository as it was when the commit was made. “This seems redundant w/ commits log (even almost identical visually)”, remarked one developer.
That said, there are differences, one of which is an easy way to see what was changed by a force push, highlighted in the changelog. “You could use the activity view to find a force push on a particular branch, and then compare the changes to the repository before and after the push,” GitHub states.
“I feel it is dangerous to be able to see the contents of force push for repositories that have nothing to do with the user. Some users will use force push to delete api keys or other information they have mistakenly entered. Why not allow only the user who manages the repository to see the history of force pushes?” said a developer.
The reference is to a problematic feature of source code repositories, that it can be hard to completely delete content that should never have been added, such as credentials. “After the sensitive data is removed, you must force push your changes to GitHub. Force pushing rewrites the repository history, which removes sensitive data from the commit history,” states GitHub’s help document on the subject. It is a complex problem, as a careful read of that document shows, and force push may not be enough to remove all trace of the mistakenly committed content. At least, one could argue, that making this easier to view will help developers to be aware of unsuccessful attempts.
The Activity View does show a lot of key information in an easy to use view. Nevertheless, while one developer said, “the only useful Gitlab feature that was missing on GitHub, thanks for implementing it finally,” another stated that “I’d like an option to disable this.”