User Tools

Site Tools


developers:git:specificities_git_abinit

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
developers:git:specificities_git_abinit [2021/10/05 09:00] – [How to synchronize with the "trunk" virtual user ?] Xavier Gonzedevelopers:git:specificities_git_abinit [2024/04/09 16:58] (current) – [How to synchronize with the "trunk" virtual user ?] Xavier Gonze
Line 30: Line 30:
 \\ \\
 After some modifications, using the git commands (e.g. git add, git commit ...), you can push on the gitlab server thanks to : \\ After some modifications, using the git commands (e.g. git add, git commit ...), you can push on the gitlab server thanks to : \\
-<color blue>git push </color>\\ 
-[ or\\ 
 <color blue>git push --tags  </color>     <color red>( double-dash before tags )</color>\\ <color blue>git push --tags  </color>     <color red>( double-dash before tags )</color>\\
-if tags have been introduced...]\\+\\
 In order for the modifications to be merged in the trunk, a merge request has to be issued, as described later.\\ In order for the modifications to be merged in the trunk, a merge request has to be issued, as described later.\\
 \\ \\
Line 74: Line 72:
 For a <color magenta>release-*</color> branch to be **on-track**, not only a specific commit must be contained in the past history of the branch, but also the commit that starts the next development version **cannot** be present. Only one among the <color magenta>release-*</color> branches is **on-track** at any time. For a <color magenta>release-*</color> branch to be **on-track**, not only a specific commit must be contained in the past history of the branch, but also the commit that starts the next development version **cannot** be present. Only one among the <color magenta>release-*</color> branches is **on-track** at any time.
  
-As an example, suppose we were on ABINIT v9.0.0, and want to start preparing a release 9.0.1 (for release) and a new v9.1.0 (for development)   : +As an example, suppose we were on ABINIT v9.9.3, and want to start preparing a release 9.10.1 (for release) and a new v9.11.0 (for development)   : 
-  * a branch entitled <color magenta>release-9.0</color> will be forked from the <color magenta>develop</color> branch ; +  * a branch entitled <color magenta>release-9.10</color> will be forked from the <color magenta>develop</color> branch ; 
-  * after this branching, the first commit in the <color magenta>release-9.0</color> branch will be tagged start-9.0, while the first commit in the <color magenta>develop</color> is the commit d51ce822 +  * after this branching, suppose the first commit in the <color magenta>release-9.10</color> branch is 1d5efe42, while the first commit in the <color magenta>develop</color> is the commit 34dbe7f2d 
-  * for a <color magenta>develop</color> branch to be considered **on-track** (and eligible for a merge request), the commit d51ce822 must be present ; +  * for a <color magenta>develop</color> branch to be considered **on-track** (and eligible for a merge request), the commit 34dbe7f2d must be present ; 
-  * for a <color magenta>release-9.0</color> branch to be considered **on-track** (and eligible for a merge request), the commit tagged start-9.0 must be present, while it will be forbidden to contain the commit d51ce822 .+  * for a <color magenta>release-9.10</color> branch to be considered **on-track** (and eligible for a merge request), the commit 1d5efe42 must be present, while it will be forbidden to contain the commit 34dbe7f2d .
  
-In complement to the start of a X.Y.Z version being tagged as "start-X.Y.Z", +In complement to the start of a X.Y.Z version for release being tagged as "start-X.Y.Z", 
-the commit that ends some X.Y.Z version of ABINIT will be tagged "X.Y.Z".+the commit that ends some X.Y.Z version for release will be tagged "X.Y.Z".
  
  
Line 117: Line 115:
 Then, in order to synchronize, in a first step, issue : Then, in order to synchronize, in a first step, issue :
  
-   git fetch trunk+   git fetch --tags trunk
  
 then, if the develop branch is to be updated, supposing it is checked out, merge the trunk/develop in your develop :  then, if the develop branch is to be updated, supposing it is checked out, merge the trunk/develop in your develop : 
Line 123: Line 121:
    git merge remotes/trunk/develop    git merge remotes/trunk/develop
  
-You can combine the last two commands in one as: 
- 
-   git pull trunk develop 
  
 ===== How to set up a "hotfix" branch to be merged in trunk/release-x.y ? ===== ===== How to set up a "hotfix" branch to be merged in trunk/release-x.y ? =====
  
-If you have a hotfix, a new branch has to be created. Let's suppose you want to communicate a bug fix to ABINITv9.6 to fix the ideasthen issue :+If you have a hotfix, a new branch has to be created. To fix the ideas, let's suppose you want to communicate a bug fix to ABINITv9.8you have to issue :
  
-   git branch release-9.start-9.6.   (this creates the branch release-9.from the start-9.6.tag) +   git branch release-9.start-9.8.   (this creates the branch release-9.from the start-9.8.tag) 
-   git checkout release-9.6 +   git checkout release-9.8 
-   git merge remotes/trunk/release-9.6 +   git merge remotes/trunk/release-9.8 
-   git push -u origin release-9.6+   git push -u origin release-9.8 --tags
  
-That's it ! You can now make modifications in your release-9.6, then issue a merge request to the trunk/release-9..+That's it ! You can now make modifications in your release-9.8, then issue a merge request to the trunk/release-9..
  
 ===== Additional info: how to not mess with your branches ? ... show-branch ... ===== ===== Additional info: how to not mess with your branches ? ... show-branch ... =====
developers/git/specificities_git_abinit.1633417215.txt.gz · Last modified: 2021/10/05 09:00 by Xavier Gonze