| 134 | If you want, you can edit the .git/config file in each submodule, adding the following line under your mfpl-write stanza: |
| 135 | |
| 136 | {{{ |
| 137 | push = +HEAD:master |
| 138 | }}} |
| 139 | |
| 140 | Then, you only need to type: |
| 141 | |
| 142 | {{{{ |
| 143 | git push mfpl-write |
| 144 | }}} |
| 145 | |
| 146 | After you have made changes to a module (for example the mayfirst module), you need to add it with: |
| 147 | |
| 148 | {{{ |
| 149 | git add modules/mayfirst |
| 150 | }}} |
| 151 | |
| 152 | Be sure ''not'' to include the trailing slash (thanks [https://we.riseup.net/riseup+tech/puppet-git-submodules Riseup for that and other tips on git submodules]). |
| 153 | |
| 154 | === Pulling in changes to the master repo === |
| 155 | |
| 156 | May First/People Link's Puppet Master server is on `rustin.mayfirst.org` which is aliased to puppetmaster.mayfirst.org. |
| 157 | |
| 158 | As root on rustin: |
| 159 | |
| 160 | {{{ |
| 161 | cd /etc/puppet |
| 162 | git remote update |
| 163 | }}} |
| 164 | |
| 165 | Next, check the last commit to make sure it matches the last commit you made (and want live): |
| 166 | |
| 167 | On your local machine: |
| 168 | |
| 169 | {{{ |
| 170 | git log -n1 |
| 171 | }}} |
| 172 | |
| 173 | Compared with, on rustin: |
| 174 | |
| 175 | {{{ |
| 176 | git log -n1 mfpl/master |
| 177 | }}} |
| 178 | |
| 179 | If they match, then rebase (we rebase to ensure that our local changes to files on rustin are not merged): |
| 180 | |
| 181 | {{{ |
| 182 | git rebase mfpl/master |
| 183 | }}} |
| 184 | |
| 185 | And lastly, restart puppetmaster: |
| 186 | |
| 187 | {{{ |
| 188 | /etc/init.d/puppetmaster restart |
| 189 | }}} |
| 190 | |
| 191 | Now, if puppet is running as a daemon on the nodes, the changes will eventually propagate. If you are running puppet manually on a node, you can test manually with: |
| 192 | |
| 193 | {{{ |
| 194 | puppet agent --verbose --no-daemonize --onetime |
| 195 | }}} |