User Tools

Site Tools


newdevs:git:test

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
newdevs:git:test [2019/06/28 17:09] tmccannanewdevs:git:test [2023/06/01 11:58] (current) – udpate branch name from main to master gmcharlton
Line 1: Line 1:
 +**New Developers Working Group**
 ====== Git for Windows ====== ====== Git for Windows ======
  
 ===== Using Git to Test Patches ===== ===== Using Git to Test Patches =====
  
-==== 1. Update Your Local Repository ====+===== 1. Get the Commit Hash =====
  
-  - Open Git Bash +Firstyou will need to identify the unique commit ID (hash) of the patch you wish to test. This is most easily found by clicking on a link in the related launchpad bug. Once  there, copy the first 7+ characters from the unique commit code.
-  - Navigate into your Evergreen repository +
-  - If the master branch isn't currently checked outcheck it out: git checkout master +
-  - Make sure your local repository is current: git pull origin master+
  
-==== 2Identify the Commit ID for the Patch ====+{{ :newdevs:commit-id.jpg?direct&600 |}}
  
-Identify the unique commit identifier for the patch you wish to testThis is found by clicking on a link in the related launchpad bug, or navigating to [[https://git.evergreen-ils.org]] > working/Evergreen.git > clicking on the link under "heads", then clicking on the branch. Once  there, copy the first 7+ characters from the unique commit code.+===== 2Load the Patch to Your Test Server =====
  
-{{ :newdevs:commit-id.jpg?direct&600 |}}+The next steps will be somewhat different depending on whether you have direct access to a test server that has Git installed or whether you have file access via WinSCP or another file transfer program.  
 + 
 +===== Option ATesting When You Have File Access to Your Test Server ===== 
 + 
 +==== A1. Update Your Local Repository ==== 
 + 
 +  - Open Git Bash on your computer. 
 +  - Navigate into your Evergreen repository. 
 +  - If the main branch isn't currently checked out, check it out**git checkout main** 
 +  Make sure your local repository is current: **git pull** 
 + 
 +==== A2. Create a Testing Branch ==== 
 + 
 +  - Create and checkout a local testing branch: **git checkout -b lp12345_branch_name**  
 +    * This branch does not have to have the same name as the branch you will be testing, but it makes it easier to keep track of.  
 +  - Pull changes into the testing branch using the unique commit id: **git cherry-pick 7ab7281f5** 
 +    * If you receive an error while cherry picking, you can stop it: **git cherry-pick --abort** 
 +    * If the branch has multiple commits, you can cherry-pick them one at a time (oldest to newest) or you can cherry-pick a range of commits at once (oldest to newest): **git cherry-pick 7ab7281f5^..8lgls9a34** 
 + 
 +==== A3. Upload Changed Files ==== 
 + 
 +Using WinSCP (or your other FTP-style program), transfer each of the changed files in the patch from your local repository to the related 'installed' locations on the server. (See [[https://wiki.evergreen-ils.org/doku.php?id=newdevs:landscape:tree]] 
 + 
 + 
 + 
 +===== Option B: Testing When You Have Direct Git Access to Your Test Server ===== 
 + 
 +//Note: Your test server does not need to have an SSH key if you are just pulling branches for testing. Instead, you can set up your connection to the remote working repo as read-only: <nowiki>git://git.evergreen-ils.org:working/Evergreen.git</nowiki>// 
 + 
 +==== B1. Update Your Repository ==== 
 + 
 +  - Open Git Bash on the server as the root user. 
 +  - Navigate into your Evergreen repository. 
 +  - If the main branch isn't currently checked out, check it out: git checkout main 
 +  - Make sure your local repository is current: **git pull** 
 + 
 +==== B2. Create a Testing Branch ==== 
 + 
 +  - Create and checkout a local testing branch: **git checkout -b lp12345_branch_name**  
 +    * This branch does not have to have the same name as the branch you will be testing, but it makes it easier to keep track of.  
 +  - Pull changes into the testing branch using the unique commit id: **git cherry-pick 7ab7281f5** 
 +    * If you receive an error while cherry picking, you can stop it: **git cherry-pick --abort 
 +** 
 +==== B3. Upload Changed Files ==== 
 + 
 +Copy each file to the 'installed' directory. For example: 
 + 
 +<code bash> 
 +cp Open-ILS/src/templates/header.tt2 /openils/var/templates/header.tt2 
 +</code> 
 + 
 +===== 3. Restart Services as Needed ===== 
 + 
 +If you are only testing changes to template (tt2) files or basic javascript files, then just clearing the browser cache may be sufficient.  
 + 
 +If you are testing changes to configuration files, Perl files, or javascript files, you may also need to restart various services (these instructions require command line access to the root user on the test server). 
 + 
 +To restart OpenSRF (this restarts Evergreen): 
 +<code bash> 
 +su - opensrf -c "bash -i -c '/openils/bin/osrf_control --localhost --restart-all'" 
 +</code> 
 + 
 +To restart Autogen (this refreshes the org unit tree, incorporates field mapper changes, etc.): 
 +<code bash> 
 +su - opensrf -c /openils/bin/autogen.sh 
 +</code> 
 + 
 +To restart Apache and WebSockets (the underlying servers/protocols): 
 +<code bash> 
 +systemctl restart apache2 websocketd-osrf 
 +</code> 
 + 
 +//If// your test server is running the NGINX http/proxy server, you can also restart that: 
 +<code bash> 
 +systemctl restart nginx 
 +</code> 
 + 
 +If you are testing very large changes, or changes that modify the database, you may need to rebuild the Evergreen installation. This requires significant Linux knowledge to do, and instructions are located at: [[https://evergreen-ils.org/documentation/install/README_3_3.html]]
  
-==== 3. Create a Local Testing Branch ==== 
  
-  - Create and checkout a local testing branch: git checkout -b lp12345 +===== 4Test =====
-  - Pull changes into the testing branch using the unique commit id: git cherry-pick 7ab7281f5 +
-  - Test the changes on your test server.+
  
-**//NEED MORE INFO +Test everything thoroughly to be sure it solves the problem that the developer wanted to solveBe sure to test any other related pages/features to be sure that the new changes do not break any existing functionality.
-    * If you have direct Git Bash access to your test server... Need Additional Information - how do changes get compiled? Through a git merge ?  +
-    * If you do not have Git Bash access to your test server, but you have file system access to your test server through WinSCP or a similar FTP-style program, manually copy the changed files to your server for testing. +
-//**+
  
-==== 4. Create a Sign-Off Branch ====+===== 5. Create a Sign-Off Branch =====
  
 If testing is //not// successful, update the launchpad bug report with details. If testing is //not// successful, update the launchpad bug report with details.
newdevs/git/test.1561756156.txt.gz · Last modified: 2022/02/10 13:34 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.