Browse Source

pull 分支 bug修复

liuyuqi-dellpc 1 year ago
parent
commit
35be44de27

+ 5 - 2
repo_sync/platform/coding/coding.py

@@ -9,7 +9,7 @@
 两种授权: token 授权,OAuth2.0 授权
 两种授权: token 授权,OAuth2.0 授权
 
 
 """
 """
-import os
+import os,subprocess
 from repo_sync.platform.base_platform import BasePlatform
 from repo_sync.platform.base_platform import BasePlatform
 from .project import Project
 from .project import Project
 from .repo import Repo
 from .repo import Repo
@@ -179,7 +179,10 @@ class CodingIE(BasePlatform):
         os.system(
         os.system(
             f'git remote add origin_coding https://{self.username}:{self.token}@e.coding.net/{self.username}/{self.project_name}/{repo_name}.git'
             f'git remote add origin_coding https://{self.username}:{self.token}@e.coding.net/{self.username}/{self.project_name}/{repo_name}.git'
         )
         )
-        os.system('git pull origin_coding')
+        result = subprocess.run(
+            ['git', 'symbolic-ref', '--short', 'HEAD'], capture_output=True, text=True)
+        current_branch = result.stdout.strip()
+        os.system(f'git pull origin_gogs {current_branch}')
         os.system('git remote remove origin_coding')
         os.system('git remote remove origin_coding')
         os.chdir('..')
         os.chdir('..')
         print('pull success')
         print('pull success')

+ 2 - 2
repo_sync/platform/gitea.py

@@ -9,9 +9,9 @@
 
 
 
 
 class GiteaIE(object):
 class GiteaIE(object):
-    def __init__(self, username:str, token:str,host:str =None ,params: dict = None) -> None:
+    def __init__(self, username:str, token:str, host:str =None ,params: dict = None) -> None:
         super().__init__(username=username,token=token)
         super().__init__(username=username,token=token)
-        self._host = 'https://git.yoqi.com'
+        self._host = 'https://git.yoqi.me' if host is None else host
 
 
     def create_repo(self, repo_name: str):
     def create_repo(self, repo_name: str):
         pass
         pass

+ 5 - 3
repo_sync/platform/gitee.py

@@ -8,7 +8,7 @@
 
 
 """
 """
 from .base_platform import BasePlatform
 from .base_platform import BasePlatform
-import csv
+import csv, subprocess
 import os
 import os
 from repo_sync.repo import Repo
 from repo_sync.repo import Repo
 
 
@@ -18,7 +18,7 @@ class GiteeIE(BasePlatform):
     _host = 'https://gitee.com'
     _host = 'https://gitee.com'
     _api = _host + '/api/v5'
     _api = _host + '/api/v5'
 
 
-    def __init__(self, username:str, token:str,host:str =None ,params: dict = None) -> None:
+    def __init__(self, username:str, token:str,host:str =None, params: dict = None) -> None:
         super().__init__(username=username, token=token)
         super().__init__(username=username, token=token)
         self.sess.headers.update({'Content-Type': 'multipart/form-data'})
         self.sess.headers.update({'Content-Type': 'multipart/form-data'})
 
 
@@ -81,7 +81,9 @@ class GiteeIE(BasePlatform):
         os.system(
         os.system(
             f'git remote add origin_gitee https://{self.username}:{self.token}@gitee.com/{self.username}/{repo_name}.git'
             f'git remote add origin_gitee https://{self.username}:{self.token}@gitee.com/{self.username}/{repo_name}.git'
         )
         )
-        os.system('git pull origin_gitee')
+        result = subprocess.run(['git', 'symbolic-ref', '--short', 'HEAD'], capture_output=True, text=True)
+        current_branch = result.stdout.strip()
+        os.system(f'git pull origin_gogs {current_branch}')
         os.system('git remote remove origin_gitee')
         os.system('git remote remove origin_gitee')
         os.chdir('..')
         os.chdir('..')
         print('pull from gitee success')
         print('pull from gitee success')

+ 5 - 2
repo_sync/platform/github.py

@@ -8,7 +8,7 @@
 """
 """
 import os
 import os
 import json
 import json
-import csv
+import csv, subprocess
 from repo_sync.repo import Repo
 from repo_sync.repo import Repo
 from .base_platform import BasePlatform
 from .base_platform import BasePlatform
 
 
@@ -79,7 +79,10 @@ class GithubIE(BasePlatform):
         os.system('git remote remove origin_github')
         os.system('git remote remove origin_github')
         os.system(
         os.system(
             f'git remote add origin_github  https://{self.username}:{self.token}@github.com/{self.username}/{repo_name}.git')
             f'git remote add origin_github  https://{self.username}:{self.token}@github.com/{self.username}/{repo_name}.git')
-        os.system('git pull origin_github')
+        result = subprocess.run(
+            ['git', 'symbolic-ref', '--short', 'HEAD'], capture_output=True, text=True)
+        current_branch = result.stdout.strip()
+        os.system(f'git pull origin_gogs {current_branch}')
         os.system('git remote remove origin_github')
         os.system('git remote remove origin_github')
         os.chdir('..')
         os.chdir('..')
         print('pull from github success')
         print('pull from github success')

+ 4 - 2
repo_sync/platform/gitlab.py

@@ -8,7 +8,7 @@
 """
 """
 import os
 import os
 import json,re 
 import json,re 
-import csv
+import csv, subprocess
 from .base_platform import BasePlatform
 from .base_platform import BasePlatform
 from repo_sync.repo import Repo
 from repo_sync.repo import Repo
 
 
@@ -98,7 +98,9 @@ class GitlabIE(BasePlatform):
         os.system(
         os.system(
             f"git remote add origin_gitlab https://{self.username}:{self.token}@{pur_host}/{self.username}/{repo_name}.git"
             f"git remote add origin_gitlab https://{self.username}:{self.token}@{pur_host}/{self.username}/{repo_name}.git"
         )
         )
-        os.system("git pull -u origin_gitlab")
+        result = subprocess.run(['git', 'symbolic-ref', '--short', 'HEAD'], capture_output=True, text=True)
+        current_branch = result.stdout.strip()
+        os.system(f'git pull origin_gogs {current_branch}')
         os.system("git remote remove origin_gitlab")
         os.system("git remote remove origin_gitlab")
         os.chdir("..")
         os.chdir("..")
         print(f"pull repo:{self.username}/{repo_name} from gitlab success")
         print(f"pull repo:{self.username}/{repo_name} from gitlab success")

+ 6 - 4
repo_sync/platform/gogs.py

@@ -7,7 +7,7 @@
 @Desc    :   
 @Desc    :   
 """
 """
 from .base_platform import BasePlatform
 from .base_platform import BasePlatform
-import csv, re
+import csv, re, subprocess
 import json, os
 import json, os
 
 
 
 
@@ -16,9 +16,9 @@ class GogsIE(BasePlatform):
 
 
     gityoqi_repo_list = 'gityoqi_repo_list.csv'
     gityoqi_repo_list = 'gityoqi_repo_list.csv'
 
 
-    def __init__(self, username:str, token:str,host:str =None ,params: dict = None) -> None:
+    def __init__(self, username:str, token:str, host:str =None ,params: dict = None) -> None:
         super().__init__(username=username,token=token)
         super().__init__(username=username,token=token)
-        self._host = 'https://git.yoqi.me' if self.host is None else self.host
+        self._host = 'https://git.yoqi.me' if host is None else host
 
 
     def create_org_repo(self, org_name: str, repo_name: str):
     def create_org_repo(self, org_name: str, repo_name: str):
         """create org repo"""
         """create org repo"""
@@ -100,7 +100,9 @@ class GogsIE(BasePlatform):
         os.system(
         os.system(
             f'git remote add origin_gogs https://{self.username}:{self.token}@{pur_host}/{self.username}/{repo_name}.git'
             f'git remote add origin_gogs https://{self.username}:{self.token}@{pur_host}/{self.username}/{repo_name}.git'
         )
         )
-        os.system('git pull -u origin_gogs')
+        result = subprocess.run(['git', 'symbolic-ref', '--short', 'HEAD'], capture_output=True, text=True)
+        current_branch = result.stdout.strip()
+        os.system(f'git pull origin_gogs {current_branch}')
         os.system('git remote remove origin_gogs')
         os.system('git remote remove origin_gogs')
         os.chdir('..')
         os.chdir('..')