Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
contributing-to-batocera [2022/01/21 07:03] – [Making changes in the future] add alias command to simplify rebasing ataricontributing-to-batocera [2022/01/30 04:26] (current) – [Making changes in the future] a bit less contradictory phrasing atari
Line 101: Line 101:
 It is important to distinguish between remote and local repositories. Right now, your account has a remote repository that is a fork (copy) of Batocera.linux. We need to clone (download) this origin remote repository to your local computer to be able to make local edits to it. It is important to distinguish between remote and local repositories. Right now, your account has a remote repository that is a fork (copy) of Batocera.linux. We need to clone (download) this origin remote repository to your local computer to be able to make local edits to it.
  
-The easiest way is to open a command line, navigate to the directory you would like to save the origin repository to and run ''%%git clone https://github.com/<your Github username>/batocera.linux%%''.+The easiest way is to open a command line, navigate to the directory you would like to save the origin repository to and run
 + 
 +<code bash> 
 +git clone https://github.com/<your Github username>/batocera.linux 
 +</code>
  
 Once done (this may take a while, depending on your internet speed), run the following: Once done (this may take a while, depending on your internet speed), run the following:
-  * ''cd batocera.linux'' + 
-  * ''%%git remote add upstream https://github.com/batocera-linux/batocera.linux.git%%'' +<code bash> 
-  * ''%%git remote set-url upstream https://github.com/batocera-linux/batocera.linux.git%%'' +cd batocera.linux 
-  * ''%%git remote set-url origin https://github.com/YOURNAME/batocera.linux%%'' where ''YOURNAME'' is your Github username.+git remote add upstream https://github.com/batocera-linux/batocera.linux.git 
 +git remote set-url upstream https://github.com/batocera-linux/batocera.linux.git 
 +git remote set-url origin https://github.com/<your Github username>/batocera.linux 
 +</code> 
 + 
 +where ''<your Github username>'' is your Github username (remove the "<>" characters).
  
 This will config the local repository to be recognized as a fork of upstream (the original remote repository). This makes it easier to stay "in sync" with future changes made to upstream. This will config the local repository to be recognized as a fork of upstream (the original remote repository). This makes it easier to stay "in sync" with future changes made to upstream.
 +
 +Submodules (such as buildroot) will become outdated over time. Run the following to set them up to update along with the main repository:
 +
 +<code bash>
 +git submodule init
 +git submodule update
 +</code>
  
 ==== Create a local branch on your fork ==== ==== Create a local branch on your fork ====
Line 127: Line 143:
 ==== Making and testing the modifications ==== ==== Making and testing the modifications ====
  
-You have some guidelines on [[:batocera.linux_buildroot_modifications|this page to compile individual packages]], a [[:notable_files|list of notable files and their location on a live install]] and [[:compile_batocera.linux|this page for more general compilation of the whole Batocera Linux system]].+You have some guidelines:  
 +  * [[:coding_rules|The coding rules page for adding new scripts]] 
 +  * [[:notable_files|list of notable files and their location on a live install]] 
 +  * [[:batocera.linux_buildroot_modifications|Compiling individual packages]] 
 +  * [[:compile_batocera.linux|The compiling Batocera page for more general compilation of the whole Batocera Linux system]]
  
 ==== Commit changes to the local branch ==== ==== Commit changes to the local branch ====
Line 139: Line 159:
 When all the commits have been committed, merge the commits from your local clone into your fork's repository with the following command (replacing the name of the branch with your own): When all the commits have been committed, merge the commits from your local clone into your fork's repository with the following command (replacing the name of the branch with your own):
  
-<code>+<code bash>
 git push --set-upstream origin name-of-the-branch git push --set-upstream origin name-of-the-branch
 </code> </code>
Line 165: Line 185:
   - ''%%git fetch upstream%%'' : Tells git to grab every changes from the upstream repository   - ''%%git fetch upstream%%'' : Tells git to grab every changes from the upstream repository
   - ''%%git rebase upstream/master%%'' : Tells git to make your branch up to date with the master branch of the upstream repository   - ''%%git rebase upstream/master%%'' : Tells git to make your branch up to date with the master branch of the upstream repository
 +  - (Optional) ''%%git push%%'' : Pushes the latest commits to **your fork's** remote repository.
  
 <WRAP center round tip> <WRAP center round tip>
Line 170: Line 191:
  
 <code bash> <code bash>
-git config --global alias.update '!git checkout master && git fetch upstream && git rebase upstream/master'+git config --global alias.update '!git checkout master && git fetch upstream && git rebase upstream/master && git push'
 </code> </code>
  
-This way, running ''git update'' will execute all the commands required to sync up your local master branch with batocera.linux's master branch.+This way, running ''git update'' will execute all the commands required to sync up your local and remote master branch with batocera.linux's master branch.
 </WRAP> </WRAP>
  
Line 179: Line 200:
  
 <WRAP center round info> <WRAP center round info>
-It is not recommended to use ''%%git pull upstream master%%''. [[https://longair.net/blog/2009/04/16/git-fetch-and-merge/|Here's a good blog post about it.]]+Performing fetches and merges manually instead of relying on aliases can be quite powerful. [[https://longair.net/blog/2009/04/16/git-fetch-and-merge/|Here's a good blog post about it.]]
 </WRAP> </WRAP>
  
  • contributing-to-batocera.1642748623.txt.gz
  • Last modified: 4 years ago
  • by atari