Re: [PATCH] Add new option --in-place (original) (raw)

[Top][All Lists]


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


From: Jim Meyering
Subject: Re: [PATCH] Add new option --in-place
Date: Sun, 21 Mar 2010 12:14:57 +0100

Pádraig Brady wrote:

On 20/03/10 08:32, Jim Meyering wrote: > Hello, > > [Cc'ing bug-coreutils...] > > Giuseppe proposed to add the --in-place option to GNU cppi, > (cppi is a small program that can act as a filter > http://savannah.gnu.org/forum/forum.php?forumid=6210 > but cppi is so small that adding even that single, relatively > simple option would make it substantially more complicated. > > I'm nearly certain I've seen a program (possibly a small > perl script) that can effectively add the --in-place > functionality to any filter program, but so far my searches > have been in vain. > > I want a tool that works like this: > > in-place [--backup] 'cppi ...options' *.c > > For each .c file, it would apply the filter program, and upon each > successful exit, it would update the .c file in place (atomically, > of course) with the output from the filter. > > Can anyone point to existing code that does that?

Well we were talking about a small "replace" or "inplace" script, in coreutils/contrib/ which would use the facilities of various coreutils http://lists.gnu.org/archive/html/bug-coreutils/2009-09/msg00327.html I didn't get any feedback on the new cp --attributes-only option though so was worried about adding this new interface.

Sorry I didn't reply. Your --attributes-only option looks worthwhile.

However, I think the default behavior of an update-via-filter-and-replace program should use the temp-file-in-same-directory-and-rename technique rather than the non-atomic alternative. The case in which the destination directory is unwritable is far less common, so if we support that at all, it should be only as a fallback, or perhaps only if some option is specified.