bug#69532: mv's new -x option should be made orthogonal to -t/-T/default

2024-03-20 Thread Paul Eggert
On 3/20/24 15:53, Bernhard Voelker wrote:   $ echo 1 > a   $ mkdir d   $ echo 2 > d/a   $ src/mv -v --exchange a a a d   renamed 'a' -> 'd/a'   renamed 'a' -> 'd/a'   renamed 'a' -> 'd/a'   $ cat a   2   $ src/mv -v --exchange a a a d   renamed 'a' -> 'd/a'   renamed 'a' -> 'd/a'  

bug#69532: mv's new -x option should be made orthogonal to -t/-T/default

2024-03-20 Thread Rob Landley
On 3/20/24 14:43, Bernhard Voelker wrote: > On 3/17/24 07:10, Paul Eggert wrote: > Now, extending "exchange" to more arguments is confusing and the > use is not intuitive: >mv -v --exchange a b c d It's also pointless. An atomic exchange on more than 2 files ISN'T ATOMIC. That's why I didn't

bug#69532: mv's new -x option should be made orthogonal to -t/-T/default

2024-03-20 Thread Bernhard Voelker
On 3/20/24 21:56, Paul Eggert wrote: On 3/20/24 12:43, Bernhard Voelker wrote: This stems from the fact that although mv(1) is a userland frontend for renameat(2), the user interface is different: while renameat(2) deals exactly with 2 operands, mv(1) has always been able to work on more

bug#69532: mv's new -x option should be made orthogonal to -t/-T/default

2024-03-20 Thread Paul Eggert
On 3/17/24 04:32, Pádraig Brady wrote: I think the --no-copy situation is brittle, as scripts not using it now would be atomic, but then if we ever supported cross fs swaps it may become non atomic. I'd at least doc with a line in the --exchange description in usage() to say something like:  

bug#69532: mv's new -x option should be made orthogonal to -t/-T/default

2024-03-20 Thread Paul Eggert
On 3/20/24 12:43, Bernhard Voelker wrote: This stems from the fact that although mv(1) is a userland frontend for renameat(2), the user interface is different: while renameat(2) deals exactly with 2 operands, mv(1) has always been able to work on more arguments. Yes, that's mv's original sin,

bug#69532: mv's new -x option should be made orthogonal to -t/-T/default

2024-03-20 Thread Bernhard Voelker
On 3/17/24 07:10, Paul Eggert wrote: Although removing that "mv --swap" implementation was a win, I don't think we can simply delegate this to util-linux's exch command. I still have some headache adding this. This stems from the fact that although mv(1) is a userland frontend for

bug#10311: RFE: Give chmod a "-h" option as well

2024-03-20 Thread Pádraig Brady
On 16/12/2011 16:29, Jan Engelhardt wrote: Hi, chown(1) has a -h option by which it affects symlinks directly rather than the pointed-to file. The bonus side effect is that the pointed-to files don't get changed in any way, which is kinda welcome if you attempt to "fix" permissions/ownership in

bug#11108: [PATCH] chmod: fix symlink race condition

2024-03-20 Thread Pádraig Brady
On 28/03/2012 21:28, Paul Eggert wrote: On 03/28/2012 01:13 PM, Jim Meyering wrote: $ ./chmod u+w f ./chmod: changing permissions of 'f': Operation not supported Yeouch. I undid the change for now. Hmm, why did "make check" work for me? I'll have to investigate later, alas. Patch