I have a Fossil repo with a few convenience symlinks in it.  They exist just to 
reduce the apparent directory depth in a few places.  

I’ve enabled allow-symlinks, since without that, Fossil misbehaves.  But with 
the setting enabled, Fossil refuses to dereference a symlink, which causes 
usability problems:

  mkdir tmp
  cd tmp
  f new ../x.fossil
  f open ../x.fossil 
  mkdir -p foo/bar
  echo 'stuff' >> foo/bar/qux
  f add foo/bar/qux
  f ci -m 'added qux'
  f set allow-symlinks 1
  ln -s foo/bar .
  f add bar
  f ci -m 'added convenience symlink'
  echo 'stuff' >> bar/qux
  f ci bar -m 'added stuff'   # claims nothing has changed!
  f finfo bar/qux             # claims no history for file!

If you repeat the same test except without the “f set” command, it appears to 
work as expected, but on reopening the repository, you have a real bar 
directory containing a second qux file.  That second file has the same contents 
as foo/bar/qux initially, but it’s an independent file, so changes to one don’t 
affect the other.

I can see why Fossil might not want to blindly dereference a symlink, in case 
it points outside the Fossil-managed checkout tree, but why refuse in this case?
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to