forked from importers/git-importer
		
	Compare commits
	
		
			9 Commits
		
	
	
		
			main
			...
			fix_magic_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| eba3fece91 | |||
| 
						 | 
					b74f36c81e | ||
| 
						 | 
					7b9b033adc | ||
| 
						 | 
					c44cb17e5d | ||
| 
						 | 
					3384a6f2b1 | ||
| 
						 | 
					1ec72ac80c | ||
| 
						 | 
					033b8f8cee | ||
| 
						 | 
					17062df04e | ||
| 
						 | 
					aa73d97b35 | 
							
								
								
									
										14
									
								
								lib/git.py
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								lib/git.py
									
									
									
									
									
								
							@@ -85,7 +85,7 @@ class Git:
 | 
			
		||||
        """Checkout into the branch HEAD"""
 | 
			
		||||
        new_branch = False
 | 
			
		||||
        if branch not in self.branches():
 | 
			
		||||
            self.git_run(["branch", "-q", branch, "HEAD"])
 | 
			
		||||
            self.git_run(["switch", "-q", "--orphan", branch])
 | 
			
		||||
            new_branch = True
 | 
			
		||||
        else:
 | 
			
		||||
            ref = f"refs/heads/{branch}"
 | 
			
		||||
@@ -180,7 +180,13 @@ class Git:
 | 
			
		||||
    #                logging.warning(f"Error removing file {path}: {e}")
 | 
			
		||||
 | 
			
		||||
    def add(self, filename):
 | 
			
		||||
        self.git_run(["add", filename])
 | 
			
		||||
        self.git_run(["add", ":(literal)" + filename])
 | 
			
		||||
 | 
			
		||||
    def add_default_gitignore(self):
 | 
			
		||||
        if not (self.path / ".gitignore").exists():
 | 
			
		||||
            with (self.path / ".gitignore").open("w") as f:
 | 
			
		||||
                f.write(".osc\n")
 | 
			
		||||
            self.add(".gitignore")
 | 
			
		||||
 | 
			
		||||
    def add_default_lfs_gitattributes(self, force=False):
 | 
			
		||||
        if not (self.path / ".gitattributes").exists() or force:
 | 
			
		||||
@@ -235,7 +241,7 @@ class Git:
 | 
			
		||||
 | 
			
		||||
    def remove(self, file: pathlib.Path):
 | 
			
		||||
        self.git_run(
 | 
			
		||||
            ["rm", "-q", "-f", "--ignore-unmatch", file.name],
 | 
			
		||||
            ["rm", "-q", "-f", "--ignore-unmatch", ":(literal)" + file.name],
 | 
			
		||||
        )
 | 
			
		||||
        patterns = self.get_specific_lfs_gitattributes()
 | 
			
		||||
        if file.name in patterns:
 | 
			
		||||
@@ -271,7 +277,7 @@ class Git:
 | 
			
		||||
            ["remote"],
 | 
			
		||||
            stdout=subprocess.PIPE,
 | 
			
		||||
        ).stdout.decode("utf-8"):
 | 
			
		||||
            logger.warning("Not pushing to remote because no 'origin' configured")
 | 
			
		||||
            logging.warning("Not pushing to remote because no 'origin' configured")
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        cmd = ["push"]
 | 
			
		||||
 
 | 
			
		||||
@@ -86,6 +86,11 @@ class GitExporter:
 | 
			
		||||
            logging.debug(f"Committing {flat}")
 | 
			
		||||
            self.commit_flat(flat, branch_state)
 | 
			
		||||
 | 
			
		||||
        # make sure that we create devel branch
 | 
			
		||||
        if not branch_state["devel"]:
 | 
			
		||||
            logging.debug("force creating devel")
 | 
			
		||||
            self.git.set_branch_head("devel", self.git.branch_head("factory"))
 | 
			
		||||
 | 
			
		||||
        self.git.push(force=True)
 | 
			
		||||
 | 
			
		||||
    def run_gc(self):
 | 
			
		||||
@@ -150,6 +155,7 @@ class GitExporter:
 | 
			
		||||
 | 
			
		||||
        # create file if not existant
 | 
			
		||||
        self.git.add_default_lfs_gitattributes(force=False)
 | 
			
		||||
        self.git.add_default_gitignore()
 | 
			
		||||
 | 
			
		||||
        to_download, to_delete = flat.commit.calc_delta(branch_state[flat.branch])
 | 
			
		||||
        for file in to_delete:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user