Re: [fossil-users] TH_ERROR Can't find a usable init.tcl
2014-09-01 7:58 GMT+02:00 Petr Ferdus petr...@centrum.cz: I try to compile fossil with FOSSIL_ENABLE_TCL support. Build environment is mingw/msys on XP sp3. Build is based on fossil 75dcdd0bdb. If I build my version without TCL support it works nicely. When I turn TCL related switches on (FOSSIL_ENABLE_TH1_HOOKS=1 FOSSIL_ENABLE_TCL=1; FOSSIL_TCL_SOURCE = 1 is defined) it builds fossil.exe but TCL support seems to be somewhat broken. It reports error TH_ERROR: Tcl initialization error: Can't find a usable init.tcl ... on fossil version -v command, please see details bellow. Whenever I build fossil with Tcl support, I always use FOSSIL_ENABLE_TCL=1, FOSSIL_ENABLE_TCL_STUBS = 1, FOSSIL_ENABLE_TCL_PRIVATE_STUBS = 1. This is the easiest way to include Tcl support in fossil. Then you don't need the Tcl sources to be available, just install the (ActiveState) build of Tcl (either 8.5.x or 8.6.x) and you are done. Regards, Jan Nijtmans ___ 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] Receiving old versions
On Sat, 30 Aug 2014 15:03:32 -0500 Andy Goth andrew.m.g...@gmail.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 8/30/2014 2:40 PM, Andy Goth wrote: Now I have been given a few older versions. What's the best way to go about putting them into the repository? I know I can check them in with --allow-older and the --date-override options, though this will produce a very funky timeline display. Is there a better way? I cloned my repository and did the above as a test just to see how bad it comes out. Well, it's pretty bad. Not only is the timeline bizarre, the default diffs are unhelpful too. Diffs are typically against the predecessor version, but in this situation, Fossil's concept of predecessor doesn't match the naïve user expectation. Surprise notwithstanding, this is correct behavior in face of the time paradox. I think my best course of action is to not try to put the old code into the repository unless I am given a more complete archive of historical versions, at which time it might be worthwhile to rebuild the repository with everything put in the right sequence. Of course this blows away all the artifact IDs, but that would be acceptable at this stage. Let's say I do this, using the oldest known version as the initial commit, and everything seems good for a while. But then someone finds an in-between version thought to have been lost. I would update to its predecessor version then check it in with the date override, either allowing the fork or putting it on an branch. The timeline would look mostly good, but only because the predecessor version already existed. Diffs surrounding the newfound would have to be done with explicitly selected from and to versions, but that's a small price to pay for not having to rebuild the repository and trash the artifact IDs. Then a version older than the previously oldest known version is found. Now we're in trouble again. Maybe I could have prevented that last problem by making the initial empty check-in be dated before the project was known to have started, so there would never be anything older than it. Thoughts? Can you try to do it backwards? (don't know if backwards is the rigth word). Create a new repository, import the older source files, pull from your repository. Don't sync or your repository will become fluffed. - -- Andy Goth | andrew.m.goth/at/gmail/dot/com -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (MingW32) --- --- Eduardo Morras emorr...@yahoo.es ___ 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] TH_ERROR Can't find a usable init.tcl
Jan Nijtmans jan.nijtm...@gmail.com Whenever I build fossil with Tcl support, I always use FOSSIL_ENABLE_TCL=1, FOSSIL_ENABLE_TCL_STUBS = 1, FOSSIL_ENABLE_TCL_PRIVATE_STUBS = 1. Hello Jan, thank you for the tip. I would much prefer static solution, which would be more in fossil way of one single executable without external dependencies (single stand-alone executable that contains everything). Is it with FOSSIL_TCL_SOURCE even possible? Thanks Peter ___ 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] TH_ERROR Can't find a usable init.tcl
Datum: 01.09.2014 13:10 Od: Jan Nijtmans jan.nijtm...@gmail.com No, FOSSIL_TCL_SOURCE means that fossil expects Tcl to be installed in the indicated directory. libtcl8.x.a will be included statically inside fossil, but the other files (such as init.tcl) will not be part of fossil. To me it is not usefull at all to include the static Tcl library in fossil but not the Tcl start-up code, except when running fossil inside a chroot-jail (which cannot be done on Windows anyway) Does it mean, that to build chrooted version of fossil one must omit FOSSIL_TCL_SOURCE (that would be my misundestandin)? With unix build, will chrooted version containg TCL start-up code? (I can't test it) Should not the same happen for windows build? I would like to try it later this evening. Thanks Peter ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
[fossil-users] how to use git to lose data
Okay, more git bashing... After losing 3 hours' work today from something as simple as git stash save (where git stashed 3000+ untracked/generated files, despite the docs saying it doesn't do that), then not being able to do stash apply (because file already exists... for 3000+ files), and having to construct the work from screenshots of the diff i was able to grab before deleting and checking out again (as one so often has to do with git), i went searching for data loss in git and stumbled across this page near the top of the results: http://www.cs.cmu.edu/~davide/howto/git_lose.html What really makes that worth reading is the list of suggestions at the end of the page. They start out with this little gem: - Internalize the concept that git is *designed* to forget things. If you haven't seen something reach another repository, maybe it didn't. Heck, even if you *did* see it go somewhere else, maybe it fell out of the historical record there and then got garbage-collected. It makes me sick to no end that people accept that so readily, and then go back for a second helping. It occurred to me today that in nearly 31 years of using a computer i have, in total, lost more data to git (while following the instructions!!!) than any other single piece of software. Also concluded is that git is the only SCM out there which makes SCM difficult for the simple stuff. Even RCS is simpler to use. Sure CVS has limits, but respect those limits and it works just fine. Never lost a line of code in CVS. ... -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal Freedom is sloppy. But since tyranny's the only guaranteed byproduct of those who insist on a perfect world, freedom will have to do. -- Bigby Wolf ___ 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] Receiving old versions
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 9/1/2014 3:20 AM, Eduardo Morras wrote: Can you try to do it backwards? (don't know if backwards is the rigth word). Create a new repository, import the older source files, pull from your repository. Don't sync or your repository will become fluffed. No, as Richard pointed out, there is no way to change the predecessor of existing manifests. Predecessor artifact IDs are stored directly in the manifest, so they contribute to the manifest's artifact ID, which in turn is the predecessor artifact ID of subsequent manifests. - -- Andy Goth | andrew.m.goth/at/gmail/dot/com -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (MingW32) iQEcBAEBAgAGBQJUBKN2AAoJELtYwrrr47Y4xMUIALeja1VV97mJV42eiugtfR9U ZFroPRgZ+Fvu06/UCrAeC+0vJUD49UwEO3k9leOHXXbf1ZZb9ZvLYpDHoevwGa1Z ALnCzq1cQF1+jRrK+UH+xxFEbub32VAphRICt4W3F+PJWiyyZRFHg6RXSocL1B+R s2l3MJaR5o7QscPck3jCUi6FpVUOq+lMA1HWJs74a+A5C/vScfzE48eem00HFn6F a2DkCFYS7gHZt4SOgPVcKo41r0xuaMthX0Im4K2Q5KUOL0Nfg8A81HVOXbDRiD5G Mi/aJNKH84yx/g4gGz+LzJaTOan70ffW2pxM8IIqfG+E/s791FGta0WtiDV5FZU= =5dIR -END PGP SIGNATURE- ___ 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] TH_ERROR Can't find a usable init.tcl
Petr Ferdus wrote: Does it mean, that to build chrooted version of fossil one must omit FOSSIL_TCL_SOURCE (that would be my misundestandin)? With unix build, will chrooted version containg TCL start-up code? (I can't test it) Should not the same happen for windows build? I would like to try it later this evening. No. There are three primary concerns in order to build Fossil with Tcl integration enabled and make use of it at runtime: 1. Locating the necessary Tcl header file(s) at compile-time. Currently, this is handled several different ways, depending on the platform. On Unix-like systems, it is handled via searching for an installed Tcl and using those header files. This behavior can be overridden via the configure script; however, I have not needed to do this for my non-Windows uses of Fossil. 2. Locating the necessary Tcl library file(s) at compile-time. This is handled largely the same as #1. The configure script (really autosetup) should be capable of automatically locating the necessary library on most Unix-like systems. 3. Locating the necessary Tcl library at runtime (which must be installed in order to locate its init.tcl, more on this later). When Fossil is compiled with stubs-enabled, it will attempt to dynamically load the Tcl library (i.e. via dlopen) and then call the necessary exported functions to get everything going; otherwise, it will just use the exported functions it was linked against. Either way, the instance of Tcl being used needs to be able to locate its script library (e.g. init.tcl). Typically, this means it must be installed via make install or similar mechanism so that all the files are located in the right places. Here is the sequence of commands that I use to compile and install Fossil on Unix-like systems with a locally installed Tcl enabled: ## # PHASE 1: Download and install Tcl 8.6.1. ## mv tcl tcl.old wget http://prdownloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf tcl8.6.1-src.tar.gz cd tcl8.6.1/unix ./configure --prefix=/home/yourusername/tcl make all make install ## # PHASE 2: Download and install TclLib 1.15 (optional). ## wget http://prdownloads.sourceforge.net/tcllib/tcllib-1.15.tar.gz tar -zxvf tcllib-1.15.tar.gz cd tcllib-1.15 export LD_LIBRARY_PATH=/home/yourusername/tcl/lib /home/yourusername/tcl/bin/tclsh8.6 installer.tcl ## # PHASE 3: Download and install Fossil. ## wget --no-check-certificate --output-document=Fossil-trunk.tar.gz https://www.fossil-scm.org/index.html/tarball/Fossil-trunk.tar.gz?name=trunk tar -zxvf Fossil-trunk.tar.gz cd trunk ./configure --with-zlib=/home/yourusername/trunk/compat/zlib --with-openssl=auto --with-tcl=/home/yourusername/tcl --with-th1-hooks=1 --json=1 make cp fossil /home/yourusername/bin/fossil ## # PHASE 4: Setup integration with web server (Apache). ## In the .htaccess file, you'll most likely need the following two lines: SetEnv LD_LIBRARY_PATH /home/yourusername/tcl/lib SetEnv HOME /home/yourusername -- Joe Mistachkin ___ 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] TH_ERROR Can't find a usable init.tcl
Joe Mistachkin sql...@mistachkin.com No. There are three primary concerns in order to build Fossil with Tcl integration enabled and make use of it at runtime: 1. Locating the necessary Tcl header file(s) at compile-time. Currently, this is handled several different ways, depending on the platform. On Unix-like systems, it is handled via searching for an installed Tcl and using those header files. This behavior can be overridden via the configure script; however, I have not needed to do this for my non-Windows uses of Fossil. 2. Locating the necessary Tcl library file(s) at compile-time. This is handled largely the same as #1. The configure script (really autosetup) should be capable of automatically locating the necessary library on most Unix-like systems. 3. Locating the necessary Tcl library at runtime (which must be installed in order to locate its init.tcl, more on this later). When Fossil is compiled with stubs-enabled, it will attempt to dynamically load the Tcl library (i.e. via dlopen) and then call the necessary exported functions to get everything going; otherwise, it will just use the exported functions it was linked against. Either way, the instance of Tcl being used needs to be able to locate its script library (e.g. init.tcl). Typically, this means it must be installed via make install or similar mechanism so that all the files are located in the right places. Here is the sequence of commands that I use to compile and install Fossil on Unix-like systems with a locally installed Tcl enabled: ## # PHASE 1: Download and install Tcl 8.6.1. ## mv tcl tcl.old wget http://prdownloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf tcl8.6.1-src.tar.gz cd tcl8.6.1/unix ./configure --prefix=/home/yourusername/tcl make all make install ## # PHASE 2: Download and install TclLib 1.15 (optional). ## wget http://prdownloads.sourceforge.net/tcllib/tcllib-1.15.tar.gz tar -zxvf tcllib-1.15.tar.gz cd tcllib-1.15 export LD_LIBRARY_PATH=/home/yourusername/tcl/lib /home/yourusername/tcl/bin/tclsh8.6 installer.tcl ## # PHASE 3: Download and install Fossil. ## wget --no-check-certificate --output-document=Fossil-trunk.tar.gz https://www.fossil-scm.org/index.html/tarball/Fossil-trunk.tar.gz?name=trunk tar -zxvf Fossil-trunk.tar.gz cd trunk ./configure --with-zlib=/home/yourusername/trunk/compat/zlib --with-openssl=auto --with-tcl=/home/yourusername/tcl --with-th1-hooks=1 --json=1 make cp fossil /home/yourusername/bin/fossil ## # PHASE 4: Setup integration with web server (Apache). ## In the .htaccess file, you'll most likely need the following two lines: SetEnv LD_LIBRARY_PATH /home/yourusername/tcl/lib SetEnv HOME /home/yourusername Thank you Joe for clarifications and your Unix-like system setup recipe. I'll try to absorb it and use it. Meanwhile it seem that my simple idea of fossil on windows with embedded tcl as a single exe is not that easy as it seems. I have found notes from drh dated 2005 [1]. Still I thing it would be hugely useful as personal portable fossil with scripting included. Thank again Peter [1] - Init Scripts In The DLL http://wiki.tcl.tk/4156 ___ 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] TH_ERROR Can't find a usable init.tcl
Petr Ferdus wrote: Thank you Joe for clarifications and your Unix-like system setup recipe. I'll try to absorb it and use it. Meanwhile it seem that my simple idea of fossil on windows with embedded tcl as a single exe is not that easy as it seems. I have found notes from drh dated 2005 [1]. Still I thing it would be hugely useful as personal portable fossil with scripting included. At a bare minimum, two files would be needed on Windows: The Fossil EXE itself and a suitable Tcl library. Since the Tcl library would need to include an embedded script library, it will most likely need to be a TclKit DLL, e.g. one of Roy Keene's daily builds: http://www.rkeene.org/devel/kitcreator/kitbuild/nightly/ In order to use one of these TclKit DLLs, you would want to rename it to tcl8X.dll where X is 4, 5, or 6. Then, place it into the same directory as the Fossil EXE. -- Joe Mistachkin ___ 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] how to use git to lose data
On Mon, Sep 1, 2014 at 9:29 AM, Stephan Beal sgb...@googlemail.com wrote: Okay, more git bashing... {snipped stuff went here} It occurred to me today that in nearly 31 years of using a computer i have, in total, lost more data to git (while following the instructions!!!) than any other single piece of software. Also concluded is that git is the only SCM out there which makes SCM difficult for the simple stuff. Even RCS is simpler to use. Sure CVS has limits, but respect those limits and it works just fine. Never lost a line of code in CVS. Interesting. I think I've mentioned my employer is in the midst of converting from an svn backed model to a git based model, though slowly on a subproject by subproject basis. I've shared this with the git-master-chief person at work and followed it up with the following questions / observations: Based on reading {Stephan's message}, what do you agree or disagree with? It seems to me (after reading this and thinking about version control systems in a slightly new way for the first time today), git is focused less on securely keeping track of source code and far more on providing a toolbox of ways to reorganize code to simplify (I use that term loosely) social interactions between developers / users of git (aka collaboration). It's not that it can't keep track of source code, but that it considers the social aspects / reorganization tools to be more important, while at the same time being quite terse / obtuse in the documentation / usage area. Is that an unfair assessment on my part? I still readily agree that I'm a git newbie, and even a dvcs neophyte, and the reasons I use fossil have little to do with its distributed nature (though I'm using it more often that way as time goes by). Also that for certain project types where large / deep hierarchies of collaborators are at work, fossil is probably not an ideal solution. It certainly wouldn't work in the same way git is used by the linux kernel team. I'll be interested to hear back from him what he thinks. -- Scott Robison ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users