Commit Graph

1209 Commits

Author SHA1 Message Date
David Peter
3599a30ee2
Support FILE_ATTRIBUTE_HIDDEN on Windows (#478) 2019-09-15 12:41:04 +02:00
sharkdp
f14b854bc1 Use existing Cow pointer 2019-09-15 10:57:27 +02:00
sharkdp
8f86a06c1a Extend help text 2019-09-15 10:57:27 +02:00
Nathan Moreau
761c445263 Add a non regression test. 2019-09-15 10:57:27 +02:00
Nathan Moreau
588e344d5b Remove type annotation. 2019-09-15 10:57:27 +02:00
Nathan Moreau
e3af9b0307 Factor into a helper function; adapt to print_entry_uncolorized. 2019-09-15 10:57:27 +02:00
Nathan Moreau
29bf9d731d Handle any string replacement. 2019-09-15 10:57:27 +02:00
Nathan Moreau
3857fa8f62 Amend clap configuration for path-separator. 2019-09-15 10:57:27 +02:00
Nathan Moreau
24e108e1ad Add path-separator option.
Example usage: `fd.exe --path-separator /` on windows.
2019-09-15 10:57:27 +02:00
sharkdp
1d16cd855e Fix warnings 2019-09-15 10:48:29 +02:00
sharkdp
a0505bd4df Expose exit status from --exec-batch <cmd>
closes #333
2019-09-13 23:05:35 +02:00
David Peter
630749f706
Clarify statement about number of threads for parallell execution 2019-06-17 19:25:16 +02:00
Jason Heeris
1daa454615 Added detail on parallel execution job pool to man page and README. 2019-06-17 19:21:47 +02:00
Jason Heeris
040c57e007 Added gcc_prefix to make_deb() function. 2019-06-17 19:19:33 +02:00
Jason Heeris
1ce2add943 Added armhf deb target. 2019-06-17 19:19:33 +02:00
Jason Heeris
418233193a Added armhf build to CI. 2019-06-17 19:19:33 +02:00
Chloe Kudryavtsev
0b04bd19df Add Alpine Linux installation instructions
Resolves #451
2019-06-11 07:38:55 +02:00
David Peter
ac2dae0427
Update Ubuntu install instructions 2019-05-31 21:26:00 +02:00
sharkdp
53afcd8fc3 Add a section about "removing files"
see #387
2019-05-31 14:30:54 +02:00
Pablo Varela
d266fa3010 Remove npm on macOS 2019-05-10 11:43:57 -05:00
Pablo Varela
e7d0a91986 ocd 2019-05-10 11:43:57 -05:00
Pablo Varela
801816ee6c Add instructions for npm 2019-05-10 11:43:57 -05:00
Tavian Barnes
5cbd8405ec Check the pattern before anything else, since it doesn't require metadata
This should partially address #432 by decreasing the number of stat() calls:

    $ strace -c -f ./fd-before '\.h$' /usr -j1 -S +1k >/dev/null
    % time     seconds  usecs/call     calls    errors syscall
    ------ ----------- ----------- --------- --------- ----------------
     15.71    8.831948           7   1192279     46059 stat
    $ strace -c -f ./fd-after '\.h$' /usr -j1 -S +1k >/dev/null
    % time     seconds  usecs/call     calls    errors syscall
    ------ ----------- ----------- --------- --------- ----------------
      7.92    1.972474          10    183907     46046 stat

Though it's not as few as possible:

    $ strace -c -f find /usr -iname '*.h' -size +1k >/dev/null
    % time     seconds  usecs/call     calls    errors syscall
    ------ ----------- ----------- --------- --------- ----------------
     19.01    0.946500           5    161649           newfstatat
    $ strace -c -f bfs /usr -iname '*.h' -size +1k >/dev/null
    % time     seconds  usecs/call     calls    errors syscall
    ------ ----------- ----------- --------- --------- ----------------
     13.73    0.406565           5     69005           statx

Performance is much better when metadata is required:

    $ hyperfine ./fd-{before,after}" '\.h$' /usr -j1 -S +1k"
    Benchmark #1: ./fd-before '\.h$' /usr -j1 -S +1k
      Time (mean ± σ):      4.623 s ±  0.154 s    [User: 1.465 s, System: 3.354 s]
      Range (min … max):    4.327 s …  4.815 s    10 runs

    Benchmark #2: ./fd-after '\.h$' /usr -j1 -S +1k
      Time (mean ± σ):      2.650 s ±  0.058 s    [User: 1.258 s, System: 1.592 s]
      Range (min … max):    2.568 s …  2.723 s    10 runs

    Summary
      './fd-after '\.h$' /usr -j1 -S +1k' ran
        1.74 ± 0.07 times faster than './fd-before '\.h$' /usr -j1 -S +1k'

While remaining the same when it's not:

    $ hyperfine ./fd-{before,after}" '\.h$' /usr -j1"
    Benchmark #1: ./fd-before '\.h$' /usr -j1
      Time (mean ± σ):      2.382 s ±  0.038 s    [User: 1.221 s, System: 1.286 s]
      Range (min … max):    2.325 s …  2.433 s    10 runs

    Benchmark #2: ./fd-after '\.h$' /usr -j1
      Time (mean ± σ):      2.362 s ±  0.034 s    [User: 1.193 s, System: 1.294 s]
      Range (min … max):    2.307 s …  2.422 s    10 runs

    Summary
      './fd-after '\.h$' /usr -j1' ran
        1.01 ± 0.02 times faster than './fd-before '\.h$' /usr -j1'
2019-05-08 07:28:47 -05:00
Laurent Arnoud
35945c4a62 Use dual license on Debian
cf https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2019-03-17 18:59:16 +01:00
Laurent Arnoud
97908beb97 Add copyright file for deb package
ref https://github.com/sharkdp/fd/issues/416
2019-03-17 18:59:16 +01:00
evitalis
f15540e501 Add OpenBSD installation steps 2019-03-13 08:17:06 +01:00
Tim Holland
074cfad3d4 Remove deprecated trim_left(_matches)?
warning: use of deprecated item 'core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
   --> src/main.rs:222:28
    |
222 |                 .map(|e| e.trim_left_matches('.'))
    |                            ^^^^^^^^^^^^^^^^^
    |
    = note: #[warn(deprecated)] on by default
2019-03-02 08:15:12 +01:00
Tobias Kortkamp
f3ec3d9cf0 Update FreeBSD install instructions
Installing fd does not require using portmaster (it will also build
fd from source).  IMHO this is pretty misleading.  Let's update the
FreeBSD install instructions to recommend using the binary package
in the official repository like on other systems.
2019-02-27 07:21:45 +01:00
Alex Leferry 2
46e865f1a2 Fix documentation to filter search by directory type 2019-02-19 07:21:02 +01:00
sharkdp
7f58e8f706 Update man page 2019-02-13 20:04:37 +01:00
sharkdp
f1ab443dd0 Update USAGE in README 2019-02-13 19:58:27 +01:00
sharkdp
acd4910f2c Update dependencies 2019-02-13 19:53:48 +01:00
sharkdp
c83bcfbdfc Bump version number 2019-02-13 19:50:50 +01:00
Alexandru Macovei
c2b46f247f avoid cloning command, in the wake of 9d26b74 2019-01-30 20:42:43 +01:00
Alexandru Macovei
fe53af064b fix most clippy lints 2019-01-26 16:15:48 +01:00
Alexandru Macovei
6aa87f3423 save one indent level in error handling for add_ignore 2019-01-26 16:15:48 +01:00
Alexandru Macovei
74e593c43c inline value used only once 2019-01-26 16:15:48 +01:00
Alexandru Macovei
df4227c614 Uniform names for config and wants_to_quit. Pass Arc's by ref. 2019-01-26 16:15:48 +01:00
Alexandru Macovei
5ade72a5e1 split spawn_receiver(..) and spawn_senders(..) from scan(..).
This is just a split commit, refraining from renaming too much.

The drop(tx) call is no longer necessary, as the first sender
is dropped at the end of spawn_senders(..)
2019-01-26 16:15:48 +01:00
Alexandru Macovei
d8bd5f9d51 macronize repetitive tests in exec/input 2019-01-26 16:15:48 +01:00
sharkdp
85f9db0565 Add troubleshooting section, closes #386 2019-01-09 23:06:54 +01:00
sharkdp
2672d84160 Add section about catch-all patterns, closes #385 2019-01-09 23:06:54 +01:00
sharkdp
8cfdcf43f6 Lock stdout only once 2019-01-09 08:20:20 +01:00
sharkdp
8c197d2866 Update to new lscolors version 2019-01-08 21:28:43 +01:00
Alexandru Macovei
051ff5987a [2018 edition] remove all extern crate lines from sources 2019-01-07 12:52:30 +01:00
Alexandru Macovei
630f173724 [2018 edition] enable 2018 edition 2019-01-07 12:52:30 +01:00
Alexandru Macovei
64e6ea9fe9 [2018 edition] run cargo fix edition and edition-idioms 2019-01-07 12:52:30 +01:00
sharkdp
33feb511f0 Formatting 2019-01-01 17:40:53 +01:00
sharkdp
985fab16bb Add note about short and long help text, closes #286 2019-01-01 17:40:30 +01:00
sharkdp
a17a3fe5ef Add comment about hidden files/directories, see #377 2019-01-01 16:31:06 +01:00