Fossil SCM
"fossil add" broken for repos opened into "/"
ee97701f4c5a7db…
· opened 15 years ago
- Type
- Code_Defect
- Priority
- —
- Severity
- Minor
- Resolution
- Fixed
- Subsystem
- —
- Created
- March 17, 2011 11:38 p.m.
When a fossil repository has been opened from the root directory ("/"), the attempt to "fossil add" a file results in:
fossil: file outside of checkout tree:
Trying to add a whole subdir additionally prints out a SQL error message:
fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress
But once a file has been added (e.g. from a "mount -obind" of / to a subdir), it can be committed from / just fine.
anonymous added on 2011-05-03 15:40:34 UTC: The issue likely comes from the use of
zPwdConv = mprintf("%/", zPwd);
in db_must_be_within_tree()->db_open_local().
This severely limits the usability of fossil for system configuration management. The mentioned workaround (mount -orebind) is only useful for Linux (FreeBSD's unionfs & nullfs do not allow such trickery with the root filesystem).
Comments (1)
Fixed On checkin: [af194dbb16]