Growing Venture Solutions - GVS - svn http://growingventuresolutions.com/taxonomy/term/34/0 en Fun 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 &quot;^?&quot; | awk &#039;{print $2}&#039; | 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#comments command line subversion svn Thu, 05 Feb 2009 18:26:23 +0000 Greg 325 at http://growingventuresolutions.com