mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 21:16:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # git subtree sync
 | |
| 
 | |
| `rustc_codegen_gcc` is a subtree of the rust compiler. As such, it needs to be
 | |
| sync from time to time to ensure changes that happened on their side are also
 | |
| included on our side.
 | |
| 
 | |
| ### How to install a forked git-subtree
 | |
| 
 | |
| Using git-subtree with `rustc` requires a patched git to make it work.
 | |
| The PR that is needed is [here](https://github.com/gitgitgadget/git/pull/493).
 | |
| Use the following instructions to install it:
 | |
| 
 | |
| ```bash
 | |
| git clone git@github.com:tqc/git.git
 | |
| cd git
 | |
| git checkout tqc/subtree
 | |
| make
 | |
| make install
 | |
| cd contrib/subtree
 | |
| make
 | |
| cp git-subtree ~/bin
 | |
| ```
 | |
| 
 | |
| ### Syncing with rust compiler
 | |
| 
 | |
| Do a sync with this command:
 | |
| 
 | |
| ```bash
 | |
| PATH="$HOME/bin:$PATH" ~/bin/git-subtree push -P compiler/rustc_codegen_gcc/ ../rustc_codegen_gcc/ sync_branch_name
 | |
| cd ../rustc_codegen_gcc
 | |
| git checkout master
 | |
| git pull
 | |
| git checkout sync_branch_name
 | |
| git merge master
 | |
| ```
 | |
| 
 | |
| To send the changes to the rust repo:
 | |
| 
 | |
| ```bash
 | |
| cd ../rust
 | |
| git pull origin master
 | |
| git checkout -b subtree-update_cg_gcc_YYYY-MM-DD
 | |
| PATH="$HOME/bin:$PATH" ~/bin/git-subtree pull --prefix=compiler/rustc_codegen_gcc/ https://github.com/rust-lang/rustc_codegen_gcc.git master
 | |
| git push
 | |
| 
 | |
| # Immediately merge the merge commit into cg_gcc to prevent merge conflicts when syncing from rust-lang/rust later.
 | |
| PATH="$HOME/bin:$PATH" ~/bin/git-subtree push -P compiler/rustc_codegen_gcc/ ../rustc_codegen_gcc/ sync_branch_name
 | |
| ```
 | |
| 
 | |
| TODO: write a script that does the above.
 | |
| 
 | |
| https://rust-lang.zulipchat.com/#narrow/stream/301329-t-devtools/topic/subtree.20madness/near/258877725
 | 
