Skip to content

Commit eb07ccb

Browse files
committed
Refactor Git.{AutoInterrupt,CatFileContentStream} nesting
This makes `Git.AutoInterrupt` and `Git.CatFileContentStream` transparent aliases to top-level nonpublic `_AutoInterrupt` and `_CatFileContentStream` classes in the `cmd` module. This does not change the "public" interface. It also does not change metadata relevant to documentation: the `__name__` and `__qualname__` attributes are set explicitly to the values they had before when these classes were defined nested, so that Sphinx continues to document them (and to do so in full) in `Git` and as `Git.AutoInterrupt` and `Git.CatFileContentStream`. The purpose of this is to increase readability. The `Git` class is big and complex, with a number of long members and various forms of nesting. Since these two classes can be understood even without reading the code of the `Git` class, moving the definitions out of the `Git` class into top-level nonpublic classes will hopefully increase readability and help with maintenance.
1 parent 4dd5d45 commit eb07ccb

File tree

1 file changed

+226
-214
lines changed

1 file changed

+226
-214
lines changed

0 commit comments

Comments
 (0)