Growing Venture Solutions - GVS - svn
http://growingventuresolutions.com/taxonomy/term/34/0
enFun at the Command Line: Add All Files in a Directory Tree to SVN (subversion)
http://growingventuresolutions.com/blog/fun-command-line-add-all-files-directory-tree-svn-subversion
<p>I often update code by adding files in a bunch of directories and then need to add all thosefiles to the svn repository. Here is the command line one-liner to get that done and an explanation:</p>
<p><code>svn stat | grep "^?" | awk '{print $2}' | xargs svn add</code></p>
<ol>
<li><code>svn stat</code> tells you the status of all the files in the directory with a question mark at the beginning of the line for any files that svn doesn't currently know about (i.e. that aren't under revision control).</li>
<li>The next step is to pipe that to a <code>grep</code> command that looks for lines beginning with a question mark so that we can add only those items to svn.</li>
<li>Next, since the output of svn stat is a two column listing split by whitespace with the status indicator first and the full path to the file second, we use a simple <code>awk</code> pattern to print out just filename</li>
<li>Finally, we use the xargs command to take the input and pass it on to the <code>svn add</code> command which schedules the files to be added to the repository.</li>
</ol>
<p>I will typically run <code>svn stat | less</code> first and review the output to make sure that the command is only going to add things I want. I do the same thing just before any commit. If you need to undo the addition of some file prior to the commit, simply <code>svn revert filename</code> or use the recursive flag like <code>svn revert --recursive path/to/directory/</code> if you are dealing with a directory.</p>
<p>Once you're happy with the changes, all you need to do is an actual <code>svn commit</code> so that the files will be permanently added to the repository.</p>
http://growingventuresolutions.com/blog/fun-command-line-add-all-files-directory-tree-svn-subversion#commentscommand linesubversionsvnThu, 05 Feb 2009 18:26:23 +0000Greg325 at http://growingventuresolutions.com