/TODO (4699616f54bc9be1acd4b252ddd76b75e9eeb48a) (2216 bytes) (mode 100644) (type blob)

== Critical ==
[ ] 

== Non-critical
[ ] optimization: already visited dirs, should not be visited again,
	same as with files.
[ ] xmalloc: we abort if we cannot alloc memory, so do not test for null.
[ ] test14: we should not skip hard links. we only need to cache the
	data and use it. Take care to not delete it!
[ ] We nay have also hard linked directories. Deal with it!
[ ] Add --exclude para and use the dev+inode to build a list to exclude dirs.
[ ] Auto run cppcheck!
[ ] 'level' should be int till the end.
[ ] Hard links (t_014) may be not correct. I think we ignore links and
	for matching dirs this may be a problem. Think about.
[ ] Sort dumping by size saved (option)?
[ ] Dump also how much we can save by deleting. Isn't is already in can_save
	and already reported?
[ ] Ignore empty dirs?
[ ] Warn users in man, to never delete some dirs/files that appear on the
	left side. Only from the right.
[ ] dev_ino: use blocks of structs.
[ ] Fix man with regarding the example.
[ ] Add -fno-guess-branch-probability when all braches are tagged.
[ ] Add some progress bar?
[ ] Maybe -v should be the default and -q (--quiet) to be added.
[ ] When big files are hashed, print the file name?
[ ] Lazy compute hash on files. Only if we have a match we will incrementally
	compute the checksum.
[ ] Adapt man file to recent changes: flags etc.
[ ] Ignore empty files. We have min_size. Should be default to 1?
[ ] 1-bit fields are not printed as %hhu!
[ ] Because we ignore !dir and !files, we may not have really identical
	directories. In one of them we may have a socket, for example.
	Add a reporting flag for this situation. Or, do not ignore other
	type of files.
[ ] I must document a high level view over "algorithm". Even myself
	I do not remember what I am doing...
[ ] Use fadvise to not cache data in RAM.
[ ] Set read-ahead when reading full files.
[ ] Use more threads

[ ] Strange case:
	dir1
		dir2
		dir3=dir4
	dir4=dir3

[ ] We could throw away unique files.
[ ] Comparing in O(N*N) sucks! Where?
[ ] Dump in stats also the max memory (peak) used.
[ ] Maybe, for flag 'M', list files that were renamed (cmd line flag).
[ ] Use a cache, specified by command line. Use inode and mtime as key?


Mode Type Size Ref File
100644 blob 20 85940595c7c3a70ebc0bd5da9b35bc6b6a16a71a .exclude
100644 blob 105 9e50f3bfb5cc392fa65019aef80cab5093162bd2 .gitignore
100644 blob 35147 94a9ed024d3859793618152ea559a168bbcbb5e2 LICENSE
100644 blob 635 5ec5fadb5ab8ec7839ca5f11414aa2a855cffa03 Makefile.in
100644 blob 2627 9f4bbb9647e9fea4e861fa9a04bf32a716a2da05 README
100644 blob 2216 4699616f54bc9be1acd4b252ddd76b75e9eeb48a TODO
100755 blob 31 382d4ea2c0c98b1b25ea01f1e194cfc4990ac527 configure
100755 blob 15674 c93b35dad5dedf498b90aafcbf409a4844b1bc8c duilder
100644 blob 807 741ea33bf42f98943be21be26fc7e1b6b38d8378 duilder.conf
100644 blob 2040 22eee88f6126c7effa781bcb8fde0c58ca487731 dupdump.1
100644 blob 3981 c59d9bbf4076703d2ffc82502f91595393199bce dupdump.c
100644 blob 805 a992c9f287eb58cd910aca63c6e009526ec2595f dupdump.spec.in
100755 blob 205 677395e91b18c8272dc795ace0d17ec5610e2d70 process.sh
100644 blob 30737 8f737a70836f0180a635351bfd342d2d0efbfe89 store.c
100644 blob 1916 113ca447b857e1890ad0db35a95a06849330b8db store.h
040000 tree - 2f1796ebce0f596969d86738ee6b635521296929 tests
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/dupdump

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/dupdump

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/dupdump

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main