@Michael yes, you can. The fix is in three parts:
a) make sure that we don't have any code paths that set the entire conf without reading it immediately and none that edit the file in place.
b) add a LockDir around the read-edit-write component of changing the config file (possibly around all edits to ~/.bazaar in fact). I suggest ~/.bazaar/lock as the path of the lock.
c) We'll need some docs to say that there is a lock being taken, and how to release it if bzr is kill -9'd while holding it. This may mean making 'break-lock' accept the url of a lock as well as the current url of a control dir. Or something.
@Michael yes, you can. The fix is in three parts:
a) make sure that we don't have any code paths that set the entire conf without reading it immediately and none that edit the file in place.
b) add a LockDir around the read-edit-write component of changing the config file (possibly around all edits to ~/.bazaar in fact). I suggest ~/.bazaar/lock as the path of the lock.
c) We'll need some docs to say that there is a lock being taken, and how to release it if bzr is kill -9'd while holding it. This may mean making 'break-lock' accept the url of a lock as well as the current url of a control dir. Or something.