How to only commit files in the unnamed changelist with SVN?
-
01-10-2019 - |
Question
I am using the command line SVN client (for speed reasons) and have a changelist of files that I wish to ignore on each commit (much like TortoiseSVN does). Is there a way to commit all files except a specific changelist or maybe just commit all files not in a changelist?
Thanks
Solution
No. The changelist is intended for the other way around. Just commit files which are contained in the changelist and not exclude them from committing. If you'd like to ignore certain files, you should put them into the svn:ignore
property, but only if they are not under version control.
OTHER TIPS
I use the following one-liner, assuming you have a changelist named TO_IGNORE where you put files you don't want to commit:
svn st | sed -e "/^--- Changelist 'TO_IGNORE'/,/^--- Changelist/d" | grep '^[ADMR]' | awk '{print $2}' | xargs svn ci
this relies on the fact that "svn st" first lists all files not in any changelist, then all changelists one after the other.
The sed commands deletes all lines between the changelist you want to ignore until the next one.
The grep is used to limit Added, Deleted, Modified, and Replaced files to the commit.
The awk extracts the file name from the svn st output.