X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/38353384cf7ccb4cbc81e77f82875d8a959fbea7..cadfac387cd2a206a195d4e425536163a5a9a333:/IkiWiki/Rcs/monotone.pm diff --git a/IkiWiki/Rcs/monotone.pm b/IkiWiki/Rcs/monotone.pm index be6b36c66..5717e0043 100644 --- a/IkiWiki/Rcs/monotone.pm +++ b/IkiWiki/Rcs/monotone.pm @@ -239,14 +239,11 @@ sub rcs_commit ($$$;$$) { #{{{ # Something has been committed, has this file changed? my ($out, $err); - #$automator->setOpts("-r", $oldrev, "-r", $rev); - #my ($out, $err) = $automator->call("content_diff", $file); - #debug("Problem committing $file") if ($err ne ""); - # FIXME: use of $file in these backticks is not wise from a - # security POV. Probably safe, but should be avoided - # anyway. - my $diff = `mtn --root=$config{mtnrootdir} au content_diff -r $oldrev -r $rev $file`; # was just $out; - + $automator->setOpts("r", $oldrev, "r", $rev); + ($out, $err) = $automator->call("content_diff", $file); + debug("Problem committing $file") if ($err ne ""); + my $diff = $out; + if ($diff) { # Commit a revision with just this file changed off # the old revision. @@ -314,8 +311,6 @@ sub rcs_commit ($$$;$$) { #{{{ "Please use the non-web interface to resolve the conflicts."); } - # suspend this revision because it has - # conflict markers... if (system("mtn", "--root=$config{mtnrootdir}", "update", "-r", $mergeResult) != 0) { debug("Unable to update to rev $mergeResult after conflict-enhanced merge on conflicted commit!"); @@ -363,7 +358,7 @@ sub rcs_add ($) { #{{{ check_config(); if (system("mtn", "--root=$config{mtnrootdir}", "add", "--quiet", - "$config{srcdir}/$file") != 0) { + $file) != 0) { error("Monotone add failed"); } } #}}}