On 06.11.2018 21:11, Bo Berglund wrote: > I have a project where I want to commit the modified sources in the > top folder but want to prevent it from recursing to subdirectories, > which hold the compiled binaries. These are only to be committed when > the sources are stable. > > I looked at svn ci with the --depth argument, but I do not understand > the wording of the docs: > http://svnbook.red-bean.com/en/1.7/svn.ref.svn.html#svn.ref.svn.sw.depth > > it says: > > --depth ARG > > Instructs Subversion to limit the scope of an operation to a > particular tree depth. ARG is one of empty (only the target itself), > files (the target and any immediate file children thereof), immediates > (the target and any immediate children thereof), or infinity (the > target and all of its descendants—full recursion). > > The problem I have is in the definition of "target"...
"Target" is any file or directory that you tell the command to operate on. For example, when you say: svn commit foo bar "foo" and "bar" are targets for 'svn commit'. You can omit explicit targets for some commands — svn commit is one of them — in which case the implicit target is the current directory; so, svn commit means exactly the same as svn commit . > I am doing the operation inside the top level of the WC tree (where > the .svn dir is located). > The command will be: > svn ci --depth <argument> > > What should I use as argument so that only the changed files in the > current dir are committed? svn commit --depth files (or 'svn commit --depth files .') will only commit /files/ that in the current directory. On the other hand, svn commit --depth immediates will commit files /and/ directories, but will not recurse into the directories. Basically this means that changed files and property changes on directories in the current dir will be committed, but nothing else. > empty does not work for me because the dir is NOT empty That's not what '--depth empty' means. It means "commit only the target itself", so if the target is a directory, it will only commit any property changes on that directory. > files does not work because I don't understand what "file children" is Files within the target direcory. > immediates clearly would include subdirs too? Yes, but nothing inside those subdirs. > infinity not what I want, full recursion... > > Tried to google but I only get hits that deal with the opposite, how > to exclude file commit. > > I want to block recursion into subdirectories... You want either 'svn commit --depth files' or 'svn commit --depth immediates', depending on whether or not property changes on directories matter. -- Brane