<?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/"
	>

<channel>
	<title>linsec.ca blog &#187; git</title>
	<atom:link href="http://linsec.ca/blog/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://linsec.ca/blog</link>
	<description>You can have it right, or you can have it now.  But you can&#039;t have it right now.</description>
	<lastBuildDate>Mon, 23 Jan 2012 23:38:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Some quick git tips</title>
		<link>http://linsec.ca/blog/2012/01/05/some-quick-git-tips/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=some-quick-git-tips</link>
		<comments>http://linsec.ca/blog/2012/01/05/some-quick-git-tips/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 19:16:52 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git config]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=1045</guid>
		<description><![CDATA[As I&#8217;ve been git-ifying some stuff around here, I&#8217;ve run into a few tips that might be useful for other git beginners. The first is to setup some global options, some of which are nice for folks coming from Subversion. Having a global ignore file is useful. Mine has the following contents: *~ *.orig *.rej [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve been git-ifying some stuff around here, I&#8217;ve run into a few tips that might be useful for other git beginners.</p>
<p>The first is to setup some global options, some of which are nice for folks coming from Subversion.  Having a global ignore file is useful.  Mine has the following contents:</p>
<pre>
*~
*.orig
*.rej
*.swp
.#*
*.o
.DS_Store
</pre>
<p>Then adjust some global git options:</p>
<pre>
$ git config --global core.excludesfile ~/.gitignore
$ git config --global alias.st status
$ git config --global alias.ci commit
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ git config --global core.editor "vim"
$ git config --global color.branch auto
$ git config --global color.diff auto
$ git config --global color.interactive auto
$ git config --global color.status auto
</pre>
<p>The last few allow for colorized output, which I like (makes things like git status easier to read).</p>
<p>I also found out that I had screwed up the remote origin when setting up a new repository, and didn&#8217;t want to re-do everything, so found this useful one-liner:</p>
<pre>
$ git remote rm origin
</pre>
<p>Git n00bs like me will appreciate the above.  =)  (Note to self, express git urls as ssh://git.remote.com/path/to/repo.git rather than ssh://git.remote.com:/path/to/repo.git!)</p>
<p>Finally, I found an excellent resource called <a href="http://qugstart.com/blog/ruby-and-rails/create-a-new-git-remote-repository-from-some-local-files-or-local-git-repository/">Create a new Git Remote Repository from some local files (or local git repository)</a>.  Very accurate, very clear, and very easy to follow.  Essentially I was taking a 4GB set of documents and wanted to turn it into a remote repository so that I could push/pull from my laptop and using this article, I was able to do so easily.</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2012/01/05/some-quick-git-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rsec and AIDE+gpg now on github</title>
		<link>http://linsec.ca/blog/2011/10/29/rsec-and-aidegpg-now-on-github/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rsec-and-aidegpg-now-on-github</link>
		<comments>http://linsec.ca/blog/2011/10/29/rsec-and-aidegpg-now-on-github/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 23:41:46 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[AIDE+gpg]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[rsec]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=1029</guid>
		<description><![CDATA[Ok, so the last of my git-related topics today (I need to get back to washing windows, sadly). I&#8217;ve pulled out AIDE+gpg and rsec from the Annvix tools subversion repository and they are now on github: AIDE+gpg on github rsec on github The next step, maybe for around Christmas, is to turn these into Fedora [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so the last of my git-related topics today (I need to get back to washing windows, sadly).</p>
<p>I&#8217;ve pulled out AIDE+gpg and rsec from the Annvix tools subversion repository and they are now on github:</p>
<p><a href="https://github.com/vdanen/AIDE_gpg">AIDE+gpg on github</a><br />
<a href="https://github.com/vdanen/rsec">rsec on github</a></p>
<p>The next step, maybe for around Christmas, is to turn these into Fedora and/or EPEL packages so that I can (finally?) actually be a Fedora contributor beyond just filing security bugs.  I may be the only one made happy by that, but I think it would be cool.  =)</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2011/10/29/rsec-and-aidegpg-now-on-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dissecting part of a subversion repo to git</title>
		<link>http://linsec.ca/blog/2011/10/29/dissecting-part-of-a-subversion-repo-to-git/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dissecting-part-of-a-subversion-repo-to-git</link>
		<comments>http://linsec.ca/blog/2011/10/29/dissecting-part-of-a-subversion-repo-to-git/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 19:14:48 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=1027</guid>
		<description><![CDATA[Well, that was pretty easy to figure out. As per my last post, I was going to try to break out the AIDE+gpg part of the Annvix tools subversion repo to be it&#8217;s own git repo. It was scary simple. First, the location of AIDE+gpg in the subversion repo was &#8220;tools/AIDE+gpg&#8221; and it had one [...]]]></description>
			<content:encoded><![CDATA[<p>Well, that was pretty easy to figure out.  As per my last post, I was going to try to break out the AIDE+gpg part of the Annvix tools subversion repo to be it&#8217;s own git repo.  It was scary simple.</p>
<p>First, the location of AIDE+gpg in the subversion repo was &#8220;tools/AIDE+gpg&#8221; and it had one sub-directory, &#8220;trunk&#8221;.  I never did end up using tags or branches or anything there.  So the entire step from start to finish to do it was as follows:</p>
<pre>
git init AIDE
cd AIDE
echo "vdanen = Vincent Danen <[my email]>" >authors.txt
git svn init -T trunk svn+ssh://[repo]/tools/AIDE+gpg --no-metadata
git svn fetch -A authors.txt
git init --bare ../tmp
cd ../tmp
git symbolic-ref HEAD refs/heads/trunk
cd ../AIDE
git remote add bare ../tmp
git config remote.bare.push 'refs/remotes/*:refs/heads/*'
git push bare
cd ../tmp
git branch -a
git branch -m trunk master
mv tmp AIDE+gpg.git
</pre>
<p>Presto.  Done.  Apparently I should now put this repo somewhere public (like github).  I will figure that part out after lunch.</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2011/10/29/dissecting-part-of-a-subversion-repo-to-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Figuring this git thing out</title>
		<link>http://linsec.ca/blog/2011/10/29/figuring-this-git-thing-out/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=figuring-this-git-thing-out</link>
		<comments>http://linsec.ca/blog/2011/10/29/figuring-this-git-thing-out/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 18:37:29 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=1019</guid>
		<description><![CDATA[I&#8217;m a little old-school in that I like subversion. I&#8217;ve used subversion for years, and have had it as a big part of my workflow for a really really long time. Unfortunately, there&#8217;s this git thing popping up all over the place and I&#8217;m starting to feel dated. (It&#8217;s bad enough that my daughter turned [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a little old-school in that I like subversion.  I&#8217;ve used subversion for years, and have had it as a big part of my workflow for a really really long time.  Unfortunately, there&#8217;s this git thing popping up all over the place and I&#8217;m starting to feel dated.  (It&#8217;s bad enough that my daughter turned 10 this month, which makes me feel old, so I have to find other ways of not feeling out-dated!).</p>
<p>The problem is that all of my version control repos are in subversion, and I hate losing history.  On some, I went through a painful CVS->SVN migration when I first started using subversion, and I was pleasantly surprised that git makes it quite a bit easier.  I found <a href="http://www.albin.net/git/convert-subversion-to-git">this blog posting</a> that helped me (for the most part&#8230; if you don&#8217;t use tags and branches, etc. you want to pay attention when doing some of the steps&#8230; took me a bit to figure that out).  Most notably, in steps four and five when changing the &#8220;trunk&#8221; to &#8220;master&#8221;; it assumes you have the standard trunk/, tags/, branches/ layout (which I do in some repos, and not in others).  If you use that convention, it works fine.  If not, you can run into problems like I did.</p>
<p>The posting indicates to use:</p>
<pre>
git svn clone [SVN repo URL] --no-metadata -A authors-transform.txt \
   --stdlayout ~/temp
...
git init --bare ~/new-bare.git
cd ~/new-bare.git
git symbolic-ref HEAD refs/heads/trunk
cd ~/temp
git remote add bare ~/new-bare.git
git config remote.bare.push 'refs/remotes/*:refs/heads/*'
git push bare
cd ~/new-bare.git
git branch -m trunk master
</pre>
<p>But this didn&#8217;t work for me, as &#8211;stdlayout isn&#8217;t so standard in my case (no tags/trunk/branches, so the top-level is the &#8220;trunk&#8221;).  Instead I had to do:</p>
<pre>
git svn clone [svn repo] -A authors-transform.txt ~/tmp/git
cd ~/tmp/git
git init --bare ~/git/scripts.git
git remote add bare ~/git/scripts.git
git config remote.bare.push 'refs/remotes/*:refs/heads/*'
git push bare
cd ~/git/scripts.git
git branch -m git-svn master
</pre>
<p>In this case, the only branch is the &#8220;git-svn&#8221; branch, so we want to turn &#8220;git-svn&#8221; into &#8220;master&#8221; (rather than trying to hunt down some non-existant branch called &#8220;trunk&#8221;).  There might have been a better way to do this, but I&#8217;m a n00b so forgive me.  All the explanation for the above is in that blog post I mentioned before (I&#8217;m mostly noting this as undoubtably I&#8217;ll bump my head against this again).</p>
<p>Some other useful links I found were <a href="http://wiki.sourcemage.org/Git_Guide#How_do_I_get_my_copy_of_the_repository.3F">this git guide</a> and a piece on <a href="http://gofedora.com/how-to-install-configure-gitweb/">setting up gitweb on Fedora</a> (works on RHEL also).  Gitweb was essential, as I&#8217;m used to using viewvc with my subversion repos.</p>
<p>So will I use git for all my repos?  Probably not.  There are some old ones that don&#8217;t need to be converted because it&#8217;s all legacy code, and there are some others that I&#8217;ve built up with too much automation.  I would like to try to extract some pieces of existing subversion repos into git, however.  The AIDE+gpg scripts are one; they&#8217;re in the Annvix tools repo, and I&#8217;d like to try to break it out into it&#8217;s own git repo with history&#8230; not sure if this is possible but I&#8217;ll poke around and see what I can come up with.  There are a few other Annvix tools that I&#8217;d do the same with (the rsec tool for one).  Since Annvix isn&#8217;t in development anymore, I&#8217;d like to &#8220;untie&#8221; those tools from it and offer them as stand-alone things (probably on github or something).</p>
<p>So that&#8217;s my Saturday adventures for this weekend.  =)</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2011/10/29/figuring-this-git-thing-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choosing the right Git GUI client for Mac OS X</title>
		<link>http://linsec.ca/blog/2011/04/12/choosing-the-right-git-gui-client-for-mac-os-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=choosing-the-right-git-gui-client-for-mac-os-x</link>
		<comments>http://linsec.ca/blog/2011/04/12/choosing-the-right-git-gui-client-for-mac-os-x/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 04:52:21 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[techmail]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=970</guid>
		<description><![CDATA[Last week&#8217;s mac techmail was Choosing the right Git GUI client for Mac OS X in which I looked at the Tower application, a Git GUI client for OS X. I&#8217;ve looked at a few Git clients for OS X and Tower was my application of choice amongst the contenders; the tip explains why. Tower [...]]]></description>
			<content:encoded><![CDATA[<p>Last week&#8217;s mac techmail was <a href="http://www.techrepublic.com/blog/mac/choosing-the-right-git-gui-client-for-mac-os-x/1080">Choosing the right Git GUI client for Mac OS X</a> in which I looked at the Tower application, a Git GUI client for OS X.  I&#8217;ve looked at a few Git clients for OS X and Tower was my application of choice amongst the contenders; the tip explains why.  Tower isn&#8217;t as feature-complete as I would like it to be (most notably it&#8217;s missing git-svn support), but this is coming, as per the developers, and it&#8217;s a pretty slick program despite this (to me) glaring feature omission.</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2011/04/12/choosing-the-right-git-gui-client-for-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Fedora git repositories</title>
		<link>http://linsec.ca/blog/2010/08/03/new-fedora-git-repositories/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-fedora-git-repositories</link>
		<comments>http://linsec.ca/blog/2010/08/03/new-fedora-git-repositories/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 17:00:10 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=811</guid>
		<description><![CDATA[A little bit frustrated with Fedora&#8217;s new git repositories this morning (for packages). Ding-Yi Chen has a really nice write-up on how to get started with it. Got me a few of the essentials that I had missed earlier. I like the new certificate that can be used with Koji. That&#8217;s pretty slick. Ding-Yi Chen [...]]]></description>
			<content:encoded><![CDATA[<p>A little bit frustrated with Fedora&#8217;s new git repositories this morning (for packages).    Ding-Yi Chen has a really nice <a href="http://dingyichen.livejournal.com/25956.html">write-up</a> on how to get started with it.  Got me a few of the essentials that I had missed earlier.  I like the new certificate that can be used with Koji.  That&#8217;s pretty slick.  Ding-Yi Chen also points to a few of the official git-related pages you may need to visit; I&#8217;ll recap them here but he&#8217;s got a point-by-point getting-things-running on his blog that was really helpful (thanks!)</p>
<ul>
<li> <a href="https://fedoraproject.org/wiki/Package_update_HOWTO">Fedora project&#8217;s Package_update_HOWTO</a>
<li> <a href="https://fedoraproject.org/wiki/Using_Fedora_GIT">Fedora project&#8217;s Using_Fedora_GIT</a>
<li> <a href="http://www.mail-archive.com/devel@lists.fedoraproject.org/msg12141.html">For know that I need a new version of fedora-packager</a>
<li> <a href="http://www.spinics.net/lists/fedora-devel/msg139852.html">and this for let git push to the branch you are tracking</a>
</ul>
<p>Unfortunately, there still seems to be some issues:</p>
<pre>
Cloning into bare repository /cvs-scratch/fedora/opensc/fedpkg.git...
open log failed: Permission denied
fatal: The remote end hung up unexpectedly
Could not clone: Command '['git', 'clone', '--bare', 'ssh://me@pkgs.fedoraproject.org/opensc', '/cvs-scratch/fedora/opensc/fedpkg.git']' returned non-zero exit status 128
</pre>
<p>I&#8217;m not sure what this means.  But the old CVS repository doesn&#8217;t seem to be usable either, which kinda stinks.  I&#8217;m sure it&#8217;s just a minor buglet or two and will get worked out eventually.  Very very happy that we&#8217;re no longer using CVS for this&#8230; I&#8217;d prefer SVN myself, but git is ok too.</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2010/08/03/new-fedora-git-repositories/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Work on remote Subversion repositories locally with Git</title>
		<link>http://linsec.ca/blog/2010/04/29/work-on-remote-subversion-repositories-locally-with-git/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=work-on-remote-subversion-repositories-locally-with-git</link>
		<comments>http://linsec.ca/blog/2010/04/29/work-on-remote-subversion-repositories-locally-with-git/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 14:36:30 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[techmail]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=743</guid>
		<description><![CDATA[This week&#8217;s techmail is Work on remote Subversion repositories locally with Git which talks about using Git locally to interface with a remote (or local, even) subversion repository. Involved in a project that uses Subversion as their version control system, but prefer to use Git? No problem. The svn-git plugin can make it seamless to [...]]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s techmail is <a href="http://blogs.techrepublic.com.com/opensource/?p=1468">Work on remote Subversion repositories locally with Git</a> which talks about using Git locally to interface with a remote (or local, even) subversion repository.  Involved in a project that uses Subversion as their version control system, but prefer to use Git?  No problem.  The svn-git plugin can make it seamless to work with a Subversion repository while you use Git locally.  It works really slick, and is definitely well worth it for people who prefer Git but have to make use of a Subversion repository.</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2010/04/29/work-on-remote-subversion-repositories-locally-with-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert CVS repositories to Git</title>
		<link>http://linsec.ca/blog/2010/03/09/convert-cvs-repositories-to-git/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=convert-cvs-repositories-to-git</link>
		<comments>http://linsec.ca/blog/2010/03/09/convert-cvs-repositories-to-git/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 23:46:55 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[techmail]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=712</guid>
		<description><![CDATA[This week&#8217;s techmail is Convert CVS repositories to Git which goes into the how, and possibly the why, of converting a CVS repository into a git repository, retaining all commit and history information.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s techmail is <a href="http://blogs.techrepublic.com.com/opensource/?p=1321">Convert CVS repositories to Git</a> which goes into the how, and possibly the why, of converting a CVS repository into a git repository, retaining all commit and history information.</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2010/03/09/convert-cvs-repositories-to-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn to use Git version control for added flexibility</title>
		<link>http://linsec.ca/blog/2009/11/26/learn-to-use-git-version-control-for-added-flexibility/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=learn-to-use-git-version-control-for-added-flexibility</link>
		<comments>http://linsec.ca/blog/2009/11/26/learn-to-use-git-version-control-for-added-flexibility/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 22:08:18 +0000</pubDate>
		<dc:creator>vdanen</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[techmail]]></category>

		<guid isPermaLink="false">http://linsec.ca/blog/?p=639</guid>
		<description><![CDATA[This week&#8217;s TechMail is Learn to use Git version control for added flexibility which talks about some of the basics of using Git. This was good for me since I&#8217;m a subversion monkey, but since a lot of projects are using Git now, I really needed to get the basics down (and so it makes [...]]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s TechMail is <a href="http://blogs.techrepublic.com.com/opensource/?p=1053">Learn to use Git version control for added flexibility</a> which talks about some of the basics of using Git.  This was good for me since I&#8217;m a subversion monkey, but since a lot of projects are using Git now, I really needed to get the basics down (and so it makes sense to write about it).</p>
]]></content:encoded>
			<wfw:commentRss>http://linsec.ca/blog/2009/11/26/learn-to-use-git-version-control-for-added-flexibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

