Commits

Matthew Marshall committed 4891c62

Fixed bad regression when creating a new repository and encoding errors.

Comments (0)

Files changed (3)

                 return reponame
             raise forms.ValidationError(
                     u'You already have a repository with this name.')
+        return reponame
     def write_hgrc(self):
         assert(os.path.exists(self.file_path+"/.hg"))
         f = open(self.hgrc_filename, 'w')
+        def wl(line):
+            f.write(line.encode('utf8') + "\n")
         f.write("[web]\n")
         f.write("push_ssl = false\n")
         f.write("allow_push = %s\n" % self.owner.username)
         if self.long_name:
-            f.write("name = %s\n" % escape(self.get_long_name()))
+            wl("name = %s" % escape(self.get_long_name()))
         else:
-            f.write("name = %s\n" % escape(self.name))
+            wl("name = %s" % self.name)
         if self.description:
-            f.write("description = %s\n" %
+            wl(u"description = %s" %
                 self.get_html_description().replace('\n','').replace('%', '%%'))
-        f.write("contact = %s\n" % (self.owner.get_full_name() or self.owner.username))
+        wl(u"contact = %s" % escape(self.owner.get_full_name() or self.owner.username))
 
         f.write("[hooks]\n")
         f.write("changegroup = python:freehg.repos.hooks.changegroup\n")
                 for part in thing:
                     write(part)
             else:
-                content.append(unicode(thing))
+                # FIXME I have a feeling that this isn't correct.
+                content.append(str(thing).decode('utf8'))
     write(web.summary())
 
     return render_to_response('repos/summary.html',
         form = EditRepoForm(repo, request.POST)
         if form.is_valid():
             old_path = repo.file_path
+            new_name = form.cleaned_data['reponame']
             repo.name = form.cleaned_data['reponame']
             repo.long_name = form.cleaned_data['long_name']
             repo.description = form.cleaned_data['description']
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.