Loading repos is already done in initialize() method.
This could actually turn out badly
if both
of git processes would touch the same repo at the same time.
This also fixes create_backup in
setup.py - now it properly generates repos.json
SHARED_LIBRARY Installable types did not have the requirements as
defined in info.json automatically installed. This change updates the
installation of libraries to also install their requirements.
Resolves#2381
Previously, when downloader was loaded, the RepoManager would spawn a task to load available repos. If one repo failed loading for some reason, the function would raise and the remaining repos would never be loaded, however downloader would still appear to load correctly.
This change handles exceptions better during repo loading, but also, if an unhandled exception is raised, downloader will fail to load as it should.
Also included, as requested in #1968, is the --recurse-submodules flag in cloning/pulling repositories.
This change resolves#1950.
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* [Downloader] Parse tree URLs when cloning repos
Signed-off-by: Toby <tobyharradine@gmail.com>
* Only match GitHub and GitLab URLs
Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
* Cleanup quotes in cogs
* More quote cleanup that I missed
fixed a little bit of grammar here and there as well.
* [V3 Warnings] Change allowcustomreasons docstring
To help not confuse users who would believe that the command would use allow or disallow.
* Run black reformat
* [V3 Core] Enhance [p]backup to exclude some files
* Backup the repo list too
* Lol Sinbad's pre-commit hook
* Add option of sending the backup to the owner via DM
* Drop an unnecessary config object in RepoManager
* Move the backup functionality in redbot-setup to the new stuff
* More work on implementation, including backing up the instance data
* Update travis to not sip pipfile lock
update pipfile dependencies
additional black formatting pass to conform to black 18.5b
* .
* pin async timeout until further discussion of 3.5 support
* .
The use of `popitem` makes the right side of line 642 return a tuple of the form `(repo, (old, new))` instead of a dictionary of the form `{repo: (old, new)}`, as expected by the left hand side of the same line.
Ya'll are gonna hate me.
* Initial modifications
* Add initial setup.py
* working setup py help
* Modify setup file to package stuff
* Move a bunch of shit and fix imports
* Fix or skip tests
* Must add init files for find_packages to work
* Move main to scripts folder and rename
* Add shebangs
* Copy over translation files
* WORKING PIP INSTALL
* add dependency information
* Hardcoded version for now, will need to figure out a better way to do this
* OKAY ITS FINALLY FUCKING WORKING
* Add this guy
* Fix stuff
* Change readme to rst
* Remove double sentry opt in
* Oopsie
* Fix this thing
* Aaaand fix test
* Aaaand fix test
* Fix core cog importing and default cog install path
* Adjust readme
* change instance name from optional to required
* Ayyy let's do more dependency injection