A .gitignore/.bzrignore file for packages only versioning debian/
At the moment I keep my packages in Bazaar branches. I only version the debian/ subdir (whereas I have the .bzr directory at the same level as debian, i.e. not debian/.bzr). I do that because then $VCS operations work without having to be under debian.
One drawback is that the output of status is a bit too noisy, with lots of “unknown” files (all the upstream files). I address that by aliasing bzr std to “bzr status debian”.
With git, one could just have the following:
% cat .gitignore
/*
!/debian
/debian/files
...
Update: One of the Bazaar guys, Wouter van Heyst, points out on IRC that bzr can do it as well:
% cat .bzrignore
RE:(?!debian/).*
./debian/files
...
In fact, possibly more: lines starting with RE: are interpreted as Python regular expressions.