<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Pablo&#039;s blog &#187; Git</title>
	<atom:link href="http://pupeno.com/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://pupeno.com</link>
	<description>A bit of this, a bit of that and a lot about computers</description>
	<lastBuildDate>Wed, 15 Feb 2012 08:39:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pupeno.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/57ca76f9fb1bf9d10a9dd732ea88cc57?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Pablo&#039;s blog &#187; Git</title>
		<link>http://pupeno.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pupeno.com/osd.xml" title="Pablo&#039;s blog" />
	<atom:link rel='hub' href='http://pupeno.com/?pushpress=hub'/>
		<item>
		<title>Git-gc&#039;ing all git repositories</title>
		<link>http://pupeno.com/2011/05/02/git-gcing-all-git-repositories/</link>
		<comments>http://pupeno.com/2011/05/02/git-gcing-all-git-repositories/#comments</comments>
		<pubDate>Mon, 02 May 2011 05:54:05 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[git-gc]]></category>

		<guid isPermaLink="false">https://pupeno.com/?p=2471</guid>
		<description><![CDATA[I was running out of storage space on my machine, so I started to search for things to remove using Grand Perspective. Some of the big files were inside Git repositories, or rather, inside the .git directory of those repositories. I decided it was time to run the Git garbage collector on them, all of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=2471&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was running out of storage space on my machine, so I started to search for things to remove using <a href="http://grandperspectiv.sourceforge.net/">Grand Perspective</a>. Some of the big files were inside Git repositories, or rather, inside the .git directory of those repositories. I decided it was time to run the Git garbage collector on them, all of them.</p>
<p>I wrote this little script:</p>
<pre>
#!/usr/bin/env bash

echo "Gitgcing $1"
cd "$1"
</pre>
<p>and with this line:</p>
<pre>
find . -name ".git" -type d -exec gitgc "{}" ";"
</pre>
<p>run in my home directory, I got all my repos gc&#8217;ed.</p>
<br />Filed under: <a href='http://pupeno.com/category/technical/'>Technical</a> Tagged: <a href='http://pupeno.com/tag/git/'>Git</a>, <a href='http://pupeno.com/tag/git-gc/'>git-gc</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupeno.wordpress.com/2471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupeno.wordpress.com/2471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupeno.wordpress.com/2471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupeno.wordpress.com/2471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupeno.wordpress.com/2471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupeno.wordpress.com/2471/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupeno.wordpress.com/2471/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupeno.wordpress.com/2471/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=2471&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupeno.com/2011/05/02/git-gcing-all-git-repositories/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/931970b8dc51b72e05e3a12b88612d61?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Pablo</media:title>
		</media:content>
	</item>
		<item>
		<title>.gitignore</title>
		<link>http://pupeno.com/2010/07/09/gitignore/</link>
		<comments>http://pupeno.com/2010/07/09/gitignore/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 03:47:15 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[.gitignore]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Git]]></category>

		<guid isPermaLink="false">http://pupeno.com/?p=1727</guid>
		<description><![CDATA[I&#8217;m launching a new site: gitignore.com For now it&#8217;s just a blog, but the final goal is different: Every time I start a new project I hesitate to make the first commit: what should I commit and what shouldn’t I? Essentially, what should I put on .gitignore. The goal of this site is to collet [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=1727&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m launching a new site:</p>
<h1><a href="http://gitignore.com">gitignore.com</a></h1>
<p>For now it&#8217;s just a blog, but <a href="http://gitignore.com/posts/the-goal/">the final goal</a> is different:</p>
<blockquote><p>Every time I start a new project I hesitate to make the first commit: what should I commit and what shouldn’t I? Essentially, what should I put on .gitignore.</p>
<p>The goal of this site is to collet snippet of .gitignore that one should use depending on what framework, software, libraries, etc. are being used. I’ll try to put the ones I’ll know, but please, if you know any, send me an email to <a href="mailto:pupeno@pupeno.com">pupeno@pupeno.com</a> and I’ll publish (with attribution).</p>
<p>My final goal is to develop a small web application with a list of the frameworks (as checkboxes or something) from which you can pick and it’ll build the .gitignore. But I’ll only do it if this site gathers enough information.</p></blockquote>
<br />Filed under: <a href='http://pupeno.com/category/technical/'>Technical</a> Tagged: <a href='http://pupeno.com/tag/gitignore/'>.gitignore</a>, <a href='http://pupeno.com/tag/announcement/'>announcement</a>, <a href='http://pupeno.com/tag/git/'>Git</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupeno.wordpress.com/1727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupeno.wordpress.com/1727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupeno.wordpress.com/1727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupeno.wordpress.com/1727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupeno.wordpress.com/1727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupeno.wordpress.com/1727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupeno.wordpress.com/1727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupeno.wordpress.com/1727/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=1727&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupeno.com/2010/07/09/gitignore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/931970b8dc51b72e05e3a12b88612d61?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Pablo</media:title>
		</media:content>
	</item>
		<item>
		<title>Distributed revision control was a breakthru</title>
		<link>http://pupeno.com/2010/01/06/distributed-revision-control-was-a-breakthru/</link>
		<comments>http://pupeno.com/2010/01/06/distributed-revision-control-was-a-breakthru/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 18:00:45 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[Darcs]]></category>
		<category><![CDATA[distributed revision control]]></category>
		<category><![CDATA[dvcs]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://pupeno.com/?p=1157</guid>
		<description><![CDATA[I strongly believe in revision control. Back in the days when there wasn&#8217;t any other choice that CVS I spent countless hours setting up CVS servers and re-freshing my mind on its obscure commands and arguments, which were almost all of them. If you drop my copy of Professional Linux Programming it&#8217;ll open on the CVS [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=1157&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I strongly believe in revision control. Back in the days when there wasn&#8217;t any other choice that <a href="http://www.nongnu.org/cvs/">CVS</a> I spent countless hours setting up CVS servers and re-freshing my mind on its obscure commands and arguments, which were almost all of them. If you drop my copy of <a href="http://www.amazon.com/gp/product/1861003013?ie=UTF8&amp;tag=pupeno-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1861003013">Professional Linux Programming</a><img style="border:none!important;margin:0!important;" src="http://www.assoc-amazon.com/e/ir?t=pupeno-20&amp;l=as2&amp;o=1&amp;a=1861003013" border="0" alt="" width="1" height="1" /> it&#8217;ll open on the CVS chapter by itself (much like my copy of <a href="http://www.amazon.com/gp/product/0131103628?ie=UTF8&amp;tag=pupeno-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0131103628">The C Programming Language</a><img style="border:none!important;margin:0!important;" src="http://www.assoc-amazon.com/e/ir?t=pupeno-20&amp;l=as2&amp;o=1&amp;a=0131103628" border="0" alt="" width="1" height="1" /> will open itself on the pointers chapter, somewhere on the pointers to pointers section).</p>
<p>Then came Subversion and it was somewhat better. After that we got the explosion of revision control systems with the introduction of distributed ones. We&#8217;ve got <a href="http://pupeno.com/tag/darcs/">Darcs</a>, <a href="http://pupeno.com/tag/git/">Git</a>, Mercurial, Arch, Bazaar, etc. My choice right now is Git. It used to be Darcs, but unfortunately it stagnated for a long time and I moved on to the next new thing. I&#8217;ve used Mercurial as well. From my perspective Mercurial and Git are almost equivalent.</p>
<p>For me distributed revision control was a breakthru. There&#8217;s one small feature that makes a huge difference for me. In the old days I used to set up CVS or Subversion servers/repositories (in those, a repository is essentially a server-side thing). I had to decide where that repository was going to reside, how it was going to be named, how it was going to be accessed (ssh, http, custom protocol?), by whom, etc.</p>
<p>Today with Git I just do this</p>
<pre>git init</pre>
<p>That&#8217;s it. I&#8217;m done. The directory where I am is now a repository. I can start committing, branching, rolling back, looking at the history, generating patches, stashing, etc. It&#8217;s that simple. The fact that it&#8217;s so simple goes from a quantitative advantage to a qualitative advantage. What I mean is that I not only revision-control things faster but that I revision-control things I wouldn&#8217;t have otherwise. For example the configuration directories on my servers.</p>
<p>I know many people will complain: &#8220;But with no centralized repository chaos will ensue&#8221;. The fact that it&#8217;s distributed doesn&#8217;t mean there can&#8217;t be a central repository. When I want to collaborate with someone using Git I create one repo somewhere, in my servers or GitHub and we both push and pull from there. The difference is that I commit a lot locally, and when the chances are ready I push them. That means that I can commit broken code, without worrying.</p>
<p>At work we don&#8217;t use a distributed revision control system, we use a centralized one and we have a very string peer reviewing policy. My current tasks involve touching code in many different files in many different systems never getting familiar to any of them. That means that it&#8217;s common for my peer reviews to say things like &#8220;all this methods don&#8217;t belong here, these two should go there, that one should be broken into three different ones going here, there and somewhere else&#8221;.</p>
<p>Now I have a problem. I can&#8217;t commit because my peers don&#8217;t consider my code ready. My code works but it has to be refactored in a very destructive way. What happens if during the refactoring it stops working. For example copying and pasting I loose a piece of code. I can&#8217;t roll back to my working state and start over. If we were using a distributed revision control system I could.</p>
<p>So, being able to commit non-finished code locally while colaborating with other people is one of my other crucial features in DVCS.</p>
<p>The third one is being able to branch locally. In a similar vein as the last example. When I find myself thinking about a very destructive refactoring that I&#8217;m not sure if it&#8217;s going to get me anywhere and worst than that is going to take me three days to do; I just create a local branch. I experiment in that branch. If at any time I get tired or I need to do anything else I go back to the main one. That is what branching is about.</p>
<p>Why is locally branching better than globally or centralized branching? Well, one reason is that a local branch doesn&#8217;t have to make sense to anyone else. I don&#8217;t have to pick a name that&#8217;s descriptive for anyone else than me. I don&#8217;t have to justify myself for creating a branch with anyone else. Let&#8217;s suppose I had an argument with a co-worker where I believe something is doable and (s)he believes is not. Do I want him/her to see that I created a branch to prove him/her wrong? I don&#8217;t. And if I prove myself wrong I want to quietly delete that branch and never ever talk about it.</p>
<p>But I am starting to go into the very hypothetical realm. In short, for me, DVCS is about this:</p>
<pre>git init</pre>
<p>and get to code.</p>
<br />Posted in Technical Tagged: CVS, Darcs, distributed revision control, dvcs, Git, Mercurial, revision control, Subversion, version control <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupeno.wordpress.com/1157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupeno.wordpress.com/1157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupeno.wordpress.com/1157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupeno.wordpress.com/1157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupeno.wordpress.com/1157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupeno.wordpress.com/1157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupeno.wordpress.com/1157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupeno.wordpress.com/1157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=1157&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupeno.com/2010/01/06/distributed-revision-control-was-a-breakthru/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/931970b8dc51b72e05e3a12b88612d61?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Pablo</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=pupeno-20&#38;l=as2&#38;o=1&#38;a=1861003013" medium="image" />

		<media:content url="http://www.assoc-amazon.com/e/ir?t=pupeno-20&#38;l=as2&#38;o=1&#38;a=0131103628" medium="image" />
	</item>
		<item>
		<title>Revisioning /etc with Git</title>
		<link>http://pupeno.com/2009/12/30/revisioning-etc-with-git/</link>
		<comments>http://pupeno.com/2009/12/30/revisioning-etc-with-git/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 18:00:30 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[/etc]]></category>
		<category><![CDATA[distributed revision control]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://pupeno.com/?p=1165</guid>
		<description><![CDATA[First and foremost I&#8217;m a coder, a coder who strongly believes in revision control. Second I am also a sysadmin; but only by accident. I have some servers and someone has to take care of them. I&#8217;m not a good sysadmin because I don&#8217;t have any interest on it so I learn as little as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=1165&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>First and foremost I&#8217;m a coder, a coder who strongly believes in revision control. Second I am also a sysadmin; but only by accident. I have some servers and someone has to take care of them. I&#8217;m not a good sysadmin because I don&#8217;t have any interest on it so I learn as little as possible and also because I don&#8217;t want to be good at it and get stuck doing that all the time. What I love is to code.</p>
<p>I&#8217;m always scare of touching a file in /etc. What if I break something? I decided to treat /etc the same way I treat my software (where I am generally not afraid of touching anything). I decided to use revision control. So far I&#8217;ve never had to roll back a change in /etc, but it gives me a big peace of mind knowing that I can.</p>
<p>In the days of CVS and Subversion I thought about it, but I&#8217;ve never done it. It was just too cumbersome. But DVCS changed that, it made it trivial. That&#8217;s why I believe DVCS is a breakthru. Essentially what you need to revision-control your /etc with <a href="http://pupeno.com/tag/git/">Git</a> is to go to /etc and turn it into a repository:</p>
<pre>cd /etc
git init</pre>
<p>Done. It&#8217;s now a repo. Then, submit everything in there.</p>
<pre>git add .
git commit -am "Initial commit. Before today it's prehistory, after today it's fun!"</pre>
<p>From now on every time you modify a file you can do</p>
<pre>git add &lt;filename&gt;
git commit -m "Description of the change to &lt;filename&gt;"</pre>
<p>where &lt;filename&gt; is one or many files. Or if you are lazy you can also do:</p>
<pre>git commit -am "Description to all the changes."</pre>
<p>which will commit all pending changes. To see your pending changes do:</p>
<pre>git status</pre>
<p>and</p>
<pre>git diff</pre>
<p>When there are new files, you add them all with</p>
<pre>git add .</pre>
<p>and if some files were remove, you have to run</p>
<pre>git add -u .</pre>
<p>to be sure that they are remove in the repo as well (otherwise they&#8217;ll stay as pending changes forever).</p>
<p>That&#8217;s essentially all the commands I use when using git and doing sysadmin. If you ever have to do a rollback, merge, branch, etc, you&#8217;ll need to <a href="http://www.amazon.com/gp/product/1934356158?ie=UTF8&amp;tag=pupeno-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1934356158">learn git for real</a><img style="border:none!important;margin:0!important;" src="http://www.assoc-amazon.com/e/ir?t=pupeno-20&amp;l=as2&amp;o=1&amp;a=1934356158" border="0" alt="" width="1" height="1" />.</p>
<p>One last thing. I often forget to commit my changes in /etc, so I created this script:</p>
<pre>#!/usr/bin/env sh

cd /etc
git status | grep -v "On branch master" | grep -v "nothing to commit"
true # Don't return 1, which is what git status does when there's nothing to do.</pre>
<p>on /etc/cron.daily/git-status which reminds me, daily, of my pending changes.</p>
<p>Hope it helps!</p>
<br />Posted in Technical Tagged: /etc, distributed revision control, Git, Linux, revision control, sysadmin <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupeno.wordpress.com/1165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupeno.wordpress.com/1165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupeno.wordpress.com/1165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupeno.wordpress.com/1165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupeno.wordpress.com/1165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupeno.wordpress.com/1165/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupeno.wordpress.com/1165/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupeno.wordpress.com/1165/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=1165&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupeno.com/2009/12/30/revisioning-etc-with-git/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/931970b8dc51b72e05e3a12b88612d61?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Pablo</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=pupeno-20&#38;l=as2&#38;o=1&#38;a=1934356158" medium="image" />
	</item>
		<item>
		<title>The single most important feature of Git</title>
		<link>http://pupeno.com/2008/04/04/the-single-most-important-feature-of-git/</link>
		<comments>http://pupeno.com/2008/04/04/the-single-most-important-feature-of-git/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 00:00:44 +0000</pubDate>
		<dc:creator>Pablo</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Darcs]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[source control]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[versioning]]></category>

		<guid isPermaLink="false">http://277</guid>
		<description><![CDATA[My favorite versioning system was Darcs for a long time, but it didn’t really took off and a new competitor is taking off amazingly fast: Git. I believe the single most important feature of Git is to be able to clone (checkout in Subversion jargon) repositories from other systems, particularly SVN. That means that your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=277&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My favorite versioning system was <a href="http://darcs.net/">Darcs</a> for a long time, but it didn’t really took off and a new competitor is taking off amazingly fast: <a href="http://git.or.cz/">Git.</a> I believe the single most important feature of Git is to be able to <a href="http://git.or.cz/gitwiki/GitFaq#head-ebb0e35f64b552e81426c4506430253cb0e2ab6f">clone (checkout in Subversion jargon) repositories from other systems</a>, <a href="http://git.or.cz/gitwiki/GitFaq#head-39f6a37a32f4256e74f64d56739f49285f368574">particularly SVN</a>. That means that your favorite project may be using SVN, but you just clone it and work with Git, in a distributed way, and then send back the changes. Or that you can clone the SVN-repo and basically you already migrated. Amazing!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pupeno.wordpress.com/277/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pupeno.wordpress.com/277/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupeno.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupeno.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupeno.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupeno.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupeno.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupeno.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupeno.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupeno.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupeno.com&amp;blog=8470507&amp;post=277&amp;subd=pupeno&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupeno.com/2008/04/04/the-single-most-important-feature-of-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/931970b8dc51b72e05e3a12b88612d61?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Pablo</media:title>
		</media:content>
	</item>
	</channel>
</rss>
