avoid hardlinking files owned by others

If hardlinks are enabled, it would hardlink files from the underlay. That
was sorta annoying if you tried to edit by hand for some reason, so let's
not. Files that are hardlinked should be rare enough that a few extra stats
won't hurt.
master
Joey Hess 2008-07-12 23:31:27 -04:00
parent e3c0e49774
commit 0b140ed1c8
1 changed files with 8 additions and 4 deletions

View File

@ -229,10 +229,14 @@ sub render ($) { #{{{
will_render($file, $file, 1);
if ($config{hardlink}) {
prep_writefile($file, $config{destdir});
unlink($config{destdir}."/".$file);
if (link($srcfile, $config{destdir}."/".$file)) {
return;
# only hardlink if owned by same user
my @stat=stat($srcfile);
if ($stat[4] == $>) {
prep_writefile($file, $config{destdir});
unlink($config{destdir}."/".$file);
if (link($srcfile, $config{destdir}."/".$file)) {
return;
}
}
# if hardlink fails, fall back to copying
}