The Wayback Machine - https://web.archive.org/web/20100720060404/http://github.com:80/blog/683-cross-repository-compare-view
  • Cross-Repository Compare View

    Image for: Cross-Repository Compare View
    rtomayko 15 Jul 2010

    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:

  • 25 Comments

    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

    erikvold commented

    Mon Jul 19 13:31:33 -0700 2010

    I love this! ty

    Please log in to comment.