Re: [PATCH] Limit the amount of symbol information in text file

Michael Haggerty <[email protected]> Fri, 02 Apr 2010 20:40:36 +0200
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
Jon Foster wrote:
> I recently looked at the symbol_info.txt file produced by cvs2svn.
> It's HUGE - I get over 840,000 lines.  And most of those lines are
> "noise" - if a tag is in 10,000 files, then a "possible parent"
> that's only in one file is really not interesting.
> 
> The attached patch allows me to specify options that cut down the
> noise and leave me with a ~100,000 line symbol information file.
> That's still big, but it's a lot more manageable.
> 
> The default behaviour is unchanged.

Thanks for the patch.  I feel your pain and can see why you implemented
this feature.  But is it worth adding three new command line options and
their documentation to cover this use case?  (We often hear that cvs2svn
is too complicated to configure.)

* The symbol info file can get large, but it is still tiny compared to
the total of the intermediate databases.  So the disk usage is not an issue.

* How many people are really going to hand-edit conversion instructions
for so many symbols?

* If people want the symbol info for statistical purposes, the file will
probably be processed by scripts anyway so the size is not a problem.

* If somebody wants to hand-edit the file, it can be opened in a decent
editor despite its size.  Then it is easy to use the editor's search
function to jump from one symbol's main entry to the next one (so the
person doesn't have to scroll through 10,000 possible parent lines).
The most important parents are already listed at the top.

* If somebody really wants to shrink the file, it is trivial to write a
script that reads the full file and only outputs (say) the first ten
possible parent lines for each symbol; something like

index = 0
for line in open(filename):
    if not line.startswith(' '):
        sys.stdout.write(line)
        index = 0
    elif index < 10:
        sys.stdout.write(line)
        index += 1

Implementing the more complicated options is only a little bit more
complicated.

So in my opinion, this feature won't be used by enough people to justify
complicating the documentation for everybody.

If others disagree, please let your opinions be known.

Michael

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2468834

To unsubscribe from this discussion, e-mail: [[email protected]].