Beta Secret #2 - Web Diff

Posted by Jeremy Wed, 12 Dec 2007 13:07:00 GMT

One of the goals of the 4.1 development cycle was to begin the process of updating our web client to make it as cool as the web sites that some of our customers are creating as they use Vault and Fortress.

I’ve already blogged about the Tag Clouds, which brought along quite a bit of Dynamic HTML (yes, we’re about 8 years late to the DHTML party). The feature I want to highlight for this post is the new Web Diff page in the Source Control section of the web client.

You can view an example web diff here. Remember to log in using the guest1 through guest9 username with the username as the password. There are quite a few awesome features to talk about.

  • Unified diff. This is the first place in Vault where we’ve shown a Unified Diff. All our other diff tools were concerned with migrating changes between the two versions, so unified was never a good option. Now that it’s in web diff, I love it. You can still load up the traditional side-by-side, but be prepared to scroll.
  • Line Wrapping. This mode will wrap long lines, to reduce scrolling.
  • Lines of context. Select the lines of context also. Please note that the three settings above are saved in a cookie, so that you can always get the view of differences that you want.
  • Version Selection. You can also quickly select the versions of the file to diff from the dropdown.
  • Transaction Details. To get the details for the transaction that created a particular version, you can click the Details link.

All of this was done by Jeff Hostetler, the same developer who brought us the wonderful SourceGear DiffMerge app, which is currently available free of charge.

With all of the changes modernizing the web client, we’re all excited about the release of .Net Framework 3.5, which includes built-in AJAX support. Expect an even richer web client experience in the future.



  1. Josh Yeager said about 2 hours later:
    Are you guys going to go the other way, too? I've always wished that the Blame feature was built in to the Windows client, instead of taking me to a web browser and making me log in again. (-:
  2. Jeremy said about 3 hours later:
    I hadn't really considered that. I can understand what you mean. The reason that I wrote blame as a web page was because of all of the blame views that I had seen were web based. Have you seen some great non-web based blame views? I like the idea of being able to jump right from blame to history or to line history, which could only be done in the GUI client.
  3. Mike Dimmick said 19 days later:
    It's not the web-based view I particularly object to (though tweaking the number of versions to include through a URL parameter is a bit nasty), more the logging in again. This is the only place I have to remember what my password is! Cross-referencing with the other source files committed in the same change set would be useful (a.k.a. what else did I/he break?) I confess to using 'blame' even on a project where I'm the only developer, so I can work out which release a particular change went into. That requires a bit of cross-referencing with version history and labels.
  4. Jeremy said 19 days later:
    In Vault 4.0, on the web client login page, you can check the "Remember Login on this Machine" box to remember your login in a more permanent way. The new web diff has a transaction details link above the diff in the " Version 2 (File Details) vs Version 3 (File Details)" section. Are you saying that you also want the transaction details link on the blame page?

Comments are disabled