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

Re: Re: limiting logs and diffs to specific nodes

From: Adam Monsen <haircut_at_gmail.com>
Date: 2006-09-19 01:01:12 CEST

Hi Andrew,

Thank you for your reply. At this point I'd like to migrate this
conversation to the subversion "dev" mailing list, per Garrett Rooney's
suggestion.

For all you seeing this for the first time, I made a suggestion on the
"users" mailing list that the svn client support excluding nodes with an
"--exclude" (or similar) command line option during diffs and logs.

For reference, here's the original thread on the "users" mailing list:
http://subversion.tigris.org/servlets/ReadMsg?list=users&msgNo=54771

And here's the relevant issue that has been filed. It is resolved INVALID
pending mailing list acceptance, per Lieven Govaerts' decision.
http://subversion.tigris.org/issues/show_bug.cgi?id=2609

On 9/18/06, Reedick, Andrew < Andrew.Reedick@bellsouth.com> wrote: [...]

> You might have better luck by showing precedence. The gnu diff in
> cygwin has the x options:
> -x PAT --exclude=PAT
> Exclude files that match PAT.
>
> -X FILE --exclude-from=FILE
> Exclude files that match any pattern in FILE.

Precedence? Did you mean preference? If so, I concur. I should get off my
lazy butt and write a spec, as Garrett has suggested.

This will take me some time; I need to read some source. I need to troll the
mailing lists looking to see how other features came to fruition and decide
if this is something I want to do personally. Right now my only motivation
is that it would be cool to participate in an awesome product that I use
daily at work and at home. I need to balance that with the need to spend
time with my family on nights and weekends, since that's when I'd be working
on this. But enough about me. :)

IMO, you would definitely need the --exclude-from=FILE to be useful.

Thank you for your suggestion.

And what pattern matching standard would you use? perl regex? OS
> specific wildcards? something else?

I think simple is good, so the idea would be that nodes (and their children,
if the nodes are directories) are filtered out explicitly, by name.
Suggestions welcome, of course.

And is 1.4.0's "svn diff --summarize" an adequate workaround? Get the
> summary, filter out what you don't like, and run your log/diff on the
> filtered subset.

--summarize sounds nice! I hadn't heard of that, but I'll check it out. It
would be much simpler to create my own filter using that.

And what does it mean to filter out 'svn log --exclude .../lib'?

I'm confused... this isn't what I wrote. Please refer to my original example
and let me know if it still doesn't make sense.

Given that a single revision can contain changes to multiple directories,
> how
> exactly would that be implemented

I don't know how the implementation would work, but I don't think the fact
that a a single revision can contain changes to multiple directories has any
impact on this feature request.

and how is it useful?

It's useful in the same way that "grep -r --exclude" is.

Given the plethora of filtering tools (perl, sed, grep, find, ksh, etc.)
> why do we need a specific option to exclude files?

Convenience.

For example, consider filtering out one directory (and its children) from a
recursive, unified diff containing many directories. While entirely possible
to hand-munge after the fact, this is much easier to do by using diff's
"--exclude" and/or "--exclude-from".

I'm not saying it's a bad idea, but I do think it falls under "nice to
> have if it's free, but I wouldn't pay money for it."
>
[...]

Fair 'nuff!

-- 
Adam Monsen
Received on Tue Sep 19 01:01:38 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.