Closed michaelbartnett closed 8 years ago
Shouldn't projectile be looking for _FOSSIL_
or .fslckout
, instead of .fossil
? See fossil_reserved_name
in add.c.
That's the checkout database, which is different from the repository database.
The documentation implies that common practice is to name the repo database as "project-name.fossil": http://fossil-scm.org/index.html/doc/trunk/www/tech_overview.wiki
I don't use fossil often enough to know if people follow that convention or a different one.
That's the checkout database,
Yes, exactly. The checkout, where all the code for your project is checked out. .fslckout
is equivalent to the .svn
directory, and ~/.fossil
is like ~/.subversion
.
Personally, I have my repository databases stored in one directory, as in fossil.d/project1-name.fossil
, fossil.d/project2-name.fossil
... That way I can run fossil serve --localauth fossil.d
and get a list of all projects.
The documentation implies that common practice is to name the repo database as "project-name.fossil": http://fossil-scm.org/index.html/doc/trunk/www/tech_overview.wiki
I don't use fossil often enough to know if people follow that convention or a different one.
Regardless, I don't think anybody names it literally .fossil
, as it seems projectile is searching for.
Oh! I see now, you're totally right. It should be looking for .fslckout
or _FOSSIL_
. Is _FOSSIL_
the name on windows?
_FOSSIL_
is the older name, it was renamed to .fslckout
at some point, not sure exactly when, but existing checkouts still use the older _FOSSIL_
name regardless of fossil version.
Same problem as #865, but I think projectile is doing the wrong thing here.
Expected behavior
Project without a VCS is able to list files when Fossil is installed, and there is a global fossil configuration database in the usual location.
Actual behavior
Projectile interprets Fossil's global configuration database as a VCS checkout since it's located at
~/.fossil
:https://www.fossil-scm.org/index.html/doc/trunk/www/tech_overview.wiki
This means that any non-VCS project created under my home directory can't list files correctly, reporting:
current directory is not within an open checkout
.Steps to reproduce the problem
Init a fossil repo somewhere so that the configuration database will be created
Start a new projectile project and a file in it
Try to open the other file in the project (
C-c p f
). Instead of a file list, you'll see this message that projectile forwards from fossil:Environment & Version information
Note: fossil installed via homebrew. Probably not relevant.
Projectile version information
Emacs version
GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, Carbon Version 157 AppKit 1265.21)
Operating system
MacOS 10.9.5
My Workaround
Special casing fossil in
projectile-project-vcs
to ignore a.fossil
file if it's in the home directory worked for me. I don't know how portable using(expand-file-name "./" "~")
is.