The attached patch, cherry-picked from the git repository, fixes the problem. The original patch was from the db.py file, but the affected code is still in configuration.py in the current Debian version.
-- Scott Barker sc...@mostlylinux.ca Linux Consultant http://www.mostlylinux.ca/scott
diff -urbBw hamster-applet-2.30.2/src/hamster/configuration.py hamster-applet-2.30.2.local1/src/hamster/configuration.py --- hamster-applet-2.30.2/src/hamster/configuration.py 2010-11-26 09:39:22.000000000 -0700 +++ hamster-applet-2.30.2.local1/src/hamster/configuration.py 2010-11-26 09:35:39.000000000 -0700 @@ -91,7 +91,11 @@ if gio_file.query_info(gio.FILE_ATTRIBUTE_ETAG_VALUE).get_etag() == self.last_etag: # ours return + elif event == gio.FILE_MONITOR_EVENT_CREATED: + # treat case when instead of a move, a remove and create has been performed + self.storage.con = None + if event in (gio.FILE_MONITOR_EVENT_CHANGES_DONE_HINT, gio.FILE_MONITOR_EVENT_CREATED): logging.info("DB file has been modified externally. Calling all stations") self.storage.dispatch_overwrite()