OLD | NEW |
1 @c -*- coding: utf-8; mode: texinfo; -*- | 1 @c -*- coding: utf-8; mode: texinfo; -*- |
2 | 2 |
3 | 3 |
4 @node Working with source code | 4 @node Working with source code |
5 @chapter Working with source code | 5 @chapter Working with source code |
6 | 6 |
7 @warning{New contributors should read @ref{Quick start}, and in | 7 @warning{New contributors should read @ref{Quick start}, and in |
8 particular @ref{lily-git}, instead of this chapter.} | 8 particular @ref{lily-git}, instead of this chapter.} |
9 | 9 |
10 Advanced contributors will find this material quite useful, | 10 Advanced contributors will find this material quite useful, |
(...skipping 1986 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1997 (@email{lilypond-devel@@gnu.org}). Generally, only contributors | 1997 (@email{lilypond-devel@@gnu.org}). Generally, only contributors |
1998 who have already provided a number of patches which have been | 1998 who have already provided a number of patches which have been |
1999 pushed to the main repository will be considered for membership. | 1999 pushed to the main repository will be considered for membership. |
2000 | 2000 |
2001 If you have been approved by the Project Manager, use the | 2001 If you have been approved by the Project Manager, use the |
2002 following procedure to obtain commit access: | 2002 following procedure to obtain commit access: |
2003 | 2003 |
2004 @enumerate | 2004 @enumerate |
2005 @item | 2005 @item |
2006 If you don't already have one, set up a Savannah user account at | 2006 If you don't already have one, set up a Savannah user account at |
2007 @uref{https://savannah.gnu.org/account/register.php}. If your web | 2007 @uref{https://savannah.gnu.org/account/register.php}. |
2008 browser responds with an @qq{untrusted connection} message when | |
2009 you visit the link, follow the steps for including the CAcert root | |
2010 certificate in your browser, given at | |
2011 @uref{http://savannah.gnu.org/tls/tutorial/}. | |
2012 | 2008 |
2013 @warning{Savannah will silently put your username in lower-case -- | 2009 @warning{Savannah will silently put your username in lower-case -- |
2014 do not try to use capital letters.} | 2010 do not try to use capital letters.} |
2015 | 2011 |
2016 | 2012 |
2017 @item | 2013 @item |
2018 After registering, if you are not logged in automatically, login | 2014 After registering, if you are not logged in automatically, login |
2019 at @uref{https://savannah.gnu.org/account/login.php}---this should | 2015 at @uref{https://savannah.gnu.org/account/login.php}---this should |
2020 take you to your @qq{my} page | 2016 take you to your @qq{my} page |
2021 (@uref{https://savannah.gnu.org/my/}). | 2017 (@uref{https://savannah.gnu.org/my/}). |
(...skipping 19 matching lines...) Expand all Loading... |
2041 | 2037 |
2042 @example | 2038 @example |
2043 ssh-keygen -t rsa | 2039 ssh-keygen -t rsa |
2044 @end example | 2040 @end example |
2045 | 2041 |
2046 When prompted for a location to save the key, press <ENTER> to | 2042 When prompted for a location to save the key, press <ENTER> to |
2047 accept the default location (@file{~/.ssh/id_rsa}). | 2043 accept the default location (@file{~/.ssh/id_rsa}). |
2048 | 2044 |
2049 Next you are asked to enter an optional passphrase. On most | 2045 Next you are asked to enter an optional passphrase. On most |
2050 systems, if you use a passphrase, you will likely be prompted for | 2046 systems, if you use a passphrase, you will likely be prompted for |
2051 it every time you use @command{git@tie{}push} or | 2047 it every time you use @command{git push} or |
2052 @command{git@tie{}pull}. You may prefer this since it can protect | 2048 @command{git pull}. You may prefer this since it can protect |
2053 you from your own mistakes (like pushing when you mean to pull), | 2049 you from your own mistakes (like pushing when you mean to pull), |
2054 though you may find it tedious to keep re-entering it. | 2050 though you may find it tedious to keep re-entering it. |
2055 | 2051 |
2056 You can change/enable/disable your passphrase at any time with: | 2052 You can change/enable/disable your passphrase at any time with: |
2057 | 2053 |
2058 @example | 2054 @example |
2059 ssh-keygen -f ~/.ssh/id_rsa -p | 2055 ssh-keygen -f ~/.ssh/id_rsa -p |
2060 @end example | 2056 @end example |
2061 | 2057 |
2062 Note that the GNOME desktop has a feature which stores your | 2058 Note that the GNOME desktop has a feature which stores your |
(...skipping 24 matching lines...) Expand all Loading... |
2087 @example | 2083 @example |
2088 Success: Key #1 seen Keys registered | 2084 Success: Key #1 seen Keys registered |
2089 @end example | 2085 @end example |
2090 | 2086 |
2091 | 2087 |
2092 @item | 2088 @item |
2093 Configure Git to use the SSH protocol (instead of the GIT | 2089 Configure Git to use the SSH protocol (instead of the GIT |
2094 protocol). From your local Git repository, enter: | 2090 protocol). From your local Git repository, enter: |
2095 | 2091 |
2096 @example | 2092 @example |
2097 git config remote.origin.url \ | 2093 git remote set-url origin ssh://@var{user}@@git.sv.gnu.org/srv/git/lilypond.git |
2098 ssh://@var{user}@@git.sv.gnu.org/srv/git/lilypond.git | |
2099 @end example | 2094 @end example |
2100 | 2095 |
2101 @noindent | 2096 @noindent |
2102 replacing @var{user} with your Savannah username. | 2097 replacing @var{user} with your Savannah username. |
2103 | 2098 |
2104 | 2099 |
2105 @item | 2100 @item |
2106 After your membership has been activated and you've configured Git | 2101 After your membership has been activated and you've configured Git |
2107 to use SSH, test the connection with: | 2102 to use SSH, test the connection with: |
2108 | 2103 |
(...skipping 20 matching lines...) Expand all Loading... |
2129 Warning: Permanently added 'git.sv.gnu.org,140.186.70.72' (RSA) to | 2124 Warning: Permanently added 'git.sv.gnu.org,140.186.70.72' (RSA) to |
2130 the list of known hosts. | 2125 the list of known hosts. |
2131 @end example | 2126 @end example |
2132 | 2127 |
2133 The list of known hosts is stored in the file | 2128 The list of known hosts is stored in the file |
2134 @file{~/.ssh/known_hosts}. | 2129 @file{~/.ssh/known_hosts}. |
2135 | 2130 |
2136 At this point, you are prompted for your passphrase if you have | 2131 At this point, you are prompted for your passphrase if you have |
2137 one, then Git will attempt a pull. | 2132 one, then Git will attempt a pull. |
2138 | 2133 |
2139 If @command{git@tie{}pull@tie{}--verbose} fails, you should see | 2134 If @command{git pull --verbose} fails, you should see |
2140 error messages like these: | 2135 error messages like these: |
2141 | 2136 |
2142 @example | 2137 @example |
2143 Permission denied (publickey). | 2138 Permission denied (publickey). |
2144 fatal: The remote end hung up unexpectedly | 2139 fatal: The remote end hung up unexpectedly |
2145 @end example | 2140 @end example |
2146 | 2141 |
2147 If you get the above error, you may have made a mistake when | 2142 If you get the above error, you may have made a mistake when |
2148 registering your SSH key at Savannah. If the key is properly | 2143 registering your SSH key at Savannah. If the key is properly |
2149 registered, you probably just need to wait for the Savannah server | 2144 registered, you probably just need to wait for the Savannah server |
2150 to activate it. It usually takes a few minutes for the key to be | 2145 to activate it. It usually takes a few minutes for the key to be |
2151 active after registering it, but if it still doesn't work after an | 2146 active after registering it, but if it still doesn't work after an |
2152 hour, ask for help on the mailing list. | 2147 hour, ask for help on the mailing list. |
2153 | 2148 |
2154 If @command{git@tie{}pull@tie{}--verbose} succeeds, the output | 2149 If @command{git pull --verbose} succeeds, the output |
2155 will include a @q{From} line that shows @q{ssh} as the protocol: | 2150 will include a @q{From} line that shows @q{ssh} as the protocol: |
2156 | 2151 |
2157 @example | 2152 @example |
2158 From ssh://git.sv.gnu.org/srv/git/lilypond | 2153 From ssh://git.sv.gnu.org/srv/git/lilypond |
2159 @end example | 2154 @end example |
2160 | 2155 |
2161 If the protocol shown is not @q{ssh}, check that you configured | 2156 If the protocol shown is not @q{ssh}, check that you configured |
2162 Git properly in the previous step. | 2157 Git properly in the previous step. |
2163 | 2158 |
2164 | 2159 |
(...skipping 26 matching lines...) Expand all Loading... |
2191 making commits, or you may simply copy the files from your | 2186 making commits, or you may simply copy the files from your |
2192 local @file{~/.ssh} folder to the same folder on the other | 2187 local @file{~/.ssh} folder to the same folder on the other |
2193 machine. | 2188 machine. |
2194 | 2189 |
2195 @end enumerate | 2190 @end enumerate |
2196 | 2191 |
2197 @subsubheading Technical details | 2192 @subsubheading Technical details |
2198 | 2193 |
2199 @itemize | 2194 @itemize |
2200 @item | 2195 @item |
2201 On Firefox, to view or remove the CAcert root certificate, go to: | 2196 The @command{git remote @w{set-url}} command above should modify your |
2202 Edit > Preferences > Advanced > Encryption > View Certificates > | |
2203 Authorities > Certificate Name > Root CA > CA Cert Signing | |
2204 Authority. | |
2205 | |
2206 @item | |
2207 The @command{git@tie{}config} commands above should modify your | |
2208 local repository's @file{.git/config} file. These lines: | 2197 local repository's @file{.git/config} file. These lines: |
2209 | 2198 |
2210 @example | 2199 @example |
2211 [remote "origin"] | 2200 [remote "origin"] |
2212 url = git://git.sv.gnu.org/lilypond.git/ | 2201 url = git://git.sv.gnu.org/lilypond.git/ |
2213 @end example | 2202 @end example |
2214 | 2203 |
2215 @noindent | 2204 @noindent |
2216 should now be changed to: | 2205 should now be changed to: |
2217 | 2206 |
2218 @example | 2207 @example |
2219 [remote "origin"] | 2208 [remote "origin"] |
2220 url = ssh://@var{user}@@git.sv.gnu.org/srv/git/lilypond.git | 2209 url = ssh://@var{user}@@git.sv.gnu.org/srv/git/lilypond.git |
2221 @end example | 2210 @end example |
2222 | 2211 |
2223 @noindent | 2212 @noindent |
2224 where @var{user} is your login name on Savannah. | 2213 where @var{user} is your login name on Savannah. |
2225 | 2214 |
2226 @item | 2215 @item |
2227 Similarly, the | 2216 Similarly, the |
2228 @command{git@tie{}config@tie{}push.default@tie{}matching} command | 2217 @command{git config @w{push.default} matching} command |
2229 should add these lines to @file{.git/config}: | 2218 should add these lines to @file{.git/config}: |
2230 | 2219 |
2231 @example | 2220 @example |
2232 [push] | 2221 [push] |
2233 default = matching | 2222 default = matching |
2234 @end example | 2223 @end example |
2235 @end itemize | 2224 @end itemize |
2236 | 2225 |
2237 @knownissues | 2226 @knownissues |
2238 Encryption protocols, including ssh, generally do not permit packet | 2227 Encryption protocols, including ssh, generally do not permit packet |
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2729 | 2718 |
2730 @item | 2719 @item |
2731 Book about git: @uref{http://progit.org/,Pro Git} | 2720 Book about git: @uref{http://progit.org/,Pro Git} |
2732 | 2721 |
2733 @item | 2722 @item |
2734 Github help: @uref{http://help.github.com/} | 2723 Github help: @uref{http://help.github.com/} |
2735 (very highly recommended by Graham) | 2724 (very highly recommended by Graham) |
2736 | 2725 |
2737 @end itemize | 2726 @end itemize |
2738 | 2727 |
OLD | NEW |