Why is the database format (GRDB) not portable?
The biggest issue with GRAMPS portability lies with ‘transactions’. With GRAMPS 2.2, we added support for atomic transactions to protect data. With atomic transactions, multiple changes are committed as a single unit. Either all the changes make it, or none of the changes make it. You are never left in a situation with a partial set of changes. A side benefit of using transactions is that database access (reads and writes) are faster. The problem with transactions (at least using BSDDB) is that it does not allow all the data to be stored in a single file. Logging files are needed to keep track of things. These logging files are kept in a DB Environment directory. We need a separate directory for each file, otherwise the log files can interfere with each other. In 2.2, we keep the log files under the ~/.gramps/