CINXE.COM

Barry Kauler - Powered by PPLOG

<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd> <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://bkhome.org/blog/?viewDetailed=01200","20111009225533","https://web.archive.org/","web","/_static/", "1318200933"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta http-equiv="Content-Type" content="text/html;" charset="iso-8859-1"> <meta name="Name" content="Barry Kauler"/> <meta name="Revisit-After" content="1"/> <meta name="Keywords" content="blog, posts, pplog"/> <meta name="Description" content="Barry Kauler Puppy Linux UniPup Developer Daily Blog"/> <title>Barry Kauler - Powered by PPLOG</title> <script language="javascript" type="text/javascript"> // FUNCTION BY SMF FORUMS http://www.simplemachines.org function surroundText(text1, text2, textarea) { // Can a text range be created? if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange) { var caretPos = textarea.caretPos, temp_length = caretPos.text.length; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2; if (temp_length == 0) { caretPos.moveStart("character", -text2.length); caretPos.moveEnd("character", -text2.length); caretPos.select(); } else textarea.focus(caretPos); } // Mozilla text range wrap. else if (typeof(textarea.selectionStart) != "undefined") { var begin = textarea.value.substr(0, textarea.selectionStart); var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart); var end = textarea.value.substr(textarea.selectionEnd); var newCursorPos = textarea.selectionStart; var scrollPos = textarea.scrollTop; textarea.value = begin + text1 + selection + text2 + end; if (textarea.setSelectionRange) { if (selection.length == 0) textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length); else textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length); textarea.focus(); } textarea.scrollTop = scrollPos; } // Just put them on the end, then. else { textarea.value += text1 + text2; textarea.focus(textarea.value.length - 1); } } </script> <link href="/web/20111009225533cs_/http://bkhome.org/blog/style.css" rel="stylesheet" type="text/css"> </head> <body><div id="all"><div id="menu"> <h1>Main Menu</h1> <a href="?page=1">Home</a> <a href="?do=newEntry">New Entry</a> <a href="?do=archive">Archive</a> <a href="?do=RSS">RSS Feeds</a> <h1>Categories</h1><a href="?viewCat=Bones">Bones</a><a href="?viewCat=General">General</a><a href="?viewCat=Puppy">Puppy</a><a href="?viewCat=Quirky">Quirky</a><a href="?viewCat=Retirement">Retirement</a><a href="?viewCat=Wary">Wary</a><a href="?viewCat=Woof">Woof</a><h1>Search</h1> <form name="form1" method="post"> <input type="text" name="keyword"> <input type="hidden" name="do" value="search"> <input type="submit" name="Submit" value="Search"><br/> By Title <input name="by" type="radio" value="0" checked> By Content <input name="by" type="radio" value="1"> </form> <h1>Latest Entries</h1><a href="?viewDetailed=02534">SeaMonkey 2.4.1 ...nup</a><a href="?viewDetailed=02533">Psync 2.3</a><a href="?viewDetailed=02532">Pmusic 2.1.8</a><a href="?viewDetailed=02531">Slacko RC is out</a><a href="?viewDetailed=02530">Convert hex to decimal</a><a href="?viewDetailed=02529">PupCamera digital camera access</a><a href="?viewDetailed=02528">pupRadio fixed</a><a href="?viewDetailed=02527">Autodetect digital camera</a><a href="?viewDetailed=02526">Gtkam --- useless!!!!!!!</a><a href="?viewDetailed=02525">Generalized logo handling in Woof</a><a href="?viewDetailed=02524">Leafpad fixed</a><h1>Share</h1> <a target="_blank" href="https://web.archive.org/web/20111009225533/http://reddit.com/submit?url=http://bkhome.org/blog/?viewDetailed=01200"> Reddit This <img border="0" src="/web/20111009225533im_/http://bkhome.org/blog/reddit.gif"/></a><h1>Links</h1><a href="https://web.archive.org/web/20111009225533/http://bkhome.org/">BarryK Home</a><a href="https://web.archive.org/web/20111009225533/http://pplog.infogami.com/">Get PPLOG</a><h1>Latest Comments</h1><a href="?viewDetailed=02534" title="Posted by linuxcbon">webkit</a><a href="?viewDetailed=02534" title="Posted by Adi">new entry</a><a href="?viewDetailed=02534" title="Posted by Sage">Midori is....</a><a href="?viewDetailed=02534" title="Posted by session">Mozilla update policy</a><a href="?viewDetailed=02534" title="Posted by linuxcbon">2 favorites</a><a href="?viewDetailed=02534" title="Posted by Terryphi">Seamonkey security fixes</a><a href="?viewDetailed=02499" title="Posted by L18L">Re: Bootup messages</a><a href="?viewDetailed=02533" title="Posted by Sage">Time...</a><a href="?viewDetailed=02534" title="Posted by Sage">Can&#39;t say that I&#39;m impressed with... Firefox and SeaMonkey</a><a href="?viewDetailed=02532" title="Posted by BarryK">Re you2pup</a><a href="?viewDetailed=02532" title="Posted by misc Pmusic">zigbert</a><a href="?do=listComments">List All Comments</a><h1>Stats</h1>Users Online: 12<br/>Hits: 184120</div><div id="content"><h1><a href="?viewDetailed=01200">Fossil version control</a></h1>I was recently evaluating <i>Dim</i> version control, see my blog report: <br/> <br/><a href="https://web.archive.org/web/20111009225533/http://bkhome.org/blog/?viewDetailed=01191" target="_blank">http://bkhome.org/blog/?viewDetailed=01191</a> <br/> <br/>Dim is a Bash/Ash shell script, and a PHP script for the web site. Very small, but at this stage there is a lot on the to-do list. <br/> <br/>Then technosaurus informed me about <i>Fossil</i>, a &quot;small and simple&quot; version control system. So, I have now started to evaluate Fossil. <br/> <br/>Fossil homepage: <a href="https://web.archive.org/web/20111009225533/http://www.fossil-scm.org/" target="_blank">http://www.fossil-scm.org/</a> <br/> <br/>...read that, and it sure does seem impressive! <br/> <br/>Fossil has a single binary executable, named &#39;fossil&#39;. I compiled it and it is 652KB. That&#39;s the whole thing, all you need to install Fossil, and the executable even has the Sqlite database compiled statically into the executable -- which is good for uploading to a website that might not have shared Sqlite library (or wrong version). <br/>However, technosaurus has figured out how to compile Fossil against shared Sqlite library if you want. <br/> <br/><b>Install on website</b> <br/>Having had just about zero experience with installing and setting up a version control system (only a limited play with Dim), I was scratching my head. But forged ahead, and it turned out to be a simple procedure, very simple. It will be useful to others I reckon, for me to document it here... <br/> <br/>My first problem was where to upload the &#39;fossil&#39; executable, as I only have a shared hosting website (with hostgator.com). I can&#39;t just bung it into the system /bin directory! Well, I took a punt, and created a &#39;bin&#39; directory: /home/&lt;username&gt;/bin. <br/>/home/&lt;username&gt; is where I am when I do an ftp or ssh login. <br/>I then uploaded &#39;fossil&#39; to the &#39;bin&#39; directory. I set permission of &#39;bin&#39; to 755 and &#39;fossil&#39; to 755. <br/> <br/>I then created directories &lt;path to bkhome.org root&gt;/fossil/woof, set permissions at 755. <br/>Inside &#39;woof&#39; I created a script &#39;woof.cgi&#39; (755) with this in it: <br/> <br/><div class="code"><pre>#!/home/&lt;username&gt;/bin/fossil <br/>repository: &lt;path to bkhome.org root&gt;/fossil/woof/woof.fossil</pre></div> <br/> <br/>...of course, if you want to do this yourself, you will have to substitute the appropriate text into &quot;&lt; ... &gt;&quot;. <br/> <br/>I also created a &#39;.htaccess&#39; file (644) in fossil/woof directory with this in it: <br/> <br/><div class="code"><pre>AddHandler cgi-script .cgi <br/>Options ExecCGI FollowSymLinks <br/>RewriteEngine On <br/>RewriteBase /fossil/woof/ <br/>RewriteRule ^$ woof.cgi</pre></div> <br/> <br/>...I wanted to completely hide the &#39;woof.cgi&#39; script from the URL that users would see, but I couldn&#39;t figure out how to do that. Instead, the above just allows a URL &quot;http://bkhome.org/fossil/woof/&quot; which will run the &#39;woof.cgi&#39; script -- but then the user still sees the full URL with &quot;woof.cgi&quot; in it. If anyone is an expert on Apache mod_rewrite, advice welcome! <br/> <br/>Almost there. I needed an empty &quot;repository&quot; to get going. I created it like this (locally, on my own computer): <br/> <br/><i>&gt; fossil new woof.fossil</i> <br/> <br/>I then uploaded &#39;woof.fossil&#39; to fossil/woof by sftp and set permissions to 744. <br/> <br/>Finally, I pointed my web browser here: <br/> <br/><a href="https://web.archive.org/web/20111009225533/http://bkhome.org/fossil/woof/" target="_blank">http://bkhome.org/fossil/woof/</a> <br/> <br/>...hey man, it works! A very pleasant experience, I must say. I just followed my nose, doing logical things to set it up, not many steps required, and it works as advertised. <br/> <br/><b>Install on local computer</b> <br/>Just copy the &#39;fossil&#39; executable to the execute-path, such as /usr/bin. <br/> <br/>As far as usage goes, well, I&#39;m just getting started. As I commented above, I have zero experience. Yeah, I have had occasion to checkout from various CVS/SVN/GIT hosted projects, and always followed whatever instructions they provided. Beyond that, I know nothing. <br/> <br/>I haven&#39;t yet put any files into my &#39;woof.fossil&#39; repository. It is important to note that the entire project resides in that one file. It has its own internal Sqlite database, and all files, all revisions, will be inside &#39;woof.fossil&#39;. So, the file may grow quite large! <br/> <br/>An obvious first thing to do is, how to download my online &#39;woof.fossil&#39; repository to my local computer? <br/> <br/>A good place to look for basic usage instructions is the Fossil Quick Start Guide: <br/><a href="https://web.archive.org/web/20111009225533/http://www.fossil-scm.org/index.html/doc/tip/www/quickstart.wiki" target="_blank">http://www.fossil-scm.org/index.html/doc/tip/www/quickstart.wiki</a> <br/> <br/>Alright, this seems to be what is needed: <br/> <br/><i>&gt; fossil clone http://bkhome.org/fossil/woof/ woof.fossil</i> <br/> <br/>...amazing, it works! Be sure to write down the username and password it reports. <br/> <br/>I notice though, it did not download the configuration I had done to the online woof.fossil -- title and logo -- the downloaded woof.fossil is empty, no default title and logo -- so, is something wrong? <br/> <br/>To use the web interface for looking inside the repository, run: <br/> <br/><i>&gt; fossil ui woof.fossil</i> <br/> <br/>...at the time of writing I have not yet configured &#39;woof.fossil&#39; to auto-launch the web browser, so manually start your web browser and look at: <br/> <br/><a href="https://web.archive.org/web/20111009225533/http://127.0.0.1:8080/" target="_blank">http://127.0.0.1:8080/</a> <br/> <br/>When finished, CTRL-C in the terminal window to kill the fossil web server. <br/> <br/>The logical next thing to do is checkout a project-tree. That is, extract the latest version of the project from the repository: <br/> <br/><i>&gt; mkdir woof-tree <br/>&gt; cd woof-tree <br/>&gt; fossil open ../woof.fossil</i> <br/> <br/>Now I want to create a file in my project, and add it to the repository: <br/> <br/><i>&gt; echo &quot;test file number one&quot; &gt; NewFile1 <br/>&gt; fossil add NewFile1 <br/>&gt; fossil commit -m &quot;first test commit NewFile1&quot; --nosign <br/>&gt; fossil close <br/>&gt; cd ..</i> <br/> <br/>Problems <br/> <br/>1. <br/>The downloaded repository does not have stuff in it that I had put into the online &#39;woof.fossil&#39;. <br/> <br/>2. <br/>&quot;Autosync&quot; is by default turned on, and when I ran the above commit, it reported that it was also uploading to my online repository. However, when I point my browser at the online Woof repository, there is nothing, zilch. <br/> <br/>3. <br/>Unfortunately, it gets worse. When I attempted to reopen my local &#39;woof.fossil&#39;: <br/> <br/><i>&gt; cd woof-tree <br/>&gt; fossil open ../woof.fossil</i> <br/>&lt;some stuff&gt; <br/>Segmentation fault <br/> <br/>...but it was then open. <br/> <br/>So, the current situation for me is that it does not &quot;just work&quot;. Probably I&#39;m doing something wrong, as there are obviously other happy Fossil users. Anyway, I&#39;ll keep experimenting. <br/> <br/>I looked at my website error log, and see this: <br/> <br/><i>File does not exist: &lt;path to bkhome.org root&gt;/fossil/woof/xfer</i> <br/> <br/>I did try various ways of uploading. For example, these two: <br/><i>&gt; fossil push http://bkhome.org/fossil/woof/woof.cgi --repository woof.fossil</i> <br/>&gt; fossil push <i>http://bkhome.org/fossil/woof/woof.cgi/xfer --repository woof.fossil</i> <br/>...in both cases got a &quot;bad command&quot;. <br/><br/><br/><center><i>Posted on 11 Nov 2009, 9:55 - Category: <a href="?viewCat=Woof">Woof</a><br/><a href="?edit=01200">Edit</a> - <a href="?delete=01200">Delete</a></i></center><br/><br/><h1>Comments:</h1>Posted on <b>11 Nov 2009, 15:43</b> by <b>BarryK</b><br/><i>Fossil progress</i><br/>My attempt to get Fossil working continues in the next blog post: <br/> <br/><a href="https://web.archive.org/web/20111009225533/http://bkhome.org/blog/?viewDetailed=01201" target="_blank">http://bkhome.org/blog/?viewDetailed=01201</a><br/><a href="?deleteComment=01200.0">Delete</a><br/><br/><br/><br/><h1>Add Comment</h1> <form name="submitform" method="post"> <table> <tr> <td>Title</td> <td><input name="title" type="text" id="title"></td> </tr> <tr> <td>Author</td> <td><input name="author" type="text" id="author"></td> </tr><tr> <td>&nbsp;</td> <td><input type="button" style="width:50px;font-weight:bold;" onclick="surroundText('[b]', '[/b]', document.forms.submitform.content); return false;" value="b"/> <input type="button" style="width:50px;font-style:italic;" onclick="surroundText('[i]', '[/i]', document.forms.submitform.content); return false;" value="i"/> <input type="button" style="width:50px;text-decoration:underline;" onclick="surroundText('[u]', '[/u]', document.forms.submitform.content); return false;" value="u"/> <input type="button" style="width:50px;" onclick="surroundText('[url]', '[/url]', document.forms.submitform.content); return false;" value="url"/> <input type="button" style="width:50px;" onclick="surroundText('[img]', '[/img]', document.forms.submitform.content); return false;" value="img"/> <input type="button" style="width:50px;" onclick="surroundText('[code]', '[/code]', document.forms.submitform.content); return false;" value="code"/></td> </tr><tr> <td>Content<br/><a href="?do=showSmilies" target="_blank">Show Smilies</a></td> <td><textarea name="content" id="content" cols="50" rows="10"></textarea></td> </tr> <tr><td>Security Code</td> <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2">7177732</font><input name="originalCode" value="7177732" type="hidden" id="originalCode"></td> </tr> <tr> <td></td> <td><input name="code" type="text" id="code"></td> </tr><tr> <td>Name of the Puppy Linux mascot?</td> <td><input name="question" type="text" id="question"></td> </tr> <tr><tr> <td>Password (So people cannot steal your identity)</td> <td><input name="pass" type="password" id="pass"></td> </tr> <tr> <td>&nbsp;</td> <td><input type="submit" name="Submit" value="Add Comment"><input name="sendComment" value="01200" type="hidden" id="sendComment"></td> </tr> </table> </form></div><div id="footer">Copyright Barry Kauler 2008 - All Rights Reserved - Powered by <a href="https://web.archive.org/web/20111009225533/http://pplog.infogami.com/">PPLOG</a><br>All posts are using GMT 8</div></div></body></html><!-- FILE ARCHIVED ON 22:55:33 Oct 09, 2011 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 00:57:21 Nov 24, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.542 exclusion.robots: 0.025 exclusion.robots.policy: 0.016 esindex: 0.013 cdx.remote: 32.363 LoadShardBlock: 143.588 (3) PetaboxLoader3.datanode: 101.538 (4) PetaboxLoader3.resolve: 195.183 (2) load_resource: 232.655 -->

Pages: 1 2 3 4 5 6 7 8 9 10