Ticket Hash: | b277fe07a0b7eb4fdff4b2541147d43c1c972091 | ||
Title: | Referencing a file with an absolute path inside of the repository doesn't work | ||
Status: | Closed | Type: | Code_Defect |
Severity: | Minor | Priority: | |
Subsystem: | Resolution: | Unable_To_Reproduce | |
Last Modified: |
2024-01-31 05:13:02 1.46 years ago |
Created: |
2011-03-11 21:18:58 14.35 years ago |
Version Found In: | c92ec16f81 |
Description: | ||||
% fs di ~user/src/test/foo.txt fossil: file outside of checkout tree: /home/user/src/test/foo.txt Exit 1 Super easy to reproduce. Pretty cosmetic, but it'd be nice to see fixed. When using deeply nested directories, this becomes a "nice to have." Using a relative path works: % fs di ../../../../../foo.txt # diff output anonymous claiming to be mgagnon added on 2011-03-11 22:25:16 UTC: $ pwd /home/mgagnon/fossil/fossil-scm/src/asd/fsad/fas/dfa/sdf/asdf/as/dfas/dfa/sdf/asdf/asd/fa/sdfa/sdf/asd/fas/df/asdf/asd/fas/df/asdf/d $ fossil di ~/fossil/fossil-scm/src/file.c --- /home/mgagnon/fossil/fossil-scm/src/file.c +++ /home/mgagnon/fossil/fossil-scm/src/file.c @@ -537,11 +537,11 @@ }if( nFull<=n || memcmp(g.zLocalRoot, zFull, n) ){ blob_reset(&full); if( errFatal ){ - fossil_fatal("file outside of checkout tree: %s", zOrigName); + fossil_fatal("file outside of checkout tree: \"%s\", zLocalRoot: \"%s\", zFull: \"%s\"", zOrigName, g.zLocalRoot, zFull); } return 0; } blob_append(pOut, &zFull[n], nFull-n); return 1; It seems to work for me.. anonymous claiming to be seanc added on 2011-03-12 17:18:14 UTC: 9:14 sean@somehost-98 % fs info project-name: <unnamed> repository: /Users/sean/src/.fossils/fossil-test-repository local-root: /private/tmp/fst/ project-code: 70164ac6b1269749f782f3dfce03f9cae7fc0c64 server-code: 4d7de95913a31ac17b29e29e96794b42d2575025 checkout: b006a48a67d94f6acedde8fc26bc44d5ab793b79 2011-03-12 17:04:53 UTC parent: 72ede87aa33fb39c8fac6c72adb1c5dc69260597 2011-03-12 17:03:15 UTC tags: trunk comment: files ended up in the wrong dir (user: sean) 9:14 sean@somehost-98 % fs ls foo/bur/baz/file1.txt foo/bur/baz/file2.txt test.sh 9:14 sean@somehost-98 % pwd /tmp/fst/foo/bur/baz 9:14 sean@somehost-98 % echo asdf >> file1.txt 9:14 sean@somehost-98 % ll total 16 -rw-r--r-- 1 sean wheel 11 Mar 12 09:14 file1.txt -rw-r--r-- 1 sean wheel 6 Mar 12 09:03 file2.txt 9:14 sean@somehost-98 % fs di /tmp/fst/foo/bur/baz/file1.txt fossil: file outside of checkout tree: /tmp/fst/foo/bur/baz/file1.txt Exit 1 9:15 sean@somehost-98 % fs di file1.txt --- file1.txt +++ file1.txt @@ -1,1 +1,2 @@ test1 +asdf anonymous claiming to be mgagnon added on 2011-03-12 18:34:07 UTC: /tmp is a symlink to /private/tmp. Probably that's what cause the problem. This should be fixed on fossil I guess.. but if you try to specify /private/tmp/rest/of/path instead.. it should work.. | ||||
User Comments: | ||||
added on 2024-01-31 05:13:02:
Closing as part of periodic cleanup. |