Commit Graph

100 Commits (642a6369f3daa77de7b72235d35a0cb32aa9470b)

Author SHA1 Message Date
Rafał Mikrut 642a6369f3 Update authors, translations, changelog, fix issue with translation 2 years ago
ChihWei Wang c64ab05648
Add exclude other filesystems option (#673) 2 years ago
Rafał Mikrut aa07d73bca
Case insensitive name checking (#669)
* Case insensitive checking in name duplicates

* Hide instead disable
2 years ago
Rafał Mikrut 12a873ff66
Hardlinking fix for Windows (#668) 2 years ago
Rafał Mikrut a0d17fccea
Release 4.0 and do "small" refactoring to fix problems with packing (#593) 2 years ago
Rafał Mikrut f54934df49
Changes part 2 (#578) 2 years ago
Rafał Mikrut ed4b721665
Random Changes (#576)
* Random Changes

* Urra

* ABC
2 years ago
Rafał Mikrut 74e4ab5263
Decrease used memory to prevent stack overflow (#563) 2 years ago
Rafał Mikrut aaa5885326
Add cache support to similar music files (#558)
* Simplify cache code

* Better saving/loading.
Add support for loading/saving json files in release mode

* Broken files cache

* Finally same music cache
2 years ago
Peter Blackson 51df63b8ea
Implement DirTraversal (#531)
* Implement DirTraversal

* rustfmt

* Fix for options

* Fix entries

* Fix symlinks

* Fix other entry type
2 years ago
Rafał Mikrut de964ce40d
Handle image crashes (#530)
* Don't crash when checking images

* Don't crash when checking images

* Don't crash when checking images

* HERE

* REME

* REE
2 years ago
Rafał Mikrut c4f26883b1
Add reference folders (#516)
* Add reference folder

* Basic tree view cleaning

* Computations

* Similar Images

* Muzyka i Wideo

* Podwójne dwa razy, cztery razy!

* Rozmiar i Nazwa

* Spanko i działanko(przynajmniej zdaje mi się że działa)

* Translatanko
2 years ago
Rafał Mikrut 5db5d17afb
Use max line length 180 instead 250 (#515)
This was a little too big value.
I don't like too much too small values, because code looks ugly.
2 years ago
Rafał Mikrut 0a924d2355
Improve translations (#507)
* Improve translations

* Imports
2 years ago
Rafał Mikrut c8ade1fb0f
Use system language when available (#506)
* Use system language when available

* Use clippy nightly
2 years ago
Rafał Mikrut cf668d02a7
Implement threaded search in rest of modes(except empty folders) (#504)
* Implement threaded search in rest of modes(except empty folders)

* Add more tools in gui to use allowed extension

* Change progress window to modal

* Nazair

* Clippy
2 years ago
Peter Blackson 859e01b30e
Parallel BFS with Rayon (#502)
* Tester

* Parallel BFS with Rayon

* Rustfmt

* Refactor code

* Use `extend` instead of `append`

* Remove no longer needed derives
2 years ago
Rafał Mikrut 975b285c1f
Make UI take less space (#500) 2 years ago
Rafał Mikrut f334bd6975
Add better custom selecting (#479) 2 years ago
Rafał Mikrut 1fd53b854b
Add prehash cache support (#477) 2 years ago
Rafał Mikrut 51271dcdf0
Remove HashMB mode (#476)
* Remove HashMB mode

* Add some explanation and remove this from GUI

* Not needing to handle everything
2 years ago
Rafał Mikrut 4871016a3c
Add option to not remove outdated cache entries (#472)
* Add option to not remove outdated cache entries

* Default duplicates cache size lowered to 512 KB

* Add some tooltips,
Add logic to opening cache/config folders

* Add option to clear cache files from outdated results(manually)
2 years ago
Rafał Mikrut cf2e822435 Reformat code with idea tool 2 years ago
Rafał Mikrut b7e4eaccaf Modified include organization 2 years ago
Rafał Mikrut d302c3b2d8 Update cache creating 2 years ago
Rafał Mikrut 29129d3ec0
Support for finding similar videos (#460)
* Add support for similar videos to CLI

* Add GUI support for similar videos

* Video duplicates

* git_dup

* Documentation
3 years ago
Rafał Mikrut 742139379c
Add better errors explanation(native from libraries) (#446) 3 years ago
Rafał Mikrut a92a113714
Add maximum file size (#407)
* Add maximum file size

* Add maximum file size
3 years ago
Rafał Mikrut da76f75e11
Update Rust to 1.54 (#400) 3 years ago
Rafał Mikrut 4fc8655272
Sort cache and allow to optimize later other code (#322) 3 years ago
Rafał Mikrut b08cedd5a6
Allow to set minimal file size to caching (#321) 3 years ago
Rafał Mikrut 775b6b4f10
Fix crashes with too small message queue (#316) 3 years ago
Rafał Mikrut 0fa6692d39
Fix error with saving results of name duplicates (#307) 3 years ago
Rafał Mikrut 50ad3f9873
Update to Rust 1.5.1 (#302) 3 years ago
Rafał Mikrut 17f97bd958
Add option to turn off cache (#263) 3 years ago
Thomas Andreas Jung 1d904a858e
Dryrun for duplicates (#277)
```
    czkawka_cli dup --dryrun -d $(pwd)/folder -m1 -D aen
    Found 2 duplicated files in 1 groups with same content which took 2 B:
    Size - 2 B (2) - 2 files
    /home/thomas/Development/czkawka/folder/a
    /home/thomas/Development/czkawka/folder/b
    ----

    -------------------------------MESSAGES--------------------------------
    Delete /home/thomas/Development/czkawka/folder/a
    Delete /home/thomas/Development/czkawka/folder/b
    ---------------------------END OF MESSAGES-----------------------------
    ```
3 years ago
Thomas Andreas Jung ed7b197100
Use one implementation for all duplicate file removales (#278) 3 years ago
Rafał Mikrut 13add1cbed
Add hardlinking support for GUI (#276) 3 years ago
Rafał Mikrut 4c770b582b
Add option to not ignore hard links (#273) 3 years ago
Thomas Andreas Jung e3457edab2
Use one implementation for all hash calculations (#268)
All implementations are the same they only differ by hasher and the file read
limit.
3 years ago
Thomas Andreas Jung 1e94587de8
Ignore duplicates if those are hard links (#234)
This is a proof of concept.

```
$ echo a > hardlinks/a
$ cp hardlinks/{a,b}
$ ln hardlinks/{a,c}
$ cargo run --bin czkawka_cli dup -m 1 --directories $(pwd)/hardlinks -f /dev/stderr > /dev/null
-------------------------------------------------Files with same hashes-------------------------------------------------
Found 1 duplicated files which in 1 groups which takes 2 B.

---- Size 2 B (2) - 2 files
/home/thomas/Development/czkawka/hardlinks/a
/home/thomas/Development/czkawka/hardlinks/b
```

Open:
- Windows support
- Probably this should be a cli option
3 years ago
Thomas Andreas Jung 03d41e173f
Keep original file if replacing duplicate with hardlink fails (#253)
If the user could not create a hard link (due to permissions or
different block devices) then czkawka lost the duplicate file.

```
$ mkdir hardlink
$ cd hardlink
$ echo a > a
$ cp a b
$ chown thetestuser:thetestuser a
$ ls -il .

25169246 -rw-rw-r-- 1 thetestuser thetestuser 2 Feb  7 11:18 a
25169641 -rw-rw-r-- 1 thomas      thomas      2 Feb  7 11:18 b

$ cargo run --bin czkawka_cli dup --directories $(pwd) -m 1 -f
test101.result --delete-method HARD

[...]
-------------------------------WARNINGS--------------------------------
Failed to link /home/thomas/Development/czkawka/hardlink/b ->
/home/thomas/Development/czkawka/hardlink/a
---------------------------END OF WARNINGS-----------------------------

$ ls -il .
25169246 -rw-rw-r-- 1 thetestuser thetestuser 2 Feb  7 11:18 a
```

Now czkawka keeps all files and the warning provides more information
why czkawka can't replace the duplicate with a hard link.

```
$ cargo run --bin czkawka_cli dup --directories $(pwd) -m 1 -f
test101.result --delete-method HARD

-------------------------------WARNINGS--------------------------------
Failed to link /home/thomas/Development/czkawka/hardlink/b ->
/home/thomas/Development/czkawka/hardlink/a (Operation not permitted (os
error 1))
---------------------------END OF WARNINGS-----------------------------
[...]

25169246 -rw-rw-r-- 1 thetestuser thetestuser 2 Feb  7 11:18 a
25169641 -rw-rw-r-- 1 thomas      thomas      2 Feb  7 11:18 b
```
3 years ago
Thomas Andreas Jung 3ffa55b008
Add delete method to replace duplicate files with hard links (#236)
This results in the same space saving but keeps the "deleted" files around.

$ mkdir hardlink
$ cd hardlink
$ echo a > a
$ cp a b
$ ln a c
$ touch -t 01010000 a
$ ls -il --time-style=full-iso .
25169323 -rw-rw-r-- 2 thomas thomas 2 2021-01-01 00:00:00.000000000 +0100 a
25169558 -rw-rw-r-- 1 thomas thomas 2 2021-01-31 18:11:08.298161098 +0100 b
25169323 -rw-rw-r-- 2 thomas thomas 2 2021-01-01 00:00:00.000000000 +0100 c

$ czkawka_cli dup --directories $(pwd)/hardlink -m 1 -f hardlink.result --delete-method HARD

$ ls --time-style=full-iso -li hardlink
25169323 -rw-rw-r-- 3 thomas thomas 2 2021-01-01 00:00:00.000000000 +0100 a
25169323 -rw-rw-r-- 3 thomas thomas 2 2021-01-01 00:00:00.000000000 +0100 b
25169323 -rw-rw-r-- 3 thomas thomas 2 2021-01-01 00:00:00.000000000 +0100 c
3 years ago
Rafał Mikrut 9f3da0e70f
Add support for CRC32 and XXH3 hash (#243) 3 years ago
Rafał Mikrut 7d8334bb0c
Add template for multiple hashes (#240) 3 years ago
Rafał Mikrut 49ddc041ee
Add about dialog (#226) 3 years ago
Rafał Mikrut e1beaeed28
Decrease ram usage (#212) 3 years ago
Rafał Mikrut 7ec665ab7a
Add cache for duplicate (#205) 3 years ago
Rafał Mikrut 7992ba30de
Fix included/excluded files which contains commas (#195) 3 years ago
Rafał Mikrut 9975605f75
Add buffered write/read (#186) 3 years ago