{"id":270,"date":"2012-08-08T09:15:52","date_gmt":"2012-08-08T13:15:52","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/acts\/?p=270"},"modified":"2012-08-08T09:15:52","modified_gmt":"2012-08-08T13:15:52","slug":"svn-ignoring-git","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/acts\/2012\/08\/08\/svn-ignoring-git\/","title":{"rendered":"SVN ignoring Git"},"content":{"rendered":"<p>The first thing I had to deal with was ignoring multiple files in one directory. I&#8217;ve always known<br \/>\n<code><br \/>\nsvn propset svn:ignore something.txt .<br \/>\n<\/code><\/p>\n<p>But if you then<br \/>\n<code><br \/>\nsvn propset svn:ignore something_else.txt .<br \/>\n<\/code><\/p>\n<p>it will lose the first ignore. The way to do multiple ignores is annoying:<br \/>\n<code><br \/>\nsvn propset svn:ignore \"something.txt<br \/>\n> something_else.txt\" .<br \/>\n<\/code><\/p>\n<p>It requires the &#8220;s and you have to separate the files with a newline.  That&#8217;s silly.<\/p>\n<p>So the right way seems to be with an svn ignore file.  I created a file &#8220;.svnignore&#8221;:<br \/>\n<code><br \/>\n.git<br \/>\n.gitignore<br \/>\n.gitmodules<br \/>\n<\/code><br \/>\n(it doesn&#8217;t have to be called .svnignore, that just keeps it straight with me exactly what it is)<\/p>\n<p>Then the following command needs to be run:<br \/>\n<code><br \/>\nsvn -R propset svn:ignore -F .svnignore .<br \/>\n<\/code><br \/>\nand this will recursively run through every directory in &#8220;.&#8221; and ignore every pattern in the file. The only issue is any time new directories are added that contain git (i.e. submodules) the command will have to be re-run.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The first thing I had to deal with was ignoring multiple files in one directory. I&#8217;ve always known svn propset svn:ignore something.txt . But if you then svn propset svn:ignore something_else.txt . it will lose the first ignore. The way to do multiple ignores is annoying: svn propset svn:ignore &#8220;something.txt > something_else.txt&#8221; . It requires [&hellip;]<\/p>\n","protected":false},"author":4571,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3772,17296,63993],"tags":[63995,64005,64004],"class_list":["post-270","post","type-post","status-publish","format-standard","hentry","category-git","category-svn","category-version-control","tag-git-2","tag-ignore","tag-svn-2"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/posts\/270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/users\/4571"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/comments?post=270"}],"version-history":[{"count":1,"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/posts\/270\/revisions"}],"predecessor-version":[{"id":271,"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/posts\/270\/revisions\/271"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/media?parent=270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/categories?post=270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/acts\/wp-json\/wp\/v2\/tags?post=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}