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

Reply via email to