Hello all,
A secondary subject in the git migration is the layout of the new repositories. In svn, it's standard to have multiple projects within the same repository (such as the extensions for mediawiki), while in git, it's common to split these.
In our repository, we have the following projects: - pywikiparser - threadedhttp - pywikipedia
which clearly should be in three seperate repositories. However, I think it might make sense to split up the pywikipedia repository a bit further: - spelling in a seperate repository
- split bots from the framework this is already somewhat the case for rewrite, but not for trunk. We could even consider having a repository per bot, but that might be a bit too much :-)
- i18n: can be either in the bots repository or in a seperate one. I think the former makes more sense.
- split off family files - split off userinterfaces (?)
and I think we should also split off the third party libraries - and maybe remove them altogether. It might make sense to package them in the nightlies, though.
I've started some work at https://github.com/pywikibot/svn2git - see the scripts-pwb directory for the code. You can use ./sync to download the entire repository (with history) to experiment - I'll try to get a clearer README in there soon.
Any opinions?
Merlijn
On IRC, I had a quick chat with Yuri on this issue. A few pointers from the discussion - (I hope I worded your points correctly, Yuri - if not, please correct me!)
On 27 December 2012 16:00, Merlijn van Deen valhallasw@arctus.nl wrote:
In our repository, we have the following projects:
- pywikiparser
- threadedhttp
- pywikipedia
pywikiparser should certainly be split, but threadedhttp might warrant some discussion:
and I think we should also split off the third party libraries - and maybe remove them altogether. It might make sense to package them in the nightlies, though.
Basically, the question boils down to whether we want a 'pure' repository (which is harder to install, especially on windows), or a repository where third-party libraries (which sort-of includes threadedhttp - it doesn't need pywikipedia to function) are included.
I'm inclined to say we should have an easy-to install bundle for windows users and developers (e.g. using PyInstaller), and have something virtualenv- and pip-based (or just installed packages) for linux users, but Yuri is a proponent of bundling everything in the repository.
- split off family files
- split off userinterfaces (?)
Yuri thinks, and I am inclined to agree, that we should not split these - they really are part of the core framework, and cannot easily be used outside of it.
One last thing we could not really agree on is how big the 'user, not developer'-market is: how many people are using the bots, but are not programmers (and thus do not write/improve the bots)?
Merlijn