Switch to side-by-side view

--- a/ForgeSVN/forgesvn/svn_main.py
+++ b/ForgeSVN/forgesvn/svn_main.py
@@ -1,6 +1,7 @@
 #-*- python -*-
 import logging
 from pylons import c, request
+import pylons
 
 # Non-stdlib imports
 from ming.utils import LazyProperty
@@ -17,6 +18,7 @@
 from allura.app import SitemapEntry, ConfigOption
 from allura.lib import helpers as h
 from allura import model as M
+from allura.lib import validators as V
 
 # Local imports
 from . import model as SM
@@ -97,8 +99,15 @@
     @without_trailing_slash
     @expose()
     @require_post()
+    @validate(dict(checkout_url=V.CheckoutUrlValidator()))
     def set_checkout_url(self, **post_data):
-        self.app.config.options['checkout_url'] = post_data['checkout_url']
+        if not pylons.c.form_errors:
+            url = post_data['checkout_url'].replace(
+                self.app.repo.clone_url('ro', self.app), "")
+            self.app.config.options['checkout_url'] = url
+        else:
+            flash(pylons.c.form_errors["checkout_url"], "error")
+
 
 class SVNImportController(BaseController):
     import_form=widgets.ImportForm()