æä»¥å使ç¨çä»£ç æç®¡ç³»ç»æ¯Gogsï¼è¿ææåæ¢å°äºæ´ç¥åçä»£ç æç®¡ç³»ç»GitLabãå æ¤ï¼æéè¦å°åæ¥æç®¡å¨Gogså®ä¾ä¸ç项ç®è¿ç§»å°GitLabå®ä¾ã
GitLab䏿ä¾äºä¸äºè¿ç§»å·¥å ·ï¼å ¶æ¯æçå¹³å°å¦ä¸å¾ï¼
å ¶ä¸ï¼Giteaæ¯Gogsçä¸ä¸ªåæ¯çæ¬ï¼æè¯çéè¿Giteaé项ä»Gogså¯¼å ¥é¡¹ç®ï¼è½ç¶GitLabè½å¤æ£å¸¸ååºGogsä¸ç项ç®å表ï¼ä½æ¯å¨å¯¼å ¥æ¶åä¼å¼å500é误ã
ç»é è¯»ææ¡£å¾ç¥ï¼GogsåGitLabåæä¾äºæä½ä»£ç ä»åºçAPIãå æ¤ï¼æå¯ä»¥ç¼åä¸ä¸ªPythonèæ¬æ¥è¿ç§»é¡¹ç®ã
å®ç° æºä»£ç ï¼https://github.com/frankgx97/migrate-gogs-to-gitlab
è·åGogsä¸çä»åºå表 宿¹ææ¡£ï¼ docs-api/Repositories at master · gogs/docs-api
å¨Gogsä¸ä½¿ç¨GET /user/reposæ¥å£å³å¯è·å¾å½å已认è¯ç¨æ·ï¼éè¿ä¸ªäººæä½ä»¤ç认è¯ï¼ææè¯»åçææä»åºä¿¡æ¯ãå
¶ä¸æä»¬éè¦çåæ®µæ¯
full_nameï¼å½¢å¦user/repoçä»åºå
¨ådescriptionï¼ä»åºæè¿°clone_urlï¼HTTPSçä»åºurlå¯¼å ¥ä»åºè³GitLab 宿¹ææ¡£ï¼ Projects API | GitLab
å¨GitLabä¸ä½¿ç¨POST /projectså³å¯å建æ°ä»åºãæä»¬éè¦ä¼ å
¥å¦ä¸çåæ°ï¼
nameï¼ä»åºåç§°descriptionï¼ä»åºæè¿°visibilityï¼è®¾ç½®ä»åºçå¯è§æ§ï¼å¯éçé项æprivate, internalåpublicimport_urlï¼å
å«ä¸ªäººæä½ä»¤ççGogsä»åºURLï¼å½¢å¦https://806f09c786f04bf8663hf02h9c4696ebf96bfb49@your.gogs.com/foo/bar.git使ç¨
ä¿®æ¹sample.pyï¼å¡«å
¥GogsåGitLabå®ä¾çURLï¼æä½ä»¤çå第30è¡çGogsååï¼å¹¶è¿è¡sample.pyå³å¯ã