Gnucash accounts file gets removed when you tell Gnucash to save your changes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu One Client |
Triaged
|
High
|
Ubuntu One Client Engineering team |
Bug Description
I have my gnucash files in a folder synced with U1, and every time I save changes on Gnucash the main accounts file ends up removed from the server, even though it still exists locally. Once it gets into this state the only way I managed to re-upload the file was to quit the syncdaemon (u1sdtool -q) and then start it again (disconnecting/
From the syncdaemon.log (attached), it looks like that file (gnucash-
To reproduce this one just needs to create a new book on gnucash (following the startup wizard), save that book on a newly created directory, sync that directory on U1 and then enter a transaction into Gnucash and save it. After that the <book>.gnucash file will be removed from the server.
Changed in ubuntuone-android-files: | |
importance: | Undecided → High |
affects: | ubuntuone-android-files → ubuntuone-client |
Changed in ubuntuone-client: | |
assignee: | nobody → Ubuntu One Desktop+ team (ubuntuone-desktop+) |
status: | New → Triaged |
tags: | added: desktop+ |
So, I've checked Gnucash's code and this seems to be a consequence of it using hard links, which are not supported by U1. When you hit save on Gnucash, it will:
1. create a new file (e.g. book.gnucash. tmp-xxxxxx) and writes all your data to it tmp-xxxxxx
2. remove the existing file (e.g. book.gnucash)
3. re-create book.gnucash as a hard-link (on OSs that support that) to book.gnucash.
This has already been reported, though (bug 809370), so I'm marking it as a dupe and will see if I can fix it