Difference between revisions of "Git asynchronous development"
Line 37: | Line 37: | ||
git add lib/software/nmrpipe.py | git add lib/software/nmrpipe.py | ||
git commit | git commit | ||
− | |||
− | |||
− | |||
− | |||
− | |||
commit message | commit message | ||
<source lang="text"> | <source lang="text"> | ||
Line 50: | Line 45: | ||
Expected modules for use in lib\software\nmrpipe.py is imported> | Expected modules for use in lib\software\nmrpipe.py is imported> | ||
</source> | </source> | ||
− | git diff > | + | |
− | # Or see | + | # To see the commit message |
+ | git log | ||
+ | # If you would like to replace the last commit info | ||
+ | git commit --amend | ||
+ | |||
+ | Then we make a patch | ||
+ | git diff > nmrpipe1 | ||
+ | # Or see last changes by | ||
git log -p | git log -p | ||
== See also == | == See also == | ||
[[Category:Git]] | [[Category:Git]] |
Revision as of 12:14, 24 June 2013
Motivation
Subversion needs an online repository, to store each commits. Subsequent calls to svn diff > patch will generate the difference according to the last revision. Therefore the development at the moment, require to
- make some lines of code
- make a path file and a commit message
- use the support tracker to upload patch and commit message
- wait for acceptance
- wait for commit to official repository
- then do an svn update
- then return to point 1
This takes time, and require that repository maintainer is online.
If the above scheme is not followed, the patch files will come out of sync.
This can be solved by using git.
Initialization of git
Navigate to the root folder of the branch of relax, you want to develop. Initialize with:
git init
Setup commit information
If you havent set the repository variables for author information and commit message, this is good time. See Git_installation.
Example
As an example, we can take the development of the NMRPipe SeriesTab reader: sr #3043: Support for NMRPipe seriesTab format *.ser
git add lib/software/nmrpipe.py
Then we modify, and add following
# Python module imports.
from re import split
# relax module imports.
from lib.errors import RelaxError
git add lib/software/nmrpipe.py git commit
commit message
Imported expected modules in nmrpipe.py
Progress sr #3043: (https://gna.org/support/index.php?3043) Support for NMRPipe seriesTab format *.ser
Expected modules for use in lib\software\nmrpipe.py is imported>
# To see the commit message git log # If you would like to replace the last commit info git commit --amend
Then we make a patch
git diff > nmrpipe1 # Or see last changes by git log -p