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

Re: svn log - combining 'search' and 'limit'

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Wed, 28 Jun 2017 08:01:58 +0000

Daniel Becroft wrote on Wed, 28 Jun 2017 07:40 +0000:
> I expected that if I combined these (for example, `svn log --search "Foo"
> --limit 10`), that I would get the last 10 log messages that contained the
> search criteria, however it only showed those log messages in the last 10
> that contained "Foo". If the latest log message that contained "Foo" was
> number 11, nothing would be displayed.

The --limit filter is implemented at a different layer to the --search
filter.

The --search filtering is implemented directly in the command-line
client; the --limit filter is implemented in the library. They are
implemented orthogonally, so the --search operates only on the results of
--limit, as you observed.

The change you propose certainly makes sense from the perspective of
somebody who uses --search and wants to limit its output. However, from
the opposite perspective, of somebody who uses --limit=500 and then
wants to filter _that_ output to log messages that contain "needle", the
existing behaviour is the desired one. That is: both 'foo | head |
grep bar' and 'foo | grep bar | head' are reasonable use-cases.

A further complication is that applying --limit to the results of
--search would require either downloading the whole log to the client,
or pushing the "search pattern" logic to the server.

tl;dr: I agree that your use-case is valid, but I'm not sure how to
support it.

Cheers,

Daniel
Received on 2017-06-28 10:02:05 CEST

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

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