From 4ff60ef1c50ab182f7ce011de1ff7ca67e99254b Mon Sep 17 00:00:00 2001 From: joey Date: Sun, 28 Jan 2007 00:26:55 +0000 Subject: [PATCH] * 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. --- IkiWiki/CGI.pm | 6 ++++++ debian/changelog | 5 ++++- doc/bugs/svn_fails_to_update.mdwn | 12 +++++++++++- 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 Sat, 27 Jan 2007 19:01:27 -0500 + -- Joey Hess 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]]