[Svnmerge] Bi-directional merging becoming more painful
Blair Zajac
blair at orcaware.com
Fri Nov 18 10:21:56 PST 2005
Archie Cobbs wrote:
> Blair Zajac wrote:
>
>> So I think as a community, we should decide on the dot files or the
>> slow approach. Maybe we implement both? Having the dot files there
>> won't prevent the slower solution from working.
>
>
> How about this..
>
> The same code would be used to (a) create the dot file initially
> (to initialize a branch for the "fast" approach) and (b) regenerate
> the dotfile information (when doing the "slow" approach).
>
> So supporting both use cases shouldn't be very much extra work.
>
> So then svnmerge could have a new command to intialize the dot file.
> This would be done once on an existing svnmerge branch; for newly
> initialize svnmerge branches, it would be created automatically
> when doing "svnmerge init".
>
> Thereafter, "svnmerge merge" would use the dot file if it exists
> ("fast"), or not use it if it doesn't exist ("slow").
Since checking svnmerge-integrated properties is the main issue in getting a
tree, I ran a test on how long it takes to run 'svn propget' over a large number
of revisions to a repository on our LAN. The script I used is below, which
shells out the same way that our Python script does.
Checking 17714 revisions took 3h 4m 54s, averaging 0.6262 lookups per second.
I don't think this is too slow and I would like the svnmerge to build a complete
tree by default.
Regards,
Blair
#!/usr/bin/ruby
rev_start = 76127
rev_end = 93840
url = 'http://somerepos.com/'
time_start = Time.now
(rev_start..rev_end).each do |r|
puts r
system("/usr/bin/svn pg svnmerge-integrated -r #{r} #{url} >/dev/null")
end
time_end = Time.now
time_elapsed = time_end - time_start
puts "Elasped time #{time_elapsed} seconds"
More information about the Svnmerge
mailing list