Well, thank you all, pals! I'll try darcs in near future.
As for me I try to make each commit to present a project's state which compiles; I like when commit have a description with easy to follow diffs (so all staged chages should be logically connected). Sometimes I'm squashing minor commits into larger one.
The worst disadvantage is that I got used to `magit` very much. Is there anyone who tried (or thought at least) to implement something similar for Darcs?