When we launched Compare View earlier this year, we knew there was a killer feature still missing: the ability to compare branches across repositories. Easy forking and the networks that emerge as a result is what makes GitHub great. Limiting the Compare View to a single repository felt all wrong. So today we're flipping the switch on some non-trivial architectural changes that make cross-repository comparisons a reality:
Here's how it works: it's now possible to specify a <user>:
prefix on the
comparison's starting or ending point. When given, the <user>
part identifies
the owner of a another repository/fork in the same network. In the example
above, we're comparing branches in the
homebrew network with
mxcl's master
branch as the starting point and adamv's rvm
branch
as the ending point.
To change the starting or ending point, click the ref label buttons and enter
the branch name or commit SHA1 to switch to. For example, we can change the
starting point from mxcl's master
branch to the brew07
branch like this:
brianmario commented
Thu Jul 15 16:49:43 -0700 2010
niiiiiiiiice
towski commented
Thu Jul 15 16:52:48 -0700 2010
definitely the perfect addition
eric commented
Thu Jul 15 16:53:22 -0700 2010
Amazing work.
foca commented
Thu Jul 15 16:53:41 -0700 2010
holy freaking amazingness, batman! :D
elliottcable commented
Thu Jul 15 16:57:53 -0700 2010
Uh, what about comparing to another user’s repository with a different name?
AdrianP commented
Thu Jul 15 16:58:00 -0700 2010
This is really cool. You guys always seem to know exactly what the really important features area. Cheers!
EmmanuelOga commented
Thu Jul 15 17:00:08 -0700 2010
that's awesome
rtomayko commented github staff
Thu Jul 15 17:03:44 -0700 2010
@elliotcable: The repo name can be different, but it has to be in the same network. e.g., there's a moredown fork of rdiscount you can see in this network member list, but you can still compare its master branch with rdiscount's here:
http://github.com/nathanhoad/moredown/compare/rtomayko:master...master
darkhelmet commented
Thu Jul 15 17:18:54 -0700 2010
Very cool. Was the DB maintenance the other day a part of this? (Random curiosity)
rtomayko commented github staff
Thu Jul 15 17:33:17 -0700 2010
darkhelmet: Nope. The DB maintenance was unrelated. The stuff we had to do for cross-repository compare view has been in the works for months now and involved our file servers and how we store git repositories. We had to come up with a system that let us store all repositories in a network within a single git repository so we could perform diff, log, etc. operations. A lot of the groundwork was laid when Scott did the Forkqueue but now all repositories are automatically available for comparison immediately after push. I plan on writing something up on the architecture changes but there's still a few key pieces we want to get in place first.
cpojer commented
Thu Jul 15 18:12:01 -0700 2010
Every feature release just shows how great GitHub is for Open Source. Makes me happy.
darwin commented
Thu Jul 15 18:42:38 -0700 2010
Looks like another nail into SourceForge coffin ;-) Brilliant for powerforkers!
tav commented
Thu Jul 15 19:35:46 -0700 2010
Brilliant work guys! Thank you!!
Is there an API for this yet?
cldwalker commented
Thu Jul 15 20:11:31 -0700 2010
Love it!
anutron commented
Thu Jul 15 21:38:11 -0700 2010
"we knew there was a killer feature still missing" ... I would have preferred the ability to comment on the compare view more. Reviewboard is still the only game really if you want to compare two diffs and comment on them. As it is, I can review two branches on github, but if I want to say something about it, I have to go hunt around for a specific commit. Comparing across users is nice, and I do love that you guys continue to bring great features out, but for reviewing code, we need to be able to comment.
chriskottom commented
Thu Jul 15 21:43:22 -0700 2010
Very nice!
scarnie commented
Thu Jul 15 23:25:03 -0700 2010
Very NICE!
jezdez commented
Fri Jul 16 00:13:44 -0700 2010
WIN!
Gucky commented
Fri Jul 16 00:16:46 -0700 2010
WOW guys, wonderful!
"we knew there was a killer feature still missing" And for me there still is:
The option to get the compare view as a patch file by adding .patch at the end of the URL as it is already possible with commit views.
patnotz commented
Fri Jul 16 07:58:00 -0700 2010
@anutron I agree. Integrated code review would be really nice. This seems like a great step in that direction.
arian commented
Fri Jul 16 12:06:35 -0700 2010
would be nice if you add .diff or .patch after the url, that it creates a diff or patch, just like the commit urls. Add comments and its totally awesome!
xiongchiamiov commented
Fri Jul 16 12:15:13 -0700 2010
But do you really want one .diff that squashes everything together?
Well, I guess you do, else you wouldn't be asking.
Add a bit more code review functionality and I'm set for life.
rtomayko commented github staff
Fri Jul 16 12:18:51 -0700 2010
@anutron, @patnotz: Code review is the big picture. We're shipping it in pieces. Stay tuned :)
rtomayko commented github staff
Fri Jul 16 15:49:33 -0700 2010
By popular demand, compare view does
.diff
and.patch
URLs:http://github.com/adamv/homebrew/compare/mxcl:master...rvm.diff
http://github.com/adamv/homebrew/compare/mxcl:master...rvm.patch
erikvold commented
Mon Jul 19 13:31:33 -0700 2010
I love this! ty