List Info

Thread: Split up cvs2svn into modules?




Split up cvs2svn into modules?
user name
2006-03-31 10:48:31
Hi,

Did anybody notice that cvs2svn (i.e., the main program) is
5316 lines
long?  That's a lot of lines.

How about we split the program up into logical modules, and
put these
into a Python package?

Since we already have an internal package that we rely upon
(cvs2svn_rcsparse), I don't think that modularizing cvs2svn
would
present any new or nontrivial issues to packagers or users.

Concretely, I propose adding a new subdirectory named
"cvs2svnlib",
adding cvs2svnlib/__init__.py and (over time) moving logical
chunks of
functionality into this package as modules.

(It would perhaps be nicer to name the package
"cvs2svn", but that would
conflict with the name of the main program.  Other package
name
suggestions are welcome.)

Advantages of splitting up the program:

- Give program readers more clues about the logical grouping
of the many
classes and functions.

- Improve the isolation between separate parts of the
program.

- Easier to find the parts of the code that you are
interested in.

Disadvantages:

- It would take some thought and work.

- It would make historical "blame" information
harder to find.

Please give me your opinions on this.  Also let me know
whether I have
the green light to start splitting, or whether you would
like there to
be a discussion beforehand about what things go into what
modules.

This reorganization should probably start after a new
release has been
made (though I don't expect the changes to be very risky).

Yours,
Michael

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribecvs2svn.tigris.org
For additional commands, e-mail: dev-helpcvs2svn.tigris.org

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )