Thanks for your response Stefan, I am not a C programmer and do not have in dept knowledge of subversion and it's client implementations but I have done a lot of Java. So this is to be understood as a user feature request and not much else.
I do not understand this: svn ignore --depth=infinity target I set the svn:ignore property on the parent directory and so this tend to set --depth=infinity or recurse ignore as I understand it. I do not want the properties get and set interfaces to change or the data structures. I do not want to bring in new commands that need maintainable, support, documentation, testing ......... however the idea here is to make it convenient to access existing code. 90% of the propget and propset command I do are to append files to the svn:ignore list of files on parent directory. These are complex. This is what I want to have: dc@lt-dc:~/workspace/project> svn st ? target ? bin dc@lt-dc:~/workspace/project> svn ignore target I target dc@lt-dc:~/workspace/project> svn st I target ? bin dc@lt-dc:~/workspace/project> svn propget svn:ignore . target So the technical spec is if the command is ignore append the file or folder to its containing parent folders svn:ignore list. Maybe this would also require a unignore command and an external and unexternal command etc... I can understand that is is not desired by the guys that will have to maintain the code, but these features could maybe be made easier to use so guys like me do not need to do a google search to remind us HowTo. I do not know what the detailed technical consequences of this are but I just think the existing ignore functionality could be made much easier to use. I am very happy to lose to a faction of developers strongly arguing against new subcommands if they can explain why: "svn add target" and "svn rm target" are easy to use. "svn propset svn:ignore -F ignoreList.txt ." is not. I suspect the ignore and externals are stored in properties for good reason (or a consequence of long historical reasoning) and there is no way this should change with this feature request. Thanks again, Doug On Thu, Jan 27, 2011 at 12:35 PM, Stefan Sperling <s...@elego.de> wrote: > On Thu, Jan 27, 2011 at 12:01:19PM +0100, Doug Culnane wrote: >> Guys, >> >> I understand how to use the svn:ignore but it is not the most >> convenient or logical user interface. Would it be possible to provide >> an ignore command line option that would provide a convenient >> interface to add files/folders to the ignore properties list? >> >> ie: >> dc@lt-dc:~/workspace/project> svn st >> ? .classpath >> ? .project >> ? target >> ? my.file >> dc@lt-dc:~/workspace/project> svn ignore target >> I target >> dc@lt-dc:~/workspace/project> svn add my.file >> A my.file >> dc@lt-dc:~/workspace/project> svn st >> ? .classpath >> ? .project >> I target >> A my.file >> dc@lt-dc:~/workspace/project> svn ci -m "add stuff and ignore other stuff..." >> ... >> >> This ignore command could set svn:ignore properties this is just a >> convent easy to use interface to the svn:ignore functionality. > > I like the idea. > > Would you be able to write a detailed behavioural specification > for this new feature? Is its effect just like propset or is it > more like propedit? > > E.g. I think it should behave more like propedit. There should also > be an --depth option (e.g. svn ignore --depth=infinity target), > the equivalent of adding target to svn:ignore properties within the > specified depth of a subtree. > This isn't convenient with propset since that overwrites existing > data in svn:ignore properties. And svn propedit isn't recursive. > That's where I see the real value here. > > And what about removing items from the ignore list? > svn unignore or svn ignore --remove? > > Maybe we could even add more subcommands to edit other multi-line properties > more conveniently. E.g. svn:externals comes to mind, though that doesn't > need to be recursive: > > $ svn external ^/branches/foo/bar dir > $ svn external ^/branches/foo/baz dir > $ svn pg svn:externals dir > ^/branches/foo/bar > ^/branches/foo/baz > $ svn external --remove ^/branches/foo/bar dir > $ svn pg svn:externals dir > ^/branches/foo/bar > > However, there's usually a faction of developers strongly arguing > against new subcommands. I'm not one of them, but we may have to > do some arguing to get this idea accepted :) > > Would you, given the community at large accepts the idea, be willing > to write patches for this new feature? > You could model the new subcommand on existing ones. > If you want to take a quick look at the code, all the svn subcommands > are in this directory: > https://svn.apache.org/repos/asf/subversion/trunk/subversion/svn > > Thanks, > Stefan >