<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coreutils/tests/rm, branch next</title>
<subtitle>Mirror of https://https.git.savannah.gnu.org/git/coreutils.git/
</subtitle>
<id>https://git.shady.money/coreutils/atom?h=next</id>
<link rel='self' href='https://git.shady.money/coreutils/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/'/>
<updated>2009-09-11T12:08:51Z</updated>
<entry>
<title>rm: rewrite to use fts</title>
<updated>2009-09-11T12:08:51Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-07-12T16:15:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=4f73ecaf7def2a7bdc381eee2036f6539df01e7d'/>
<id>urn:sha1:4f73ecaf7def2a7bdc381eee2036f6539df01e7d</id>
<content type='text'>
* remove.c: Don't include "unlinkdir.h"; no longer used.
Do not include &lt;setjmp.h&gt; or "cycle-check.h".  Likewise.
Include "xfts.h".
(dir_name, dir_len): Remove definitions.
(CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Likewise.
(INODE_SORT_DIR_ENTRIES_THRESHOLD, NEED_REWIND, D_TYPE): Likewise.
(struct dirstack_state, Dirstack_state): Likewise.
(g_buf, g_n_allocated): Remove declarations.
(hash_freer, hash_compare_strings, rm_malloc): Remove functions.
(rm_free, push_dir, top_dir, pop_dir, right_justify): Likewise.
(full_filename0, xfull_filename, full_filename_): Likewise.
(AD_stack_height, AD_stack_top, AD_stack_pop, AD_stack_clear): Likewise.
(obstack_init_minimal, ds_init, ds_clear, ds_free): Likewise.
(AD_pop_and_chdir, AD_ensure_initialized, AD_mark_helper): Likewise.
(AD_mark_as_unremovable, AD_mark_current_as_unremovable): Likewise.
(AD_push_initial, AD_push, AD_push, AD_is_removable): Likewise.
(write_protected_non_symlink): Change 3rd parameter from
dirstack_state "ds" to full_name.
(prompt): Adjust parameters.  Now, state comes from FTS/FTSENT pair.
Those replace fd_cwd and "ds".  Remove "filename".  Remove pdirent_type
in favor of new "is_dir" parameter.  Rename is_empty to is_empty_p.
(DO_RMDIR, DO_UNLINK): Remove definitions.
(remove_entry, fd_to_subdirp, compare_ino): Remove functions.
(dirent_count, dirent_inode_sort_may_be_useful): Likewise.
(preprocess_dir): Likewise.
(fts_skip_tree, mark_ancestor_dirs, excise, rm_fts): New functions.
(remove_cwd_entries, remove_dir, rm_1): Remove functions.
(rm): Rewrite as a simple loop calling fts_read and dispatching
each entry via rm_fts.
* src/rm.c (main): Adapt to new signature of rm().
* bootstrap.conf (gnulib_modules): Remove unlinkdir, no longer used.
* src/Makefile.am (sc_tight_scope): Also recognize an extern "enum"
declaration.
* tests/rm/empty-name: Adjust expected output to match new diagnostic.
* NEWS (Improvements): Mention it.
</content>
</entry>
<entry>
<title>global: convert indentation-TABs to spaces</title>
<updated>2009-08-25T07:21:00Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-08-22T16:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=5e778f7c8d1ecf3d8f11385db013af2ba026e2a5'/>
<id>urn:sha1:5e778f7c8d1ecf3d8f11385db013af2ba026e2a5</id>
<content type='text'>
Transformed via this shell code:
t=$'\t'
git ls-files \
  | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \
  | grep -vE 'tests/pr/|help2man' \
  | xargs grep -lE "^ *$t" \
  | xargs perl -MText::Tabs -ni -le \
    '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
</content>
</entry>
<entry>
<title>tests: new function: require_openat_support_</title>
<updated>2009-07-30T15:47:21Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-07-29T12:59:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=c06547cadeed50e85b1de661634a39f7321e562c'/>
<id>urn:sha1:c06547cadeed50e85b1de661634a39f7321e562c</id>
<content type='text'>
* tests/rm/inaccessible: Factor out openat-support-detection code...
* tests/test-lib.sh (require_openat_support_): ...into this new function.
</content>
</entry>
<entry>
<title>maint: update all Copyright year lists to include 2009</title>
<updated>2009-06-23T20:33:15Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-06-23T20:33:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=2232b4d08fdc8ff3ae8e7aa1fa28c8315c41d9ad'/>
<id>urn:sha1:2232b4d08fdc8ff3ae8e7aa1fa28c8315c41d9ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: rm/one-file-system: umount more reliably</title>
<updated>2009-05-05T06:52:09Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-05-05T05:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=8d00fb26f1bd5847f8e1318fdb99c8ef256dbece'/>
<id>urn:sha1:8d00fb26f1bd5847f8e1318fdb99c8ef256dbece</id>
<content type='text'>
* tests/rm/one-file-system: Run umount via trap, so it runs
also upon irregular termination.
</content>
</entry>
<entry>
<title>tests: mark the rm/ext3-perf test as "very" expensive</title>
<updated>2009-03-26T09:35:03Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-03-26T09:33:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=9b6538aa8dbac7ac310487a14d031dce1191921b'/>
<id>urn:sha1:9b6538aa8dbac7ac310487a14d031dce1191921b</id>
<content type='text'>
* tests/rm/ext3-perf: Relegate this test to the very_expensive
category, since it is failing too often for me, when run in
parallel (-j4) with other disk-hammering tests.  This test fails
when it takes too long, so the fact that it fails under pressure
is an inconvenience more than a real problem.
</content>
</entry>
<entry>
<title>tests: fix just-introduced typo in rm/ext3-perf</title>
<updated>2009-03-06T10:48:16Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-03-06T10:12:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=5d71171e01fb7f585fc3864866c0a30a4064380f'/>
<id>urn:sha1:5d71171e01fb7f585fc3864866c0a30a4064380f</id>
<content type='text'>
* tests/rm/ext3-perf: Fix typo in commit 2b1e6636bea,
2009-02-27 "tests: rm/ext3-perf: relax this test".
</content>
</entry>
<entry>
<title>tests: rm/ext3-perf: relax this test</title>
<updated>2009-03-02T08:35:12Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-02-27T11:54:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=2b1e6636beab4d16ade9685175568d12bafeee9d'/>
<id>urn:sha1:2b1e6636beab4d16ade9685175568d12bafeee9d</id>
<content type='text'>
* tests/rm/ext3-perf: If set-up takes too long, use the set-up time
as the removal time limit.  Otherwise, a parallel "make check" would
usually fail when run with RUN_VERY_EXPENSIVE_TESTS=yes.
</content>
</entry>
<entry>
<title>tests: use our new timeout program</title>
<updated>2008-10-01T06:45:26Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2008-10-01T06:45:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=0eff09dfcf744c64cd24dc15784457c9323423fa'/>
<id>urn:sha1:0eff09dfcf744c64cd24dc15784457c9323423fa</id>
<content type='text'>
* tests/rm/ext3-perf: Also, record set-up duration and FS type.
</content>
</entry>
<entry>
<title>rm -r: avoid O(n^2) performance for a directory with very many entries</title>
<updated>2008-09-26T22:10:08Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2008-09-22T20:42:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/coreutils/commit/?id=24412edeaf556a96a5ee122851de7c3e37726bdb'/>
<id>urn:sha1:24412edeaf556a96a5ee122851de7c3e37726bdb</id>
<content type='text'>
This enhancement works around a problem that is specific to at least
ext3 and ext4 file systems.  With them, it would take hours to remove
a two-million-entry directory.  RAM-backed file systems (tmpfs) are
not affected, since there is no seek penalty.
* remove.c (rm_malloc, rm_free, compare_ino): New functions.
(dirent_count, preprocess_dir): New function.
[struct readdir_data]: New struct.
(remove_cwd_entries): Call preprocess_dir.
* tests/rm/ext3-perf: New file.  Test for the performance fix.
* NEWS: mention the new feature
</content>
</entry>
</feed>
