Dear fans of Git, a while ago I announced the UGFWIINI contest, a glorious battle of ideas how to Use Git For What It Is Not Indended As most of you probably did not find my blog yet, this may come as a surprise to you, but it will not be the only surprise in this email. I managed to collect 10 candidates already, and since I did all the hard work of collating them, I took the liberty of ordering them into a very subjective order of ugfwiininess (pronounced "You-gah-wee-knee-ness"). Please assist me while reading this mail by hitting your desk alternating between your two index fingers, increasing the frequency from 2 to 4 hertz throughout the mail. Ready? Okay. Number 10: Sergio Callegari describes how to manage opendocument (openoffice.org) files in git in http://kerneltrap.org/mailarchive/git/2008/9/15/3305014 While this might strike some of you as pretty lame, in my opinion it is still something Git was not intended for: Never mind the title "stupid content tracker", Git was clearly intended to track source code stored as small ASCII files; otherwise, 'git diff' would not be such an integral part of Git. Number 9: Tim Ansell talked about managing large media with Git at the GitTogether: http://www.thousandparsec.net/~tim/media+git.pdf This falls into the same category as number 10, but in addition it strains the assumption of Git that you can easily fit the contents of a file into memory, as well as the assumption that it is pretty easy (and meaningful) to make a diff from two versions of a file. Number 8: Avery Pennarun explains his endeavor of tracking windows with git... "If I get a virus, I can 'git revert' it." http://alumnit.ca/~apenwarr/log/?m=200901#21 Sverre remarks: "It even beats the way we use Git to track the MSys installation in msysgit.git..." This is also related to Martin Krafft's idea to sort of replace the Debian packaging management by using Git, but... Number 7: ... actually does something like that: James Tucker implemented a port manager based on Git: http://github.com/raggi/source_ports Number 6: Dieter Plaetinck synchronizes Firefox profiles using Git: http://dieter.plaetinck.be/rethinking_the_backup_paradigm_a_higher-level_approach Now, this even strains the definition of "content"... Number 5: David Abrahams archiving a large number of files (and detecting duplicates) uses Git partly for something it _can_ do, but certainly was not intended to do: identify duplicates. http://kerneltrap.org/mailarchive/git/2009/1/27/4827304 While the content-addressable filesystem has to deal with duplicates in the _time_ dimension very well (not many files are supposed to change from one revision to the next one, so most of the files _are_ duplicated), dealing with it in the _space_ dimension is not the purpose of Git, as can be seen by the lack of tool support for it (also keep in mind the absence of git-cp). Number 4: Josef Wolf asks in <20090131123336.GA1702@xxxxxxxxxxxxxx> (with a fully valid Mail-Followup-To header) "How to move subdirectories from one svn repos to another." "I would like to move a complete subdirectory with all its history from one svn repository to another." Now, the ugfwiininess of this entry is definitely increased dramatically by Josef being inclined to go to Git _and back to Subversion_ again :-) (Imagine a cheeky smirk on the face of your host.) Number 3: Jan Krueger's Git cookbook uses a Git repository as a backend of a content management system: http://repo.zoidberg.org/w/git-articledb.git http://gitrecipes.de/ This is related to the way my own blog works, but he was first. Credit where credit is due. Number 2: At the GitTogether, Sam Vilain presented his idea to use Git as a DB backend: http://utsl.gen.nz/talks/git-db Just think about it: committing by "INSERT INTO"! And now, ladies and gentlemen, please brace yourself for... Number 1: Scott Chacon's iGitHub: Running a git-daemon on an iPhone http://github.com/schacon/igithub/ This is so awesome as to defeat any attempt to describe it. I hope you enjoyed the show, and see you again next time, on Using Git For What It Is Not Intended (Now play your favorite jingle.) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html