bug#14686: Bug#713022: truncate man and info pages must mention -s / -r mandatory

2013-06-22 Thread jidanni
Well I bet that rm is as evil.





bug#14686: Bug#713022: truncate man and info pages must mention -s / -r mandatory

2013-06-22 Thread Pádraig Brady
On 06/22/2013 09:42 AM, jida...@jidanni.org wrote:
> I thought it would do the obvious, like touch does.
> 
> 
> NAME
>touch - change file timestamps
> 
> SYNOPSIS
>touch [OPTION]... FILE...
> 
> DESCRIPTION
>Update  the  access  and modification times of each FILE to the current
>time.
> 
>A FILE argument that does not exist is created empty, unless -c  or  -h
>is supplied.
> 
> 
> 
> NAME
>truncate - shrink or extend the size of a file to the specified size
> 
> SYNOPSIS
>truncate OPTION... FILE...
> 
> DESCRIPTION
>Shrink or extend the size of each FILE to the specified size
> 
>A FILE argument that does not exist is created.
> 
> 
> 
> Who would have guessed that for some reason an argument is required,
> I don't see why
> $ truncate FILE
> cannot just work too.
> You know, to truncate the file, to zero bytes.
> But hey I'm not a pro.

I remember discussing the interface at the time.
The thinking was that since data was destroyed here,
an explicit -s0 was required to avoid typos like:

  truncate - s1M file

Behaving like you suggest would create '-' and 's1M'
and truncate 'file' without warning.

cheers,
Pádraig.





bug#14686: Bug#713022: truncate man and info pages must mention -s / -r mandatory

2013-06-22 Thread jidanni
I thought it would do the obvious, like touch does.


NAME
   touch - change file timestamps

SYNOPSIS
   touch [OPTION]... FILE...

DESCRIPTION
   Update  the  access  and modification times of each FILE to the current
   time.

   A FILE argument that does not exist is created empty, unless -c  or  -h
   is supplied.



NAME
   truncate - shrink or extend the size of a file to the specified size

SYNOPSIS
   truncate OPTION... FILE...

DESCRIPTION
   Shrink or extend the size of each FILE to the specified size

   A FILE argument that does not exist is created.



Who would have guessed that for some reason an argument is required,
I don't see why
$ truncate FILE
cannot just work too.
You know, to truncate the file, to zero bytes.
But hey I'm not a pro.





bug#14686: Bug#713022: truncate man and info pages must mention -s / -r mandatory

2013-06-21 Thread Pádraig Brady
On 06/21/2013 09:05 PM, jida...@jidanni.org wrote:
> Package: coreutils
> Version: 8.13-3.3
> File: /usr/share/man/man1/truncate.1.gz
> X-debbugs-CC: bug-coreutils@gnu.org
> 
> $ truncate /tmp/erere
> truncate: you must specify either `--size' or `--reference'
> 
> What a shock. Not mentioned on man or info pages!

Well it was immediately obvious what to do given the above output.
Some might consider a pointed message like this,
preferable to having to read the manual initially.

> 
> And
>truncate OPTION... FILE...
> should be
>truncate <--size|--ref...>  [OPTION...] FILE...

Or more accurately:

 truncate <--size|--reference>  [OPTION...] FILE...

Now some may find the above more confusing to parse.
Also worth noting is the next line in the man page and info manual,
i.e. the first line of the description, should make it quite obvious
a size is required:

  "Shrink or extend the size of each FILE to the specified size"

Also we follow this pattern for other utils like cut(1).

So I'm slightly inclined to leave as is.

> Also mention size is in bytes. Don't just hope the reader will examine
> every options' wording to ferret that out.

Fair enough. I'll adjust to:

  -s, --size=SIZE
  set or adjust the file size by SIZE bytes.  See also --io-blocks

thanks,
Pádraig.






bug#14686: Bug#713022: truncate man and info pages must mention -s / -r mandatory

2013-06-21 Thread jidanni
Package: coreutils
Version: 8.13-3.3
File: /usr/share/man/man1/truncate.1.gz
X-debbugs-CC: bug-coreutils@gnu.org

$ truncate /tmp/erere
truncate: you must specify either `--size' or `--reference'

What a shock. Not mentioned on man or info pages!

And
   truncate OPTION... FILE...
should be
   truncate <--size|--ref...>  [OPTION...] FILE...

Also mention size is in bytes. Don't just hope the reader will examine
every options' wording to ferret that out.