<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/fileutils.rb, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/fileutils] Bump version to 1.7.0</title>
<updated>2022-12-05T06:12:31+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-12-05T06:12:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=05caafb4731c796890027cafedaac59dc108a23a'/>
<id>05caafb4731c796890027cafedaac59dc108a23a</id>
<content type='text'>
https://github.com/ruby/fileutils/commit/213e6a3d1f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/fileutils/commit/213e6a3d1f
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] [Feature #18925] Add `ln_sr` method and `relative:` option to `ln_s`</title>
<updated>2022-11-25T01:03:57+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-11-25T01:03:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c6330cd32b7d02b4603080a2c53d64be9e05773c'/>
<id>c6330cd32b7d02b4603080a2c53d64be9e05773c</id>
<content type='text'>
https://github.com/ruby/fileutils/commit/5116088d5c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/fileutils/commit/5116088d5c
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] Revert "FileUtils.rm* methods swallows only Errno::ENOENT when force is true"</title>
<updated>2022-11-07T11:25:25+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2022-08-30T07:02:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=72c7dba436a5ebb53dfb37f3e400e84b0c2f9f45'/>
<id>72c7dba436a5ebb53dfb37f3e400e84b0c2f9f45</id>
<content type='text'>
This reverts commit https://github.com/ruby/fileutils/commit/fa65d676ece9.

This caused some incompatibility problems in real-world cases.
https://bugs.ruby-lang.org/issues/18784#change-98927
https://bugs.ruby-lang.org/issues/18784#change-98967

https://github.com/ruby/fileutils/commit/42983c2553
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit https://github.com/ruby/fileutils/commit/fa65d676ece9.

This caused some incompatibility problems in real-world cases.
https://bugs.ruby-lang.org/issues/18784#change-98927
https://bugs.ruby-lang.org/issues/18784#change-98967

https://github.com/ruby/fileutils/commit/42983c2553
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Replace the external URIs to docs with rdoc-ref</title>
<updated>2022-10-12T03:27:40+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-10-12T02:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3539da64fc42d6eb76f1d4c3ccd219c3259ecd8b'/>
<id>3539da64fc42d6eb76f1d4c3ccd219c3259ecd8b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] FileUtils.rm* methods swallows only Errno::ENOENT when force is true</title>
<updated>2022-08-23T07:52:41+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2022-07-26T12:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=983115cf3c8f75b1afbe3274f02c1529e1ce3a81'/>
<id>983115cf3c8f75b1afbe3274f02c1529e1ce3a81</id>
<content type='text'>
... instead of any StandardError.

To behave like the standard `rm` command, it should only ignore
exceptions about not existing files, not every exception. This should
make debugging some errors easier, because the expectation is that `rm
-rf` will succeed if and only if, all given files (previously existent
or not) are removed. However, due to this exception swallowing, this is
not always the case.

From the `rm` man page

&gt; COMPATIBILITY
&gt;
&gt; The rm utility differs from historical implementations in that the -f
&gt; option only masks attempts to remove non-existent files instead of
&gt; masking a large variety of errors.

https://github.com/ruby/fileutils/commit/fa65d676ec

Co-Authored-By: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... instead of any StandardError.

To behave like the standard `rm` command, it should only ignore
exceptions about not existing files, not every exception. This should
make debugging some errors easier, because the expectation is that `rm
-rf` will succeed if and only if, all given files (previously existent
or not) are removed. However, due to this exception swallowing, this is
not always the case.

From the `rm` man page

&gt; COMPATIBILITY
&gt;
&gt; The rm utility differs from historical implementations in that the -f
&gt; option only masks attempts to remove non-existent files instead of
&gt; masking a large variety of errors.

https://github.com/ruby/fileutils/commit/fa65d676ec

Co-Authored-By: David Rodríguez &lt;deivid.rodriguez@riseup.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] Narrow the scope of ensure</title>
<updated>2022-08-23T07:52:40+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2022-07-26T12:23:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=96562a517d3373466ec306b5f821a41f4758d2a6'/>
<id>96562a517d3373466ec306b5f821a41f4758d2a6</id>
<content type='text'>
The ensure in postorder_traverse was added for [Bug #6756].
The intention was to try to delete the parent directory if it failed to
get the children. (It may be possible to delete the directory if it is
empty.)

However, the ensure region rescue'ed not only "failure to get children"
but also "failure to delete each child". Thus, the following raised
Errno::ENOTEMPTY, but we expect it to raise Errno::EACCES.

```
$ mkdir foo
$ touch foo/bar
$ chmod 555 foo
$ ruby -rfileutils -e 'FileUtils.rm_rf("foo")'
```

This changeset narrows the ensure region so that it rescues only
"failure to get children".

https://github.com/ruby/fileutils/commit/ec5d3b84ea
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ensure in postorder_traverse was added for [Bug #6756].
The intention was to try to delete the parent directory if it failed to
get the children. (It may be possible to delete the directory if it is
empty.)

However, the ensure region rescue'ed not only "failure to get children"
but also "failure to delete each child". Thus, the following raised
Errno::ENOTEMPTY, but we expect it to raise Errno::EACCES.

```
$ mkdir foo
$ touch foo/bar
$ chmod 555 foo
$ ruby -rfileutils -e 'FileUtils.rm_rf("foo")'
```

This changeset narrows the ensure region so that it rescues only
"failure to get children".

https://github.com/ruby/fileutils/commit/ec5d3b84ea
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create a file on a offline drive</title>
<updated>2022-08-22T01:12:25+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2022-08-01T18:35:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=70f69f85395f5735429cd45136d7de2742f08b72'/>
<id>70f69f85395f5735429cd45136d7de2742f08b72</id>
<content type='text'>
https://github.com/ruby/fileutils/commit/9cc6a082d7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/fileutils/commit/9cc6a082d7
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge ruby/fileutils from https://github.com/ruby/fileutils/commit/332025bc0299254f97a06d64e580f60fea4e7125</title>
<updated>2022-07-29T10:10:10+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-07-29T06:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3725454161b55681e5b4ec3b7ca23a4126e23736'/>
<id>3725454161b55681e5b4ec3b7ca23a4126e23736</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] [DOC] Changes to examples (https://github.com/ruby/fileutils/pull/96)</title>
<updated>2022-06-28T15:39:59+00:00</updated>
<author>
<name>Burdette Lamar</name>
<email>BurdetteLamar@Yahoo.com</email>
</author>
<published>2022-06-28T15:39:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=59273ff6e2648ff9aefe894820b355083345ba4e'/>
<id>59273ff6e2648ff9aefe894820b355083345ba4e</id>
<content type='text'>
* Changes to examples

https://github.com/ruby/fileutils/commit/346a71b2cb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Changes to examples

https://github.com/ruby/fileutils/commit/346a71b2cb
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/fileutils] Clarify difference between cp_r and install (https://github.com/ruby/fileutils/pull/95)</title>
<updated>2022-06-21T17:23:10+00:00</updated>
<author>
<name>Burdette Lamar</name>
<email>BurdetteLamar@Yahoo.com</email>
</author>
<published>2022-06-21T17:23:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fdd1102550d375be4302ac8d2e081797de00a205'/>
<id>fdd1102550d375be4302ac8d2e081797de00a205</id>
<content type='text'>
https://github.com/ruby/fileutils/commit/94a599e69f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/fileutils/commit/94a599e69f
</pre>
</div>
</content>
</entry>
</feed>
