{
  "$type": "site.standard.document",
  "canonicalUrl": "https://oli.zilla.org.uk/2010/12/07/installing-git-on-debian-lenny",
  "description": "A needlessly funny walkthrough on configuring lenny-backports to get Git 1.7 on Debian Lenny.",
  "path": "/2010/12/07/installing-git-on-debian-lenny",
  "publishedAt": "2010-12-07T00:00:00.000Z",
  "site": "at://did:plc:2ngsl5btroik454wzz7vpbzq/site.standard.publication/3mn67n3cam32w",
  "textContent": "Git on Lenny, a love story\n\n> \"You are running Debian stable, because you prefer the Debian stable tree. \n> It runs great, there is just one problem: the software is a little bit outdated compared to other distributions.\"\n[http://backports.debian.org/][backports]\n\nExactly...\n\nSo I have Debian Lenny running nicely as a production server. Along comes git. A long period of flirtation follows and eventually I find myself calling her everyday. Time to make a real git of her and get her into the [workflow]. So I save up 3 months wages, get down on one knee and roll out a:\n\n\tDONT DO THIS! Skip to the end if you prefer facts to love and stories.\n\t$ sudo aptitude update\n\t$ sudo aptitude install git\n\t... pregnant pause while internets are downloaded\n\t... Done\n\nSo I'm all happy as to my eyes that's a yes, but then things get weird. She pulls off her face and reveals that she is infact a transitional dummy package to pull in the renamed gnuit package. It can be safely removed.\n\nWhat!? Please expand on that you freak...\n\t\n\t$ aptiude show gnuit\n\tPackage: gnuit\n\t...\n\tProvides: git\n\tDescription: GNU Interactive Tools, a file browser/viewer and process viewer/killer\n\nErm... hold it right there. You are not the git I love. Git would never claim to be a file viewer killer like that. It would say something more sexually aggressive like fast, scalable, distributed revision control system or something. I hate you fakey git imposter. Be gone from this box:\n\n\t$ sudo aptitude purge git\n\nOK now think fast dammit, where did you see her last.\n\n\t$ aptitude search git\n\tgit-core - fast, scalable, distributed revision control system\n\nA-HA!, git-core!, well of course I love your new hair-do, I just didn't recognise you, what with getting your name changed and all, come here:\n\n\t$ sudo aptitude install git-core\n\t... pregnant pause while internets are downloaded\n\t... Done\n\nthank god it's you. Still I hope you don't mind but I'd just like to take a quick look at your birth certificate over here...\n\n\t$ git --version\n\tgit version 1.5.6.5\n\t\nNO NO NO. If there is one thing worse than installing completely unrelated packges, it's finding the package you want is older than your nan.\n\n\t$ sudo aptiude purge git-core\t\n\nOh wrinkly torment I've just purged your grandmother. You were a youthful git 1.7 when we last met, what have I done to deserve this... Googling commences, hmm debian sources... yes yes, git-core, uh huh, (obsolete), oh what have i done, [stackoverflow][so]... git-core... not you again, ...wait... what... backports you say? install lenny-backports-keyring you say? that all sounds a bit extreme, I just want git... hyperlinking now...\n\n[backports.debian.org][backports] is where it's at! To complete the quote at the top:\n\n> \"...the software is a little bit outdated compared to other distributions. This is where backports come in.\n> \n> Backports are recompiled packages from testing (mostly) and unstable (in a few cases only, e.g. security updates) in a stable environment so that they will run without new libraries (whenever it is possible) on a Debian stable distribution.\"\n\nGo there and be sure to check the instructions page which is a couple of steps simpler than the stackoverflow suggestion, or just read on...\n\nInstalling git 1.7 rather than gnuit or git 1.5 on Debian Lenny\n---------------------------------------------------------------\n\t\nIn /etc/apt/sources.list add\n\t\n\tdeb http://backports.debian.org/debian-backports lenny-backports main\n\nUpdate your apt indexes\n\t\n\t$sudo apt-get update\n\nCheck you can now see the latest git version. The lesson from all that rambling above is to always ask apt what it is you are about to install before doing it.\n\n\t$ aptitude -t lenny-backports show git\n\tPackage: git\n\tState: not installed\n\tVersion: 1:1.7.1-1.1~bpo50+1\n\tDescription: fast, scalable, distributed revision control system\n\t\nGo install!\n\t\n\t$ sudo aptitude -t lenny-backports install git\n\t... Done\n\t$ git --version\n\tgit version 1.7.1\n\nLove, git init your brains out and have git babies. See below:\n\n<img src=\"http://joemaller.com/wordpress/wp-content/uploads/2008/11/hub-prime2.jpg\" title=\"git babies\" />\n\nNow I can get on with that web focused git workflow. If you are wondering how to make git do all your work for you then I  highly recommend Mr joemaller's [article][workflow] on the subject.\n\nCredits\n-------\n stackoverflow: [http://serverfault.com/questions/157383/why-does-the-debian-lenny-git-package-not-install-git] [so]\n backports: [http://backports.debian.org/][backports]\n* workflow: [http://joemaller.com/990/a-web-focused-git-workflow/][workflow]\n\n[so]: http://serverfault.com/questions/157383/why-does-the-debian-lenny-git-package-not-install-git \"Well serverfault actually, but it's all the same to me thanks\"\n[backports]: http://backports.debian.org/\n[workflow]: http://joemaller.com/990/a-web-focused-git-workflow/",
  "title": "Git on Lenny, a love story"
}