If you could have this… would you even *want* it? [Playing around with writing a flexible source control repository browser in WPF]

This blog has moved to a new location and comments have been disabled.

All old posts, new posts, and comments can be found on The blog of dlaa.me.

See you there!

Comments (8)
  1. aquaseal says:

    This is great David! Myself (and others I know) would really appreciate this tool, as it stands now! We constantly switch between online and offline with our TFS repositories and VS gets out of whack quite a bit when we are not careful enough to ensure we are in offline mode.

    We also have a subversion repository and had to install TortiseSVN alongside TFS …

    Looking forward to this app!!!

  2. David Anson says:


    Great feedback, thanks for taking the time to share! Assuming you’ve got the same email address as when we chatted about LayoutTransformControl back in November, I’ll try to contact you sometime next week with a private build to experiment with! 🙂

  3. mrjvdveen says:

    Looking good. I have some questions. Does it work over the internet? And a Get Latest Version function (hey, that’s still read) would be realy useful. Does it have one?



  4. David Anson says:


    Thanks for your message!

    RepositoryExplorer currently works against a local workspace – which pretty much always targets a source control repository on a remote server. So while there are some commands that can execute locally (ex: SVN’s status), others (ex: TFS’s history) will tend to hit the network to query the server for details. So I’d say that RepositoryExplorer does "work over the internet".

    Regarding your suggestion to include support for "get latest version", the concern I have with that is that it can result in merge conflicts if there are local edits to a file that has since been modified by someone else. Under both TFS and SVN it’s generally preferable to resolve those merge conflicts immediately, and I’m not yet prepared to open the can of worms that I feel proper merge resolution is. 😐 Additionally, executing a "get latest version" – even one with no merge conflicts – alters the state of the local files in a way that could break existing code. So if I’m going to be picky about it, I don’t really consider it a "read-only" operation anyway! 🙂

    Hope this helps!

  5. Delay's Blog says:

    In my last post I talked about the source control repository browser project I’ve been playing around

  6. tgrand says:

    Very interesting!  I’ve been using TortoiseSVN intensively for the past 3 or 4 years, and I hope you’ve at least tried it before discounting it.  It’s seriously awesome, and not intrusive or destabilizing especially if you change the "Status cache" setting from Default to Shell.  (Probably sounds odd but it does make sense.)

    But as great as TortoiseSVN is, it gets much better when you pair it with a good Explorer replacement.  I’ve been using it with XYplorer (a standalone app, not a shell replacement) for the past 6 months or so and have been amazed at how much more quickly and easily I can get stuff done.  The key is to set up keyboard shortcuts for all of the most common commands, like show log, update, commit, revert, etc.  TortoiseSVN has a well documented GUI executable that you can map these shortcuts to, so you just pass the right parameters and you can invoke it without having to use the shell – while still getting its full GUI benefits.  XYplorer lets you pass parameters including the current directory location when using keyboard shortcuts, so I can browse to a directory and hit Ctrl+Shift+L to view the log, Ctrl+Shift+U to update, Ctrl+Shift+C to commit, etc.  The effect on productivity is incredible.  It’s one of the best synergies between apps I’ve ever seen.

    Finally, I think it’s great that you’re writing a GUI app that works with SVN.  I hope you’ll consider adding command line parameters that make it possible to quickly invoke your app for a certain task/location, and then close it when finished.  I’m very happy with XYplorer + TortoiseSVN, but I’m still very interested in trying out your app if I can mix it into my current way of operating – and especially if it does some cool stuff with WPF.


  7. David Anson says:


    *Great* feedback, thank you very much for taking the time to leave it!

    You make a compelling case for TortiseSVN; I’ll try to give it a whirl when I get a chance. It’s nice to hear that you were able to integrate it well with your Explorer replacement – synergy like that is always a cool thing.

    FYI, I happen to be a long-time user and very devoted fan of Altap Salamander (http://www.altap.cz/salam_en/). I’m not sure you’ll be able to pry me away from it – even with the promise of gold or riches… 🙂

    Thanks again for sharing your thoughts and suggestions here!

  8. Delay's Blog says:

    Earlier this month I blogged about adding the ScrollIntoViewCentered method to WPF’s ListBox control

Comments are closed.