There are three problems here:
- In any merge, you always collide horribly on the ChangeLog, and it just makes working with more than one person and/or branch nigh on impossible, so you lose all the benefits of an RCS that actually supports merging.
- git gives you a system with very lightweight microcommits: in your local tree, you can easily amend, rebase, modify, and walk back, before you push. So, instead of queuing up ten million things such that you need a complicated changelog, do lots of little, relatively self-explanatory commits.
- Even when you have complicated commits that require explanation (e.g.), just make the commit log sufficiently verbose, so that git blame, gitweb, and any other tool, can offer people the full context, rather than making them dive into an unrelated file and remember the exact date, etc. In X, we just generate ChangeLog from git log, and we're really happy with that so far.