Hello, I'm new to Fossil SCM, have not used any other SCMs, and am trying to do something relatively complex for me. It involves moving from a model where files are directly added to my repo, rather than being organized in the repo within directories.
I had my project organized as: project/ * <non versioned project files> * foo.fossil - versioned file repo. * foo.xcodeproj - project configuration in Apple Xcode's format. * sourcecode/ - source code files and check out directory. I want to reorganize, and so I have: * moved (on my file system) foo.xcodeproj into the sourcecode/ dir. * renamed (on my file system) sourcecode/ to source/. * moved (on my file system) source code files from source/ into source/code/. I also want to change from my check out being in source, to /containing/ source. So in my above file system layout, I want to promote my foo.fossil from project/code, to project/, so when it's checked out it produces a single directory named "source". (As I expand use of Fossil SCM, I'll add other project/dirs) I ran into some problems and would appreciate help. " Last login: Thu Dec 13 23:41:48 on console notebook:~ ktk$ cd source/ notebook:source ktk$ ls -l total 0 drwxr-xr-x 25 ktk staff 850 Dec 15 22:37 code drwxr-xr-x 5 ktk staff 170 Dec 15 22:39 foo.xcodeproj notebook:source ktk$ ls -la total 40 drwxr-xr-x 6 ktk staff 204 Dec 15 22:37 . drwxr-xr-x 6 ktk staff 204 Dec 15 22:37 .. -rw-r--r--@ 1 ktk staff 6148 Dec 15 22:37 .DS_Store -rw-r--r-- 1 ktk staff 10240 Nov 30 22:31 .fslckout drwxr-xr-x 25 ktk staff 850 Dec 15 22:37 code drwxr-xr-x 5 ktk staff 170 Dec 15 22:39 foo.xcodeproj notebook:source ktk$ fossil changes MISSING foo.c MISSING foo.h notebook:source ktk$ fossil help mv Usage: fossil mv|rename OLDNAME NEWNAME or: fossil mv|rename OLDNAME... DIR Move or rename one or more files or directories within the repository tree. You can either rename a file or directory or move it to another subdirectory. This command does NOT rename or move the files on disk. This command merely records the fact that filenames have changed so that appropriate notations can be made at the next commit/checkin. See also: changes, status notebook:source ktk$ fossil help (At this point I was looking to see if I needed to "fossil mkdir code" to "fossil mv foo.h code/") Usage: fossil help COMMAND Common COMMANDs: (use "fossil help --all" for a complete list) add clean gdiff mv rm timeline addremove clone help open settings ui all commit import pull sqlite3 undo annotate diff info push stash update bisect export init rebuild status version branch extras ls remote-url sync changes finfo merge revert tag This is fossil version 1.24 [8d758d3715] 2012-10-22 12:48:04 UTC notebook:source ktk$ fossil help add Usage: fossil add ?OPTIONS? FILE1 ?FILE2 ...? Make arrangements to add one or more files or directories to the current checkout at the next commit. When adding files or directories recursively, filenames that begin with "." are excluded by default. To include such files, add the "--dotfiles" option to the command-line. The --ignore option is a comma-separate list of glob patterns for files to be excluded. Example: '*.o,*.obj,*.exe' If the --ignore option does not appear on the command line then the "ignore-glob" setting is used. The --case-sensitive option determines whether or not filenames should be treated case sensitive or not. If the option is not given, the default depends on the global setting, or the operating system default, if not set. Options: --case-sensitive <BOOL> override case-sensitive setting --dotfiles include files beginning with a dot (".") --ignore <CSG> ignore files matching patterns from the comma separated list of glob patterns. See also: addremove, rm notebook:source ktk$ fossil add code ADDED code/foo.c ADDED code/foo.h notebook:source ktk$ fossil changes (Thinking at this point "maybe Fossil can 'see' the missing files now, and they will be 'FOUND'?) MISSING foo.c MISSING foo.h ADDED code/foo.c ADDED code/foo.h notebook:source ktk$ fossil mv foo.c code/ RENAME foo.c code/foo.c fossil: SQLITE_CONSTRAINT: abort at 38 in [UPDATE vfile SET pathname='code/foo.c' WHERE pathname='foo.c' AND vid=55]: columns pathname, vid are not unique fossil: columns pathname, vid are not unique UPDATE vfile SET pathname='code/foo.c' WHERE pathname='foo.c' AND vid=55 If you have recently updated your fossil executable, you might need to run "fossil all rebuild" to bring the repository schemas up to date. notebook:source ktk$ " :( Thank you for any help. ^K _______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users