View Ticket
Not logged in
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:
I did a bit more digging on this. What I'm attempting to do is to move a bunch of Scala code into another package, so I ran something like:

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:
This is a duplicate of ticket [9f0120fb739aa19c3d4d84bf0fa5f289fd50d9c6] and should be closed.