4 ms·
Disclaimer this is a shameless but timely plug for my company's product. I've been building a solution to enterprise GitHub's pull request model for the last y
by sdesol 14y ago
Disclaimer this is a shameless but timely plug for my company's product.
I've been building a solution to enterprise GitHub's pull request model for the last year. I believe they have a great product but their current pull request system will never meet a large organizations requirements which are process heavy.
For example it's not easy to assign something like a risk value to a pull request. You also can't assign a required approvers list to a pull request. Basically you can't assign arbitrary meta data to a pull request. Enterprise is driven by process and everybody seems to want to do things there way so you'll have to have a very flexible system. You can probably hack something together with tags but this will never fly in a process heavy enterprise which adheres to strict ISO standards.
Also GitHub's pull request/code review doesn't handle large changes well. When the number of changes get's into the few dozens, hundreds or thousands, using their interface is just impossible and impractical. And yes changes of this size is not uncommon in the enterprise world.
I've attached some screen shots that shows how I'm planning on improving GitHub's pull request model. Note I haven't included any examples that showcases my programmable context aware smart attributes technology as I'm still keeping this under wraps. But the smart attributes are what should allow GitHub's pull request model to work in any process heavy enterprise environment. In a nutshell, you can think of the smart attributes as meta data that you can attach to a GitHub pull request, a file, a diff, etc. These meta data are context aware, programmable and can be assigned a value based on the smart attribute data type.
Searching for pull requests across multiple branches
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/search-result.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
Viewing the pull request detail
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/pull-request-1.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
Viewing the code churn that is generated by the pull request as a churn tree
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/code-churn-tree.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
Viewing the commits that are part of the pull request. Note the revisions tree on the left. It'll show you all the revisions that in all the commits.
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/commits.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
- pnathan 14y agoIs this your own plugin, or your own service?
- sdesol 14y agoIt's my own product/service. I have my own diff, commit and source viewer. With my setup, the only time that you would use GitHub is to make comments. Here are some additional screen shots of the other tools. Unified diff view http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/diff-unified.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e... Side-by-side diff view http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/diff-side-by-side.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e... Blame source view with timeline highlighting http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/blame-view.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e... Creating your own custom diff view. http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/add-diff-view.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e... Commit view http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/commit.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e... Edit. Added source tree screenshot http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e.r94.cf1.rackcdn.com/source-tree.png http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...