RE: [PATCH][RFC] svnadmin load --ignore-dates
From: Bert Huijben <bert_at_qqmail.nl>
Date: Wed, 5 Feb 2014 11:58:04 +0100
The ra layer function to do a date lookup currently doesn’t have a path, so we do a date lookup on the repository level and then use it like a revision number.
To make date useful without the current limitations we should first design a few new ra level functions that allow resolving a date (range) to something that would be useful as input. Just fixing the backend to return some other revision when we pass a date won’t help in any way.
Operations like
$ svn merge -r {2014-01-01}:{2014-01-31} trunk .
don’t make any sense if the first date resolves to r789 and the second to r2, because ^/second-product /trunk and ^/dependencies/other-project/trunk just happens to have the best match for those exact dates.
The whole idea of our current date resolving assumes that we have continuously growing timestamps over the entire repository. If we want to change that we should change the scope of the date lookup as the first step.
Perhaps we should try to add a path to the resolve function and see where that helps for specific cases?
After that we can look at the problems this will introduce in the backend.
Bert
From: Stefan Fuhrmann [mailto:stefan.fuhrmann_at_wandisco.com]
On Wed, Feb 5, 2014 at 6:03 AM, Stefan Fuhrmann <stefan.fuhrmann_at_wandisco.com <mailto:stefan.fuhrmann_at_wandisco.com> > wrote:
On Wed, Feb 5, 2014 at 4:02 AM, Branko Čibej <brane_at_wandisco.com <mailto:brane_at_wandisco.com> > wrote:
On 05.02.2014 03:10, Daniel Shahaf wrote:
However, 'load --ignore-dates' has another use-case: preventing the "-r {DATE} doesn't work as intended" syndrome when loading a project's history into an existing repository.
I would argue that this is an implementation bug, pure and simple. The fact that it has persisted since svn-1.0 doesn't change anything. There is no reason why -r {DATE} couldn't be made to work regardless of the ordering of the dates; it's just that no-one has taken the trouble to actually fix the filesystem to return valid results in all cases.
That would be extremely expensive to do in the existing backends:
We would need to effectively read all revision properties of all revs.
If we added an index ("revision order by time stamp"), we could do
One more thing. Even with such index, we can only get -r {DATE} to
-- Stefan^2.
|
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.