From xie at yihui.name  Mon Mar  7 07:17:02 2011
From: xie at yihui.name (Yihui Xie)
Date: Mon, 7 Mar 2011 00:17:02 -0600
Subject: [Rd] Fwd: file mode lost in file.copy()?
In-Reply-To: <AANLkTinF7-DTeKurzyBwMivMfOwjPrMbQ3a77tzBfYZ3@mail.gmail.com>
References: <AANLkTik7S5Baq25kLJhayo--hMt92SnfwM3QKc4PLOjW@mail.gmail.com>
	<AANLkTimyeHXynSw1v8hEz_qbke0mN1t1ci7LBEVZqVC=@mail.gmail.com>
	<AANLkTinF7-DTeKurzyBwMivMfOwjPrMbQ3a77tzBfYZ3@mail.gmail.com>
Message-ID: <AANLkTim0G7BuyGj3GHrAhJuOqNNZFKqGYPUCQgdS_q4x@mail.gmail.com>

Great! Thanks a lot!

Regards,
Yihui
--
Yihui Xie <xieyihui at gmail.com>
Phone: 515-294-2465 Web: http://yihui.name
Department of Statistics, Iowa State University
2215 Snedecor Hall, Ames, IA



On Sun, Mar 6, 2011 at 10:26 PM, Henrik Bengtsson <hb at biostat.ucsf.edu> wrote:
> FYI,
>
> this seems to be a known problem that has been address in the the
> devel version. ?From NEWS of R v2.13.0 devel:
>
> NEW FEATURES:
>
> - file.copy() now copies read/write/execute permissions on files (it
> already did so for directories in recursive copies).
>
> Source: http://cran.r-project.org/bin/windows/base/NEWS.R-2.13.0dev.html
>
> /Henrik
>
>
> On Sun, Mar 6, 2011 at 1:08 PM, Yihui Xie <xie at yihui.name> wrote:
>> Hi,
>>
>> I was suggested that this question should be reported to r-devel.
>> Could you please make file.copy() preserve the file mode information?
>> I see from the source code that file.copy() is basically
>> file.append():
>>
>> ? ?if (any(okay)) {
>> ? ? ? ?okay[okay] <- file.create(to[okay])
>> ? ? ? ?if (any(okay))
>> ? ? ? ? ? ?okay[okay] <- file.append(to[okay], from[okay])
>> ? ?}
>>
>> Maybe something like this should be added to file.copy():
>>
>> Sys.chmod(to[okay], file.info(from[okay])$mode)
>>
>> Thanks!
>>
>> Regards,
>> Yihui
>> --
>> Yihui Xie <xieyihui at gmail.com>
>> Phone: 515-294-2465 Web: http://yihui.name
>> Department of Statistics, Iowa State University
>> 2215 Snedecor Hall, Ames, IA
>>
>>
>>
>>
>> ---------- Forwarded message ----------
>> From: Yihui Xie <xie at yihui.name>
>> Date: Sat, Mar 5, 2011 at 5:31 PM
>> Subject: file mode lost in file.copy()?
>> To: R Help <r-help at r-project.org>
>>
>>
>> Hi,
>>
>> Recently I noticed file.copy() would discard the file mode
>> information. Is this the expected behaviour or a bug for file.copy()?
>>
>>> file.create('testfile')
>> [1] TRUE
>>
>>> file.info('testfile')
>> ? ? ? ? size isdir mode ? ? ? ? ? ? ? mtime ? ? ? ? ? ? ? ctime
>> testfile ? ?0 FALSE ?644 2011-03-05 17:06:39 2011-03-05 17:06:39
>> ? ? ? ? ? ? ? ? ? ? ? atime ?uid ?gid uname grname
>> testfile 2011-03-05 17:06:40 1000 1000 yihui ?yihui
>>
>>> Sys.chmod('testfile', '0755')
>>
>>> file.info('testfile')
>> ? ? ? ? size isdir mode ? ? ? ? ? ? ? mtime ? ? ? ? ? ? ? ctime
>> testfile ? ?0 FALSE ?755 2011-03-05 17:06:39 2011-03-05 17:06:59
>> ? ? ? ? ? ? ? ? ? ? ? atime ?uid ?gid uname grname
>> testfile 2011-03-05 17:07:00 1000 1000 yihui ?yihui
>>
>>> file.copy('testfile', 'testfile2')
>> [1] TRUE
>>
>>> file.info('testfile2')
>> ? ? ? ? ?size isdir mode ? ? ? ? ? ? ? mtime ? ? ? ? ? ? ? ctime
>> testfile2 ? ?0 FALSE ?644 2011-03-05 17:07:20 2011-03-05 17:07:20
>> ? ? ? ? ? ? ? ? ? ? ? ?atime ?uid ?gid uname grname
>> testfile2 2011-03-05 17:07:21 1000 1000 yihui ?yihui
>>
>>> sessionInfo()
>> R version 2.12.2 (2011-02-25)
>> Platform: x86_64-unknown-linux-gnu (64-bit)
>>
>> locale:
>> ?[1] LC_CTYPE=en_US.utf8 ? ? ? LC_NUMERIC=C
>> ?[3] LC_TIME=en_US.utf8 ? ? ? ?LC_COLLATE=en_US.utf8
>> ?[5] LC_MONETARY=C ? ? ? ? ? ? LC_MESSAGES=en_US.utf8
>> ?[7] LC_PAPER=en_US.utf8 ? ? ? LC_NAME=C
>> ?[9] LC_ADDRESS=C ? ? ? ? ? ? ?LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base
>>
>>
>> Regards,
>> Yihui
>> --
>> Yihui Xie <xieyihui at gmail.com>
>> Phone: 515-294-2465 Web: http://yihui.name
>> Department of Statistics, Iowa State University
>> 2215 Snedecor Hall, Ames, IA
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>



[Rd] Fwd: file mode lost in file.copy()?
Yihui Xie