Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Pull requests are trapped inside Microsoft's proprietary platform (Github) and viewable only on the web for as long as Microsoft sees fit to give you access. Good luck getting that history out if your Github account is ever disabled for any reason.

Commit messages are part of the repository itself, meaning they're replicated (backed up) locally every time you pull. They can be viewed using any tool that operates on Git repositories, e.g. https://magit.vc.



The other day I tried doing a git blame on a line of code. Since we use squash + merge for PRs, it pointed to a 1000 line commit with a message similar to:

  Refactor widget (#1234)
  
  * wip
  * wip
  * wip
  * fixes
  * pr review
I opened the old PR on Github, and all it contained was a link to the Trello card for the task, where I finally found some context and description for the changes.

It's ridiculous.


Oh man. I had a coworker once who would frequently commit with a single word commit "fixup" - often as you'd expect at the end of a PR but never squashed or put anymore detail into what they actually did, often much more than simple whitespace or linting changes you'd expect from the message, so you had to be really careful to check. If you then searched the commit history for "fixup" 100s of commits would show up. The person in question had so many other issues working in this team that this particular one was never brought up but it drove me mad.


At least it told you Refactor widget. ;p Even worse is repos where the first line of every commit message is just “Merge pull request #12345 from user/fixstuff into master.”


At least with Gitlab, the text of the merge request is used for the text of the merge commit that’s created when you merge in the changes, so the comments still get added to the Git history.


It would be nice if pull requests and issues were integrated into git somehow, to avoid centralization like this.


Gerrit avoids this problem neatly by not having any PR message at all, the only place you can provide context is the commit message, which obviously gets tracked together with the repo.

Review comments are stored out of band though. Curiously in another hidden git branch of the repo.


I haven’t tried it, but it is my understanding that the source code version control system made by the SQLite team does this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: