Metadata-Version: 2.1
Name: fit-ctu-gitlab-exporter
Version: 0.0.1
Summary: Tool for exporting projects from FIT CTU GitLab to GitHub
Home-page: https://github.com/TaIos/exporter
Author: Martin Šafránek
Author-email: gismocz@gmail.com
License: MIT License
Description: :toc:
        
        
        = Semestral work from NI-PYT in 2020/21 at https://old.fit.cvut.cz/en[FIT CTU]
        
        * CTU username: `saframa6`
        * CTU mail: saframa6@fit.cvut.cz
        
        == Project: GitLab to GitHub project export
        
        === Goal
        Sometimes I need to export projects from FIT CTU GitLab to GitHub. It can be done https://stackoverflow.com/a/22266000/6784881[manually], but for a larger amount of projects, it is very time-consuming. For example, if you finish your studies at FIT CTU, you immediately lose access to your GitLab and all of your projects (even if you continue your studies, in a meantime you lose access).
        
        === Known issues
        1. Synchronization of big files. FIT CTU GitLab allows files bigger than 200MB to be stored. GitHub does not. Git LFS can be used instead.
        2. Access control works differently in GitLab and GitHub
        
        
        === Requirements for grading
        . Use `requests` (or some asyncio alternative, such as `aiohttp` or `httpx`) for communicating with GitLab and GitHub API
        . Use some Python git wrapper or git directly to manipulate with cloned repositories (eg setting different upstream)
        . Create a command line interface, which will at least allow
        	.. Specify a list of repository names for exporting
        	.. Set policy for conflicts, eg project with the same name already exists on GitHub => overwrite
        . Inform user about the exporting process by terminal output and also store this information in logs
        . Load configuration from a file using `configparser` (or similar), at least allowing to use own API keys
        . Write tests using `pytest`, also allow to run them using `tox`
        	.. Fake both API for testing
        	.. Test internal functionality
        . Make it available on PyPI as a package under a free software license
        . Document project using docstrings in code and this README, generate Sphinx docuementation via a tox environemnt
        
        
        = Documentation
Keywords: github,gitlab,synchronization,git,fit ctu
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: System :: Archiving :: Mirroring
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Framework :: Pytest
Classifier: Framework :: tox
Classifier: Natural Language :: English
Requires-Python: >=3.6
Description-Content-Type: text/plain
Provides-Extra: test
