[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn ignore command feature request.

From: Stefan Sperling <stsp_at_elego.de>
Date: Thu, 27 Jan 2011 12:35:47 +0100

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_at_lt-dc:~/workspace/project> svn st
> ? .classpath
> ? .project
> ? target
> ? my.file
> dc_at_lt-dc:~/workspace/project> svn ignore target
> I target
> dc_at_lt-dc:~/workspace/project> svn add my.file
> A my.file
> dc_at_lt-dc:~/workspace/project> svn st
> ? .classpath
> ? .project
> I target
> A my.file
> dc_at_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
Received on 2011-01-27 12:36:32 CET

This is an archived mail posted to the Subversion Dev mailing list.