I have encountered a problem which is in a way trivial, but it is also somewhat important to me.
THE PROBLEM After creating a new repository and opening it, 'status' displays that it has been assigned a 'checkout' identifier; however, I am never able to access that 'checkout'. If I create a new branch off that origin, when I try to return to 'trunk', I receive a "not a check-in" error (I've included a transcript of a test session at the end of this post). MY GOAL I wish to use Fossil to maintain a directory of scripts and I would like to start a new branch whenever I create a new script, and to have that branch contain only the script file. In other words, if 'root' is the original empty check-in artifact, I want each script to be a branch off of 'root' (the scripts would be merged back to 'trunk'). A WORK-AROUND If I first check-in a commit to trunk that includes an ADDed file (even an empty one), I can then use the original check-in ('root') for starting branches -- successfully being able to merge those branches back to trunk. I can even later delete the empty-file and remove it from 'trunk'. WHY WORK-AROUND IS UNSATISFACTORY Though the above work-around completely satisfies my personal needs, I am hoping to introduce some absolute beginners -- to both programming and Source Configuration Management -- to using Fossil to organize their programming activities. It is less than ideal that amongst the very first steps in getting started, it is necessary to perform a somewhat unintuitive work-around (it wouldn't be so bad if it came later in the course). CONCLUSION While my goal is admittedly an edge case, and branching off an empty check-out may be rather unintuitive itself, I do think this behavior is somewhat anomalous and should probably be considered a bug. The original check-out is assigned an ID and one is able to branch from that ID, yet it is otherwise not recognized as a valid check-out of 'trunk'. This is by no means critical, but it did seem worth mentioning. If anybody has any suggestions for simpler work-arounds -- or maybe I missed something completely obvious -- please let me know. -------------------------- TRANSCRIPT OF TEST SESSION $ fossil new $HOME/foo.fossil project-id: 22cc9378e7e9c90aa69ab5de4d2158082e2b84c5 server-id: 4e110fd69e6c808f9b4b77da3450a674e51d0a5e admin-user: saul (initial password is "004d85") $ fossil open $HOME/foo.fossil $ fossil status repository: /home/saul/foo.fossil local-root: /home/saul/test/ server-code: 4e110fd69e6c808f9b4b77da3450a674e51d0a5e checkout: ed9081561d84e261b5a0f3aaf0531fdb530feb57 2010-07-26 21:57:18 UTC tags: trunk $ fossil branch new bar trunk New branch: aa562d8538bbdfa72c44dbf3a8cd14d1925d6db1 $ fossil co bar $ touch empty-file $ fossil add empty-file ADDED empty-file $ fossil commit New_Version: d5a946e783821ce9a79866e13f920ec02a092f31 $ fossil co trunk fossil: object [ed9081561d] is not a check-in _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users