2 ms·
It's not that hard if you use an IDE. I review work this way all the time. It involves: 1. Click the fetch icon. New work to review shows up. 2. Right click t
by mike_hearn 3y ago
It's not that hard if you use an IDE. I review work this way all the time. It involves:
1. Click the fetch icon. New work to review shows up.
2. Right click to compare the branches, take a look through the diffs.
3. If I see something I want to check, click "Checkout" in the branch selector and start making the changes, commit, push.
4. Otherwise when done, use git merge and delete the origin branch (I have some shell functions for this).
One thing I've found hard to settle on is what message to use in the merge commits. I don't insist all changes have tickets because it'd just be redundant work for the case of small cleanups, fixing bugs you spotted whilst doing other stuff. But then the default merge commit message isn't terribly helpful, and writing one that is can end up redundant.
Another problem is that the railway lines can get quite hairy if people aren't disciplined about constantly rebasing. You can of course rebase for them, but then you lose the ability to view only the merge commits to master.
- IshKebab 3y agoHow do you request a review and ensure that branches are reviewed before merging?
- mike_hearn 3y agoTo request a review you push the changes into a special branch namespace in the reviewer's repository. IntelliJ uses / as a way to organize branches into folders, so it's easy to see what review requests come from who. You can also inform them in other ways (CCing on a ticket, email, chat, etc). We use a kernel model in which there is no shared repository, so it's impossible for branches to be merged without being reviewed because it's the reviewer who merges them when they're satisfied.
- IshKebab 3y agoHow do you push changes to someone's repo? I think the kernel guys use email right? Sounds a bit painful.
- mike_hearn 3y agogit push. We use Gitolite which is a git server setup that can be made to enforce access control rules based on branch names. https://gitolite.com/gitolite/index.html https://gitolite.com/gitolite/index.html