Re: [fossil-users] basic usage question - empty directories
On 08/01/2016 11:01 PM, Ron W wrote: > On Mon, Aug 1, 2016 at 8:22 PM, Adam JensenIs there a way to run these scripts automatically after each checkout? > > > My team and I do this as part of the build procedure. Basically, we > treat those as part of the "product" being built, so when we do a "clean > check out", the first run of make will create those directories. We > don't need them before that. > Cool. I've looked at the Fossil project a few times during the last couple of years but I haven't used it before now (now means *today*) so I don't really have a grip on all of its capabilities yet. Subversion has "Repository Hooks" (a program triggered by some repository event); Fossil might have had a similar capability ... worth asking. ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
On 08/01/2016 10:25 PM, Steve Stefanovich wrote: > At the end, you didn't add the empty-dirs file. You need to do 'fossil add * > --dotfiles' or explicitly do 'f add .fossil-settings/empty-dirs', then > commit. Then a subsequent checkout will create the directories. > Thanks. Following John's documentation links (below) led to that basic understanding a little earlier today. I also discovered some other fundamentally important configuration options there. In addition to empty-dirs, my setup also needs ignore-glob and keep-glob to avoid 'add'ing some files and to avoid 'clean'ing some files. Thanks for the help! On 08/01/2016 08:12 PM, John P. Rouillard wrote: > See: > >http://fossil-scm.org/index.html/help?cmd=settings > >empty-dirs A comma or newline-separated list of pathnames. On > (versionable) update and checkout commands, if no file or directory > exists with that name, an empty directory will be > created. > > Also see: > > http://fossil-scm.org/index.html/doc/cd58f59a474c7ef773d1/www/settings.wiki > > look under "Versionable" settings. > ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
On Aug 1, 2016 8:02 PM, "Ron W"wrote: > > On Mon, Aug 1, 2016 at 8:22 PM, Adam Jensen wrote: >> >> On 08/01/2016 07:40 PM, bch wrote: >> >> > in a controlling file. Something like a purpose-built makefile or >> > script that handles this layout, so that -it- can be versioned in >> > fossil; fossil wasn't/isn't currently designed to handle that sort of >> > metadata - which *arguably* should be handled in a script as described >> > above. Fossil can then handle that script as an artifact. >> > >> >> Is there a way to run these scripts automatically after each checkout? > > > My team and I do this as part of the build procedure. Basically, we treat those as part of the "product" being built, so when we do a "clean check out", the first run of make will create those directories. We don't need them before that. > This is indeed the process I would have described. Fossil isn't doing any *work* with respect to your project - it's just laying out tools + resources. It's unfortunate that empty directories are a cause for confusion, but if you accept that and work as Ron's team does, think of fossil as managing the *content* of files (and limited meta data), and consider that things like ownership, permissions, empty directories (and perhaps more) are the responsibility of the project and it's tooling (build/setup). And to clear what I think might be a small amount of confusion, when I was talking about executable bits and --x, I was using those 3 characters ("--x") to stand in for UNIX permissions like rwx - not as a double-dash switch. Regards, -bch > ___ > fossil-users mailing list > fossil-users@lists.fossil-scm.org > http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users > ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
On Mon, Aug 1, 2016 at 8:22 PM, Adam Jensenwrote: > On 08/01/2016 07:40 PM, bch wrote: > > > in a controlling file. Something like a purpose-built makefile or > > script that handles this layout, so that -it- can be versioned in > > fossil; fossil wasn't/isn't currently designed to handle that sort of > > metadata - which *arguably* should be handled in a script as described > > above. Fossil can then handle that script as an artifact. > > > > Is there a way to run these scripts automatically after each checkout? My team and I do this as part of the build procedure. Basically, we treat those as part of the "product" being built, so when we do a "clean check out", the first run of make will create those directories. We don't need them before that. ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
At the end, you didn't add the empty-dirs file. You need to do 'fossil add * --dotfiles' or explicitly do 'f add .fossil-settings/empty-dirs', then commit. Then a subsequent checkout will create the directories. S. Original Message From: Adam Jensen Sent: Tuesday, 2 August 2016 10:02 To: fossil-users@lists.fossil-scm.org Reply To: Fossil SCM user's discussion Subject: Re: [fossil-users] basic usage question - empty directories On 08/01/2016 07:25 PM, Steve Stefanovich wrote: > > Create a .fossil-settings directory in the root of your checkout, and in it > add empty-dirs file with relative paths to where you want empty directories > created, fossil add/commit. > Is there documentation for that approach? I can't seem to get it to work. Could you provide an example demonstrating the method, or review my attempt (below) and provide corrections? mkdir test cd test/ mkdir repo mkdir project cd repo fossil init test.fossil cd ../project/ fossil open ../repo/test.fossil touch README mkdir empty1 mkdir notempty1 touch notempty1/foo.tcl tree . |-- empty1 |-- notempty1 | `-- foo.tcl `-- README mkdir .fossil-settings vi .fossil-settings/empty-dirs cat .fossil-settings/empty-dirs ./empty1 fossil add * ADDED README ADDED notempty1/foo.tcl fossil commit -m "Initial checkin" New_Version: 977b2342d05cd9b04fb6a1963fcbb7a96823fe75 ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
On 08/01/2016 07:40 PM, bch wrote: > There has been lots of discussion about this over the years > (https://www.google.ca/search?q=fossil-users+empty+directory). > > I personally handle this (and other metadata things like user:group > ownership or permissions (though we now handle --x (executable bit)) I'm guessing this means that file permissions aren't maintained through the check-in/check-out process(?) Do you have a link to --x documentation or can you provide an example? > in a controlling file. Something like a purpose-built makefile or > script that handles this layout, so that -it- can be versioned in > fossil; fossil wasn't/isn't currently designed to handle that sort of > metadata - which *arguably* should be handled in a script as described > above. Fossil can then handle that script as an artifact. > Is there a way to run these scripts automatically after each checkout? ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
On 08/01/2016 07:25 PM, Steve Stefanovich wrote: > > Create a .fossil-settings directory in the root of your checkout, and in it > add empty-dirs file with relative paths to where you want empty directories > created, fossil add/commit. > Is there documentation for that approach? I can't seem to get it to work. Could you provide an example demonstrating the method, or review my attempt (below) and provide corrections? mkdir test cd test/ mkdir repo mkdir project cd repo fossil init test.fossil cd ../project/ fossil open ../repo/test.fossil touch README mkdir empty1 mkdir notempty1 touch notempty1/foo.tcl tree . |-- empty1 |-- notempty1 | `-- foo.tcl `-- README mkdir .fossil-settings vi .fossil-settings/empty-dirs cat .fossil-settings/empty-dirs ./empty1 fossil add * ADDED README ADDED notempty1/foo.tcl fossil commit -m "Initial checkin" New_Version: 977b2342d05cd9b04fb6a1963fcbb7a96823fe75 ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
There has been lots of discussion about this over the years (https://www.google.ca/search?q=fossil-users+empty+directory). I personally handle this (and other metadata things like user:group ownership or permissions (though we now handle --x (executable bit)) in a controlling file. Something like a purpose-built makefile or script that handles this layout, so that -it- can be versioned in fossil; fossil wasn't/isn't currently designed to handle that sort of metadata - which *arguably* should be handled in a script as described above. Fossil can then handle that script as an artifact. -bch On 8/1/16, Adam Jensenwrote: > Hi, > > I haven't before used fossil to manage a project. Is there a way to > commit empty directories to the repository so the project's directory > structure can be preserved and reconstructed? > > Actually, some of the directories aren't empty but rather their contents > are ignored: > > fsl add --ignore '*.db,*.fossil,*.log,*.mp3' * > fsl commit -m "Initial checkin" > > Is this something simple that I haven't yet discovered in the > documentation or am I doing something terribly wrong? > > Thanks! > ___ > fossil-users mailing list > fossil-users@lists.fossil-scm.org > http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users > ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
Create a .fossil-settings directory in the root of your checkout, and in it add empty-dirs file with relative paths to where you want empty directories created, fossil add/commit. Cheers, Steve --- From: Adam Jensen Sent: Tuesday, 2 August 2016 09:19 To: fossil-users@lists.fossil-scm.org Reply To: Fossil SCM user's discussion Subject: [fossil-users] basic usage question - empty directories Hi, I haven't before used fossil to manage a project. Is there a way to commit empty directories to the repository so the project's directory structure can be preserved and reconstructed? Actually, some of the directories aren't empty but rather their contents are ignored: fsl add --ignore '*.db,*.fossil,*.log,*.mp3' * fsl commit -m "Initial checkin" Is this something simple that I haven't yet discovered in the documentation or am I doing something terribly wrong? Thanks! ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] basic usage question - empty directories
On 8/1/16, Adam Jensenwrote: > Is there a way to > commit empty directories to the repository so the project's directory > structure can be preserved and reconstructed? No, sadly, there is not. Fossil versions only files. Directories exist only if they contain a file. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
[fossil-users] basic usage question - empty directories
Hi, I haven't before used fossil to manage a project. Is there a way to commit empty directories to the repository so the project's directory structure can be preserved and reconstructed? Actually, some of the directories aren't empty but rather their contents are ignored: fsl add --ignore '*.db,*.fossil,*.log,*.mp3' * fsl commit -m "Initial checkin" Is this something simple that I haven't yet discovered in the documentation or am I doing something terribly wrong? Thanks! ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] some uglifications for diff.tcl
Hi David, Thanks for fixing and pushing it. With regards, Kain ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] some uglifications for diff.tcl
>> Yet another small "problem". The C compiler with -std switch complains >> about the comment style in file src/attach.c:91: >> http://www.fossil-scm.org/fossil/artifact/3d0f4416538b9154333fba4717670584669bf9eb?txt=1=91 On Mon, Aug 1, 2016 at 8:37 AM, David Vineswrote: > The comment style problem in attach.c is my fault - I'll provide a fix > (I'm far too used to the // style of comment :) > > Dave Kain, when you mention the "-std" switch, I suppose you mean "-std=c89", right? When I compile (trunk, 2a5de7ea2e) using "-std=c89", I got a warning (besides the C++ // comment): gcc -I. -I./src -Ibld -DFOSSIL_DYNAMIC_BUILD=1 -I/usr/local/include -std=c89 -g -O2 -DHAVE_AUTOCONFIG_H -D_HAVE_SQLITE_CONFIG_H -O2 -pipe -o bld/sqlcmd.o -c bld/sqlcmd_.c ./src/sqlcmd.c: In function 'cmd_sqlite3': ./src/sqlcmd.c:207:3: warning: passing argument 1 of 'sqlite3_cancel_auto_extension' from incompatible pointer type [enabled by default] sqlite3_cancel_auto_extension((void(*)(void))sqlcmd_autoinit); ^ In file included from ./src/config.h:173:0, from ./src/sqlcmd.c:23: ./src/sqlite3.h:5725:31: note: expected 'int (*)(struct sqlite3 *, char **, const struct sqlite3_api_routines *)' but argument is of type 'void (*)(void)' SQLITE_API int SQLITE_APICALL sqlite3_cancel_auto_extension( ^ ./src/sqlcmd.c: In function 'fossil_open': ./src/sqlcmd.c:216:3: warning: passing argument 1 of 'sqlite3_auto_extension' from incompatible pointer type [enabled by default] sqlite3_auto_extension((void(*)(void))sqlcmd_autoinit); ^ In file included from ./src/config.h:173:0, from ./src/sqlcmd.c:23: ./src/sqlite3.h:5711:31: note: expected 'int (*)(struct sqlite3 *, char **, const struct sqlite3_api_routines *)' but argument is of type 'void (*)(void)' SQLITE_API int SQLITE_APICALL sqlite3_auto_extension( ^ As a curiosity, when I compile using clang instead of gcc, I get the following additional warning: clang -I. -I./src -Ibld -DFOSSIL_DYNAMIC_BUILD=1 -I/usr/local/include -std=c89 -g -O2 -DHAVE_AUTOCONFIG_H -D_HAVE_SQLITE_CONFIG_H -O2 -pipe -DNDEBUG=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_OMIT_DEPRECATED -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -c ./src/sqlite3.c -o bld/sqlite3.o ./src/sqlite3.c:108772:37: warning: redefinition of typedef 'sqlite3_api_routines' is a C11 feature [-Wtypedef-redefinition] typedef struct sqlite3_api_routines sqlite3_api_routines; ^ ./src/sqlite3.c:5970:37: note: previous definition is here typedef struct sqlite3_api_routines sqlite3_api_routines; Just my two cents... BR, Johan ^ ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Re: [fossil-users] some uglifications for diff.tcl
The comment style problem in attach.c is my fault - I'll provide a fix (I'm far too used to the // style of comment :) Dave ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users