diff -r fc0fecf09eb9 -r 3d01be97cb5a app/controllers/repositories_controller.rb
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -60,21 +60,6 @@
   end
 
   def edit
-    @repository = @project.repository
-    params[:repository_scm]='Mercurial'
-    if !@repository
-      @repository = Repository.factory(params[:repository_scm])
-      @repository.project = @project if @repository
-    end
-    if request.post? && @repository
-      attrs = pickup_extra_info
-      @repository.safe_attributes = attrs[:attrs]
-      if attrs[:attrs_extra].keys.any?
-        @repository.merge_extra_info(attrs[:attrs_extra])
-      end
-      @repository.project = @project
-      redirect_to settings_project_path(@project, :tab => 'repositories')
-    end
   end
 
   def update
diff -r fc0fecf09eb9 -r 3d01be97cb5a app/models/repository.rb
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -51,6 +51,8 @@
     'password',
     'path_encoding',
     'log_encoding',
+    'is_external',
+    'external_url',
     'is_default'
 
   safe_attributes 'url',
diff -r fc0fecf09eb9 -r 3d01be97cb5a app/views/projects/settings/_repositories.html.erb
--- a/app/views/projects/settings/_repositories.html.erb
+++ b/app/views/projects/settings/_repositories.html.erb
@@ -1,18 +1,19 @@
 
 <%= javascript_include_tag 'repository' %>
 
+<% if @repository %>
+
 <%= form_for @repository,
        :as => :repository,
-       :url => { :controller => 'repositories', :action => 'edit', :id => @project },
        :remote => true,
-       :method => 'post' do |f| %>
+       :url => { :controller => 'repositories', :action => 'update', :id => @repository },
+       :method => 'put' do |f| %>
 
 <%= error_messages_for 'repository' %>
 
 <div class="box tabular">
 
 <p>
-<% if @repository %>
    <%= l(:text_settings_repo_explanation).html_safe %></ br>
    <% if @repository.is_external %>
      <p><%= l(:text_settings_repo_is_external).html_safe %></ br>
@@ -44,7 +45,7 @@
                 {
                 :controller => 'repositories',
                 :action     => 'committers',
-                :id         => @project
+                :id         => @repository
                 },
              :class => 'icon icon-user') %>
 <% end %>
@@ -52,8 +53,9 @@
 
 <%= submit_tag(l(:button_save)) %>
 
+<% end %>
+
 <% else %>
    <%= l(:text_settings_repo_creation).html_safe %></ br>
 <% end %>
 
-<% end %>
diff -r fc0fecf09eb9 -r 3d01be97cb5a public/javascripts/repository.js
--- a/public/javascripts/repository.js
+++ b/public/javascripts/repository.js
@@ -1,7 +1,8 @@
-function toggle_ext_url(){
-	if($('repository_is_external').checked)
-	    $('repository_external_url').enable();
-	else
-	    $('repository_external_url').disable();
+function toggle_ext_url() {
+    if (document.getElementById('repository_is_external').checked) {
+        document.getElementById('repository_external_url').disabled = false;
+    } else {
+	document.getElementById('repository_external_url').disabled = true;
+    }
 }
 
