Ticket UUID: | 77ab05a0e9d890599c3241f7025de68f9c250604 | ||
Title: | Moving files doesn'trespect directory structures | ||
Status: | Open | Type: | Code_Defect |
Severity: | Important | Priority: | |
Subsystem: | Resolution: | Duplicate | |
Last Modified: | 2011-02-11 18:33:03 | ||
Version Found In: | 81ad6e2e20 | ||
Description & Comments: | |||
Here is a transcript of me trying to move files to a new subdirectory in the latest Fossil:
]0;nolan@nolan-desktop: ~/Projects/Hermes/Webnolan@nolan-desktop:~/Projects/Hermes/Web$ fossil mv src/main/scala/info/hermesg ps/web/* src/main/scala/code RENAME src/main/scala/info/hermesgps/web/api/V1.scala src/main/scala/code/V1.scala RENAME src/main/scala/info/hermesgps/web/comet/.keep src/main/scala/code/.keep RENAME src/main/scala/info/hermesgps/web/comet/Geolocation.scala src/main/scala/code/Geolocation.scala RENAME src/main/scala/info/hermesgps/web/comet/ImportMonitor.scala src/main/scala/code/ImportMonitor.scala RENAME src/main/scala/info/hermesgps/web/comet/Search.scala src/main/scala/code/Search.scala RENAME src/main/scala/info/hermesgps/web/lib/.keep src/main/scala/code/.keep fossil: SQLITE_CONSTRAINT: abort at 34 in [UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042]: columns pathname, vid are not unique fossil: columns pathname, vid are not unique UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042 If you have recently updated your fossil executable, you might need to run "fossil all rebuild" to bring the repository schemas up to date. fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress ]0;nolan@nolan-desktop: ~/Projects/Hermes/Webnolan@nolan-desktop:~/Projects/Hermes/Web$ fossil rebuild ]0;nolan@nolan-desktop: ~/Projects/Hermes/Webnolan@nolan-desktop:~/Projects/Hermes/Web$ fossil rebuild ... $ fossil mv src/main/scala/info/hermesgp ps/web/* src/main/scala/code RENAME src/main/scala/info/hermesgps/web/api/V1.scala src/main/scala/code/V1.scala RENAME src/main/scala/info/hermesgps/web/comet/.keep src/main/scala/code/.keep RENAME src/main/scala/info/hermesgps/web/comet/Geolocation.scala src/main/scala/code/Geolocation.scala RENAME src/main/scala/info/hermesgps/web/comet/ImportMonitor.scala src/main/scala/code/ImportMonitor.scala RENAME src/main/scala/info/hermesgps/web/comet/Search.scala src/main/scala/code/Search.scala RENAME src/main/scala/info/hermesgps/web/lib/.keep src/main/scala/code/.keep fossil: SQLITE_CONSTRAINT: abort at 34 in [UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042]: columns pathname, vid are not unique fossil: columns pathname, vid are not unique UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042 If you have recently updated your fossil executable, you might need to run "fossil all rebuild" to bring the repository schemas up to date. fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress anonymous claiming to be nolan@thewordnerd.info added on 2011-02-11 16:00:31 UTC: fossil mv some/package/directory/* another/directory What I'd expect to happen is that Fossil will move all the files, honoring the directory structure. So if I had some/package/directory/lib/Lib.scala, I'd expect to find that in another/directory/lib/Lib.scala. What it did in this instance, unfortunately, was to attempt flattening the structure. That is, all files in the first directory were indiscriminately dumped into the second without subdirectories. Fortunately it failed or I might not have spotted it until I committed the change. The failure was caused by there being .keep files in some of the subdirectories such that they'll still exist even if empty. Fossil tried dumping these multiple files into the wrongly-flattened directory, and SQLite threw a constraint complaint. Thanks, let me know if you need any more details. anonymous claiming to be sean added on 2011-02-11 18:33:03 UTC: |