aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/CGI.pm6
-rw-r--r--debian/changelog5
-rw-r--r--doc/bugs/svn_fails_to_update.mdwn12
3 files changed, 21 insertions, 2 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 96b9dab61..0c6670546 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -507,6 +507,12 @@ sub cgi_editpage ($$) { #{{{
print $form->render(submit => \@buttons);
return;
}
+ else {
+ # Make sure that the repo is up-to-date;
+ # locking prevents the post-commit hook
+ # from updating it.
+ rcs_update();
+ }
}
else {
require IkiWiki::Render;
diff --git a/debian/changelog b/debian/changelog
index 7a0e362d3..cd134a2c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,8 +11,11 @@ ikiwiki (1.41) UNRELEASED; urgency=low
* Improve use of svn merge, by specifying the file to merge, rather than
chdiring to the srcdir (which wasn't right when merging in a subdir).
Thanks Ethan.
+ * Always call rcs_update after a commit during a web edit, to work around
+ the problem described in bugs/svn_fails_to_update. Thanks to Ethan for the
+ analysis and patch.
- -- Joey Hess <joeyh@debian.org> Sat, 27 Jan 2007 19:01:27 -0500
+ -- Joey Hess <joeyh@debian.org> Sat, 27 Jan 2007 19:18:27 -0500
ikiwiki (1.40) unstable; urgency=low
diff --git a/doc/bugs/svn_fails_to_update.mdwn b/doc/bugs/svn_fails_to_update.mdwn
index 015ab5a2b..6ed839cf6 100644
--- a/doc/bugs/svn_fails_to_update.mdwn
+++ b/doc/bugs/svn_fails_to_update.mdwn
@@ -76,4 +76,14 @@ Hmm, turns out that isn't the case! svn's prepedit function calls svn info
which gets the "right" information even when the WC isn't current. I am
having problems merging but that probably has nothing to do with this bug.
[This patch](http://ikidev.betacantrips.com/patches/update.patch) calls
-rcs_update after commit in CGI.pm, it might be a good idea anyhow. --Ethan \ No newline at end of file
+rcs_update after commit in CGI.pm, it might be a good idea anyhow. --Ethan
+
+> Ok, I follow you. I am unsure whether this problem effects other rcses
+> besides svn. Depends on how they handle locking, etc. But calling
+> rcs_update will always be safe, so I'll do that. [[bugs/done]]
+>
+> That still leaves the issue that it calls svn update in the post-commit
+> hook when it's locked and fails with that error message. Granted svn does
+> throw that away by default, but it's still ugly and wasteful. But
+> checking for a lock first is even uglier (and racey) and more wasteful,
+> so I don't see a fix.. --[[Joey]]