The solution I use is to create a shared repository at jobs root folder.
With this solution :
- history is not in workspace and not wiped out
- initial branching is faster if the branch has common history with an other job
I do this by :
$ cd $HUDSON_HOME/jobs/
$ bzr init-repo .
Then future jobs from Bazaar will use the shared repository.
If you want to reconfigure existing jobs :
$ cd $HUDSON_HOME/jobs/
$ for job in $(\ls); do bzr reconfigure --use-shared $job; done
I'll take a look for creating the shared repository at first branching (maybe then use checkouts and not branches).
Yes, I've noticed this too.
The most annoying part is how "clean build" wipes out the entire recent changes history.