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

Re: AW: How to find out the rev number where a file was deleted?

From: Les Mikesell <lesmikesell_at_gmail.com>
Date: Mon, 29 Nov 2010 12:06:03 -0600

On 11/29/2010 11:45 AM, Ludwig, Michael wrote:
>>
>>>> I'd like to be able to see the future too - but
>>>> unfortunately, neither subversion nor I can do that.
>>>
>>> From the user's perspective, it's most definitely not the
>>> future he's asking Subversion to show, but the past.
>>
>> Yes he is, because he is identifying the peg rev but wants the
>> log to give the history of HEAD which is in the future as far as
>> anything that could have been written at the time of that rev,
>> and in fact is a place where the item doesn't exist.
>
> I can see that from the peg rev point of view, HEAD is the future.
> But I think we can also agree that from the SVN user's perspective,
> every single existing rev including HEAD is in the past.

Yes, but from the perspective of getting history where you can only go
backwards, you have to specify the right starting point, and a rev where
the thing doesn't exist isn't the right place.

> Yes, there could be several items - several revision ranges - in
> the index, pointing to several unrelated objects. But is it a big
> problem?

Yes, if you are in the habit of deleting things and adding them back,
then wanting one of the deleted versions.

> In database speak, we'd indeed have a compound key for *uniquely*
> identifying an object, with the first part of that compound key
> being the URL, and the second part the revision. But if we don't
> know the revision, we simply use the URL alone and receive a list
> of all the items ever to have appeared at that URL. Which ones
> we're interested in is then a matter of human decision; but gone
> is the tedium (or wasteful scanning) of establishing the list in
> the first place.

That's a reasonable thing to want, but perhaps not reasonable for the
server to deliver. Would you expect your database to find things for you
if you renamed or deleted the table holding them?

>> A thing with the same name added later as a replacement may have
>> nothing in common with the item you want. I'm not sure what the
>> right test for this would be other than asking for a log with a
>> rev range and a peg rev to anchor it to one specific version.
>
> Give me a listing of the things and either require me to specify
> which one I want or show them all in full detail, depending on the
> circumstances. In the special case where there is only one item in
> the list, no further precision is needed.

It's a big order to make that happen through a client-server connection
that has no such existing concept and no server side hints to do it
efficiently. Maybe the log facility could have another symbolic token
to replace HEAD that would mean you wanted it to find the
end-of-the-line for the item if it was deleted. I'd be more inclined to
want a separate full-text index and search facility instead of building
that into the repository, though. It would be nice if someone could
build a free version, perhaps using riaksearch as the underlying tool so
the exploded index could be distributed over multiple machines.

-- 
    Les Mikesell
      lesmikesell_at_gmail.com
Received on 2010-11-29 19:06:48 CET

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.