[fossil-users] Amendments don't always survive rebuilds
Some amendments don't consistently survive rebuilds and syncs. I've noticed this with date changes and reparenting. Possibly it affects other types of amendments as well, but those are the two I've spotted. This has been plaguing me for years, but finally I have a repeatable test case. Repository before rebuild: https://drive.google.com/open?id=1-Ahs91NVigBX7uMk88wIBjClQj1yxGnm Repository after rebuild: https://drive.google.com/open?id=1CFzc9JyNQ5piSIO4YUqjSpqmmjPxmCsg I constructed a repository full of time warps, much like in my previous email about the stray riser. Then I used a bunch of amendments to straighten everything out. But once I rebuilt, the dates got jumbled again, and not in the same configuration as when I started. Some amendments survived, others didn't. Here are the commands I used to create the repository: f new test.fossil -admin-user username -date-override 2018-05-31 mkdir test cd test f open ../test.fossil f user default username id=1; for day in 15 13 16 12 17 11 18 10 19 09 20 08 21 07 22 06 23 05 24 04 25 03 26 02 27 01; do f commit -f -m "$id" -tag "$id" -date-override "2018-06-$day"; ((++id)); done for id in $(seq 1 26); do f amend -date "$(printf 2018-06-%02d "$id")" "$id"; done And then, to mess it up again: f rebuild I could also have sync'ed to another repository, but here I'm just showing the simplest way I know to trigger the problem. I wonder if the order in which artifacts are visited is impacting the outcome. -- Andy Goth | ___ 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] fast-import crash (mark not declared)
On Fri, Jun 08, 2018 at 05:06:23PM +0300, Petr Ovtchenkov wrote: > During attempt to export fossil's repo (tcl, http://core.tcl.tk/tcl) to git I > face with > fast-import (fossil export --git --export-marks ../tcl-fossil/fossil.marks > ../tcl.fossil | git > fast-import --export-marks=../tcl-fossil/git.marks) crash: Hm. That repo has timewraps. Joerg ___ 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] [Feature-request] Unversioned files: unpack
I don't think the patch attachment made it; here it is just in case: Index: src/unversioned.c == --- src/unversioned.c +++ src/unversioned.c @@ -230,10 +230,13 @@ **cat FILE ... Concatenate the content of FILEs to stdout. ** **edit FILEBring up FILE in a text editor for modification. ** **export FILE OUTPUT Write the content of FILE into OUTPUT on disk +** +**unpack Write all unversioned files to disk, matching the +** file name(s) in the local repository. ** **list | lsShow all unversioned files held in the local ** repository. ** **revert ?URL? Restore the state of all unversioned files in the @@ -372,10 +375,22 @@ if( unversioned_content(g.argv[3], ) ){ fossil_fatal("no such uv-file: %Q", g.argv[3]); } blob_write_to_file(, g.argv[4]); blob_reset(); + }else if( memcmp(zCmd, "unpack", nCmd)==0 ){ +Blob content; +Stmt q; +verify_all_options(); +db_prepare(, "SELECT name FROM unversioned;"); +while( db_step()==SQLITE_ROW ){ + const char *zName = db_column_text(, 0); + unversioned_content(zName, ); + blob_write_to_file(, zName); +} +blob_reset(); +db_finalize(); }else if( memcmp(zCmd, "hash", nCmd)==0 ){ /* undocumented */ /* Show the hash value used during uv sync */ int debugFlag = find_option("debug",0,0)!=0; fossil_print("%s\n", unversioned_content_hash(debugFlag)); }else if( memcmp(zCmd, "list", nCmd)==0 || memcmp(zCmd, "ls", nCmd)==0 ){ On Sat, Jun 9, 2018 at 12:43 PM Chris Rydalch wrote: > Here is a patch to add ' fossil uv unpack', which exports each unversioned > file local disk, using the name(s) from the local repository. Does have all > the nice bells and whistles, but its worked for me so far. > >unpack Write all unversioned files to disk, matching the > file name(s) in the local repository. > > Would this be worth including in fossil? > > Thanks! > > On Tue, Apr 25, 2017 at 1:48 PM Chris Rydalch wrote: > >> Yes, this would be great! >> >> On Tue, Apr 25, 2017 at 1:43 PM, Olivier R. wrote: >> >>> Hello, >>> >>> It would be very useful if the repository could remember the folder of >>> the unversioned files when we add them. Doing so, we could unpack all >>> unversioned files with a simple command like: >>> fossil uv unpack >>> >>> If a folder doesn’t exist anymore, we could recreate it with the option >>> -f or --force, or ignore the files who have nowhere to be unpacked. >>> >>> If each unversioned file is associated with a folder, it would also be >>> useful to have a way to edit it, via the CLI or the Web-UI, so that we >>> could change where to unpack these files. >>> >>> Thanks. >>> Olivier >>> ___ >>> 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
[fossil-users] Fossil SlackBuild script
I just submitted an update to the Fossil SlackBuild script. Sorry, I haven't done this since version 2.3, and now we're on 2.6. I took the opportunity to update the README file with a few new bullet points and features. Here it is, pasted inline: Fossil is a distributed version control and ticket tracking system created by D. Richard Hipp, the primary author of SQLite. Features: - tamper-proof artifact record - simple command-line interface - customizable web interface with JSON, RSS, and built-in wiki - online project documentation with full-text search capability - online activity and ticket reports - user accounts with access controls - coherent versioning across all files - straightforward branching and merging - bisect searches to pinpoint behavior changes - SHA3-256 and hardened SHA1 checksums - FUSE filesystem makes all historical and branch revisions available - synchronization via http, https, ssh, and local/network filesystems - automated replication and backup - git import/export and Subversion/CVS import - nested checkouts to share common subtrees across related projects - checkout directory not cluttered with administrative files - support for Docker - unversioned file area for builds, statistics, other ephemeral content - optional PGP signing of commits - private branch which are excluded from syncs until published - bundles group a change set (e.g. a private branch) into a single file - users can make their own repositories, no need for special privileges - works in Windows as well as Linux and other Unix-like systems Fossil can host the entire project development website, including the download area, but it also can be used for individual projects with no need for a shared server. In addition to typical software development operations, one interesting application is coordination and auditing of /etc and other configuration files across a network of computers. Content is stored in an SQLite database for atomicity, durability, and effortless administration. See Fossil in action online: - https://fossil-scm.org/ - Fossil hosts its own development - https://sqlite.org/src/ - Fossil originally created to manage SQLite - https://core.tcl.tk/tcl/timeline?y=ci - Tcl/Tk migrated from CVS - https://chiselapp.com/ - Free public hosting for Fossil projects Key technical points: - unified revision history tree spans the entire repository - repository is a collection of artifacts identified by their checksums - artifacts are broadly grouped into content and structural artifacts - each check-in is tracked as a structural artifact known as a manifest - manifests primarily list the full names and checksums of each file - manifests can be amended by subsequent control artifacts - in most cases, symbolic names refer to the latest matching check-in - branches are implemented using propagating symbolic tags -- Andy Goth | ___ 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] [Feature-request] Unversioned files: unpack
Here is a patch to add ' fossil uv unpack', which exports each unversioned file local disk, using the name(s) from the local repository. Does have all the nice bells and whistles, but its worked for me so far. unpack Write all unversioned files to disk, matching the file name(s) in the local repository. Would this be worth including in fossil? Thanks! On Tue, Apr 25, 2017 at 1:48 PM Chris Rydalch wrote: > Yes, this would be great! > > On Tue, Apr 25, 2017 at 1:43 PM, Olivier R. wrote: > >> Hello, >> >> It would be very useful if the repository could remember the folder of >> the unversioned files when we add them. Doing so, we could unpack all >> unversioned files with a simple command like: >> fossil uv unpack >> >> If a folder doesn’t exist anymore, we could recreate it with the option >> -f or --force, or ignore the files who have nowhere to be unpacked. >> >> If each unversioned file is associated with a folder, it would also be >> useful to have a way to edit it, via the CLI or the Web-UI, so that we >> could change where to unpack these files. >> >> Thanks. >> Olivier >> ___ >> 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