<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Recursively adding files to CVS</title>
	<atom:link href="http://vafer.org/blog/20050107005746/feed" rel="self" type="application/rss+xml" />
	<link>http://vafer.org/blog/20050107005746</link>
	<description>ramblings of a creative mind</description>
	<lastBuildDate>Sun, 07 Mar 2010 01:54:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: MartinGehrke.com &#187; Recursively add directories and files to CVS</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-59316</link>
		<dc:creator>MartinGehrke.com &#187; Recursively add directories and files to CVS</dc:creator>
		<pubDate>Wed, 27 Jan 2010 15:11:25 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-59316</guid>
		<description>[...] @ vafer.org find . -type d -print &#124; grep -v CVS &#124; xargs cvs add find . -type f -print &#124; grep -v CVS &#124; xargs cvs [...]</description>
		<content:encoded><![CDATA[<p>[...] @ vafer.org find . -type d -print | grep -v CVS | xargs cvs add find . -type f -print | grep -v CVS | xargs cvs [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Max</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-59278</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Wed, 09 Dec 2009 13:15:23 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-59278</guid>
		<description>Sweet, I use this all the time.</description>
		<content:encoded><![CDATA[<p>Sweet, I use this all the time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-59225</link>
		<dc:creator>James</dc:creator>
		<pubDate>Sun, 02 Aug 2009 02:02:30 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-59225</guid>
		<description>-iregex is a gnu find only extension (as is -!, use \! instead), and really unnecessary since -iname \*CVS\* is the same as the  .*CVS.* regex</description>
		<content:encoded><![CDATA[<p>-iregex is a gnu find only extension (as is -!, use \! instead), and really unnecessary since -iname \*CVS\* is the same as the  .*CVS.* regex</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fooball</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-59096</link>
		<dc:creator>fooball</dc:creator>
		<pubDate>Wed, 04 Mar 2009 15:47:09 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-59096</guid>
		<description>sorry copy the wrong line :)

find . -type f -! -iregex &quot;.*CVS.*&quot; -exec cvs add {} \;</description>
		<content:encoded><![CDATA[<p>sorry copy the wrong line :)</p>
<p>find . -type f -! -iregex &#8220;.*CVS.*&#8221; -exec cvs add {} \;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: fooball</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-59095</link>
		<dc:creator>fooball</dc:creator>
		<pubDate>Wed, 04 Mar 2009 15:41:24 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-59095</guid>
		<description>kinda the same solutions but w/o so much wasted pipes ;-)

find . -type d -! -name CVS -! -name &#039;.&#039; -exec cvs add {} \;
find . -type f -! -name CVS -! -name &#039;.&#039; -exec cvs add {} \;</description>
		<content:encoded><![CDATA[<p>kinda the same solutions but w/o so much wasted pipes ;-)</p>
<p>find . -type d -! -name CVS -! -name &#8216;.&#8217; -exec cvs add {} \;<br />
find . -type f -! -name CVS -! -name &#8216;.&#8217; -exec cvs add {} \;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daevid Vincent</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-59092</link>
		<dc:creator>Daevid Vincent</dc:creator>
		<pubDate>Tue, 03 Mar 2009 00:41:35 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-59092</guid>
		<description>Be aware that the command uses &quot;grep&quot; and you might have grep aliased to some command lines. For example, as a programmer, I find this useful:

     alias grep=&#039;grep -n -i --color=auto&#039;

However, it fails the above commands. So you have to type &quot;unalias grep&quot; first.</description>
		<content:encoded><![CDATA[<p>Be aware that the command uses &#8220;grep&#8221; and you might have grep aliased to some command lines. For example, as a programmer, I find this useful:</p>
<p>     alias grep=&#8217;grep -n -i &#8211;color=auto&#8217;</p>
<p>However, it fails the above commands. So you have to type &#8220;unalias grep&#8221; first.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todd</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-58980</link>
		<dc:creator>Todd</dc:creator>
		<pubDate>Thu, 20 Nov 2008 17:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-58980</guid>
		<description>I love it.

Thanks!</description>
		<content:encoded><![CDATA[<p>I love it.</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cowgod</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-58962</link>
		<dc:creator>cowgod</dc:creator>
		<pubDate>Tue, 04 Nov 2008 22:39:38 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-58962</guid>
		<description>thank you, thank you, thank you.  awesome.</description>
		<content:encoded><![CDATA[<p>thank you, thank you, thank you.  awesome.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Todd</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-58743</link>
		<dc:creator>Todd</dc:creator>
		<pubDate>Tue, 06 May 2008 20:28:38 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-58743</guid>
		<description>Thanks guys this is just what I needed.  Don&#039;t have eclipse setup on my mac. :(</description>
		<content:encoded><![CDATA[<p>Thanks guys this is just what I needed.  Don&#8217;t have eclipse setup on my mac. :(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nikolaus</title>
		<link>http://vafer.org/blog/20050107005746/comment-page-1#comment-50846</link>
		<dc:creator>Nikolaus</dc:creator>
		<pubDate>Sat, 08 Dec 2007 03:49:09 +0000</pubDate>
		<guid isPermaLink="false">http://vafer.org/blog/20050005005746#comment-50846</guid>
		<description>Thanks, this is fantastic

It did not work for me as specified under bash on OS X, I had to use the following, and note the -n1 parameter for xargs:

find . -type d -print &#124; grep -v CVS &#124; xargs -n1 cvs add
find . -type f -print &#124; grep -v CVS &#124; xargs -n1 cvs add

the -n1 ensures that cvs add is called only for a single file each time. That&#039;s required because while cvs add can be called with a number of files as argument, if one of the arguments &quot;aborts&quot; the add, the others won&#039;t be added. I found that to happen with the first line which adds the directories. If a directory is already there, cvs add aborts instead of just skipping it like it does with files.

So it would do a cvs add dir1 dir2 dir3, but because dir1 was already in the repository, it would not add dir 2 and 3. I am not sure it&#039;s required for files, but it can&#039;t hurt.</description>
		<content:encoded><![CDATA[<p>Thanks, this is fantastic</p>
<p>It did not work for me as specified under bash on OS X, I had to use the following, and note the -n1 parameter for xargs:</p>
<p>find . -type d -print | grep -v CVS | xargs -n1 cvs add<br />
find . -type f -print | grep -v CVS | xargs -n1 cvs add</p>
<p>the -n1 ensures that cvs add is called only for a single file each time. That&#8217;s required because while cvs add can be called with a number of files as argument, if one of the arguments &#8220;aborts&#8221; the add, the others won&#8217;t be added. I found that to happen with the first line which adds the directories. If a directory is already there, cvs add aborts instead of just skipping it like it does with files.</p>
<p>So it would do a cvs add dir1 dir2 dir3, but because dir1 was already in the repository, it would not add dir 2 and 3. I am not sure it&#8217;s required for files, but it can&#8217;t hurt.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
