| 1 | # Copyright 1999-2011 Gentoo Foundation |
1 | # Copyright 1999-2011 Gentoo Foundation |
| 2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
| 3 | # $Header: /var/cvsroot/gentoo-x86/eclass/git-2.eclass,v 1.21 2011/09/23 13:58:09 mgorny Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/git-2.eclass,v 1.22 2011/09/23 13:58:22 mgorny Exp $ |
| 4 | |
4 | |
| 5 | # @ECLASS: git-2.eclass |
5 | # @ECLASS: git-2.eclass |
| 6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
| 7 | # Donnie Berkholz <dberkholz@gentoo.org> |
7 | # Donnie Berkholz <dberkholz@gentoo.org> |
| 8 | # @BLURB: Eclass for fetching and unpacking git repositories. |
8 | # @BLURB: Eclass for fetching and unpacking git repositories. |
| … | |
… | |
| 118 | # @DESCRIPTION: |
118 | # @DESCRIPTION: |
| 119 | # If non-empty this variable bans unpacking of ${A} content into the srcdir. |
119 | # If non-empty this variable bans unpacking of ${A} content into the srcdir. |
| 120 | # Default behaviour is to unpack ${A} content. |
120 | # Default behaviour is to unpack ${A} content. |
| 121 | |
121 | |
| 122 | # @FUNCTION: git-2_init_variables |
122 | # @FUNCTION: git-2_init_variables |
|
|
123 | # @INTERNAL |
| 123 | # @DESCRIPTION: |
124 | # @DESCRIPTION: |
| 124 | # Internal function initializing all git variables. |
125 | # Internal function initializing all git variables. |
| 125 | # We define it in function scope so user can define |
126 | # We define it in function scope so user can define |
| 126 | # all the variables before and after inherit. |
127 | # all the variables before and after inherit. |
| 127 | git-2_init_variables() { |
128 | git-2_init_variables() { |
| … | |
… | |
| 158 | |
159 | |
| 159 | : ${EGIT_PRUNE:=} |
160 | : ${EGIT_PRUNE:=} |
| 160 | } |
161 | } |
| 161 | |
162 | |
| 162 | # @FUNCTION: git-2_submodules |
163 | # @FUNCTION: git-2_submodules |
|
|
164 | # @INTERNAL |
| 163 | # @DESCRIPTION: |
165 | # @DESCRIPTION: |
| 164 | # Internal function wrapping the submodule initialisation and update. |
166 | # Internal function wrapping the submodule initialisation and update. |
| 165 | git-2_submodules() { |
167 | git-2_submodules() { |
| 166 | debug-print-function ${FUNCNAME} "$@" |
168 | debug-print-function ${FUNCNAME} "$@" |
| 167 | if [[ ${EGIT_HAS_SUBMODULES} ]]; then |
169 | if [[ ${EGIT_HAS_SUBMODULES} ]]; then |
| … | |
… | |
| 184 | popd > /dev/null |
186 | popd > /dev/null |
| 185 | fi |
187 | fi |
| 186 | } |
188 | } |
| 187 | |
189 | |
| 188 | # @FUNCTION: git-2_branch |
190 | # @FUNCTION: git-2_branch |
|
|
191 | # @INTERNAL |
| 189 | # @DESCRIPTION: |
192 | # @DESCRIPTION: |
| 190 | # Internal function that changes branch for the repo based on EGIT_COMMIT and |
193 | # Internal function that changes branch for the repo based on EGIT_COMMIT and |
| 191 | # EGIT_BRANCH variables. |
194 | # EGIT_BRANCH variables. |
| 192 | git-2_branch() { |
195 | git-2_branch() { |
| 193 | debug-print-function ${FUNCNAME} "$@" |
196 | debug-print-function ${FUNCNAME} "$@" |
| … | |
… | |
| 208 | |
211 | |
| 209 | popd > /dev/null |
212 | popd > /dev/null |
| 210 | } |
213 | } |
| 211 | |
214 | |
| 212 | # @FUNCTION: git-2_gc |
215 | # @FUNCTION: git-2_gc |
|
|
216 | # @INTERNAL |
| 213 | # @DESCRIPTION: |
217 | # @DESCRIPTION: |
| 214 | # Internal function running garbage collector on checked out tree. |
218 | # Internal function running garbage collector on checked out tree. |
| 215 | git-2_gc() { |
219 | git-2_gc() { |
| 216 | debug-print-function ${FUNCNAME} "$@" |
220 | debug-print-function ${FUNCNAME} "$@" |
| 217 | |
221 | |
| … | |
… | |
| 227 | popd > /dev/null |
231 | popd > /dev/null |
| 228 | fi |
232 | fi |
| 229 | } |
233 | } |
| 230 | |
234 | |
| 231 | # @FUNCTION: git-2_prepare_storedir |
235 | # @FUNCTION: git-2_prepare_storedir |
|
|
236 | # @INTERNAL |
| 232 | # @DESCRIPTION: |
237 | # @DESCRIPTION: |
| 233 | # Internal function preparing directory where we are going to store SCM |
238 | # Internal function preparing directory where we are going to store SCM |
| 234 | # repository. |
239 | # repository. |
| 235 | git-2_prepare_storedir() { |
240 | git-2_prepare_storedir() { |
| 236 | debug-print-function ${FUNCNAME} "$@" |
241 | debug-print-function ${FUNCNAME} "$@" |
| … | |
… | |
| 263 | export EGIT_DIR=${EGIT_DIR} |
268 | export EGIT_DIR=${EGIT_DIR} |
| 264 | debug-print "${FUNCNAME}: Storing the repo into \"${EGIT_DIR}\"." |
269 | debug-print "${FUNCNAME}: Storing the repo into \"${EGIT_DIR}\"." |
| 265 | } |
270 | } |
| 266 | |
271 | |
| 267 | # @FUNCTION: git-2_move_source |
272 | # @FUNCTION: git-2_move_source |
|
|
273 | # @INTERNAL |
| 268 | # @DESCRIPTION: |
274 | # @DESCRIPTION: |
| 269 | # Internal function moving sources from the EGIT_DIR to EGIT_SOURCEDIR dir. |
275 | # Internal function moving sources from the EGIT_DIR to EGIT_SOURCEDIR dir. |
| 270 | git-2_move_source() { |
276 | git-2_move_source() { |
| 271 | debug-print-function ${FUNCNAME} "$@" |
277 | debug-print-function ${FUNCNAME} "$@" |
| 272 | |
278 | |
| … | |
… | |
| 278 | || die "${FUNCNAME}: sync to \"${EGIT_SOURCEDIR}\" failed" |
284 | || die "${FUNCNAME}: sync to \"${EGIT_SOURCEDIR}\" failed" |
| 279 | popd > /dev/null |
285 | popd > /dev/null |
| 280 | } |
286 | } |
| 281 | |
287 | |
| 282 | # @FUNCTION: git-2_initial_clone |
288 | # @FUNCTION: git-2_initial_clone |
|
|
289 | # @INTERNAL |
| 283 | # @DESCRIPTION: |
290 | # @DESCRIPTION: |
| 284 | # Internal function running initial clone on specified repo_uri. |
291 | # Internal function running initial clone on specified repo_uri. |
| 285 | git-2_initial_clone() { |
292 | git-2_initial_clone() { |
| 286 | debug-print-function ${FUNCNAME} "$@" |
293 | debug-print-function ${FUNCNAME} "$@" |
| 287 | |
294 | |
| … | |
… | |
| 301 | [[ ${EGIT_REPO_URI_SELECTED} ]] \ |
308 | [[ ${EGIT_REPO_URI_SELECTED} ]] \ |
| 302 | || die "${FUNCNAME}: can't fetch from ${EGIT_REPO_URI}" |
309 | || die "${FUNCNAME}: can't fetch from ${EGIT_REPO_URI}" |
| 303 | } |
310 | } |
| 304 | |
311 | |
| 305 | # @FUNCTION: git-2_update_repo |
312 | # @FUNCTION: git-2_update_repo |
|
|
313 | # @INTERNAL |
| 306 | # @DESCRIPTION: |
314 | # @DESCRIPTION: |
| 307 | # Internal function running update command on specified repo_uri. |
315 | # Internal function running update command on specified repo_uri. |
| 308 | git-2_update_repo() { |
316 | git-2_update_repo() { |
| 309 | debug-print-function ${FUNCNAME} "$@" |
317 | debug-print-function ${FUNCNAME} "$@" |
| 310 | |
318 | |
| … | |
… | |
| 336 | [[ ${EGIT_REPO_URI_SELECTED} ]] \ |
344 | [[ ${EGIT_REPO_URI_SELECTED} ]] \ |
| 337 | || die "${FUNCNAME}: can't update from ${EGIT_REPO_URI}" |
345 | || die "${FUNCNAME}: can't update from ${EGIT_REPO_URI}" |
| 338 | } |
346 | } |
| 339 | |
347 | |
| 340 | # @FUNCTION: git-2_fetch |
348 | # @FUNCTION: git-2_fetch |
|
|
349 | # @INTERNAL |
| 341 | # @DESCRIPTION: |
350 | # @DESCRIPTION: |
| 342 | # Internal function fetching repository from EGIT_REPO_URI and storing it in |
351 | # Internal function fetching repository from EGIT_REPO_URI and storing it in |
| 343 | # specified EGIT_STORE_DIR. |
352 | # specified EGIT_STORE_DIR. |
| 344 | git-2_fetch() { |
353 | git-2_fetch() { |
| 345 | debug-print-function ${FUNCNAME} "$@" |
354 | debug-print-function ${FUNCNAME} "$@" |
| … | |
… | |
| 394 | echo " storage directory: \"${EGIT_DIR}\"" |
403 | echo " storage directory: \"${EGIT_DIR}\"" |
| 395 | echo " checkout type: ${repo_type}" |
404 | echo " checkout type: ${repo_type}" |
| 396 | } |
405 | } |
| 397 | |
406 | |
| 398 | # @FUNCTION: git_bootstrap |
407 | # @FUNCTION: git_bootstrap |
|
|
408 | # @INTERNAL |
| 399 | # @DESCRIPTION: |
409 | # @DESCRIPTION: |
| 400 | # Internal function that runs bootstrap command on unpacked source. |
410 | # Internal function that runs bootstrap command on unpacked source. |
| 401 | git-2_bootstrap() { |
411 | git-2_bootstrap() { |
| 402 | debug-print-function ${FUNCNAME} "$@" |
412 | debug-print-function ${FUNCNAME} "$@" |
| 403 | |
413 | |
| … | |
… | |
| 436 | popd > /dev/null |
446 | popd > /dev/null |
| 437 | fi |
447 | fi |
| 438 | } |
448 | } |
| 439 | |
449 | |
| 440 | # @FUNCTION: git-2_migrate_repository |
450 | # @FUNCTION: git-2_migrate_repository |
|
|
451 | # @INTERNAL |
| 441 | # @DESCRIPTION: |
452 | # @DESCRIPTION: |
| 442 | # Internal function migrating between bare and normal checkout repository. |
453 | # Internal function migrating between bare and normal checkout repository. |
| 443 | # This is based on usage of EGIT_SUBMODULES, at least until they |
454 | # This is based on usage of EGIT_SUBMODULES, at least until they |
| 444 | # start to work with bare checkouts sanely. |
455 | # start to work with bare checkouts sanely. |
| 445 | # This function also set some global variables that differ between |
456 | # This function also set some global variables that differ between |
| … | |
… | |
| 505 | EGIT_LOCAL_NONBARE="true" |
516 | EGIT_LOCAL_NONBARE="true" |
| 506 | fi |
517 | fi |
| 507 | } |
518 | } |
| 508 | |
519 | |
| 509 | # @FUNCTION: git-2_cleanup |
520 | # @FUNCTION: git-2_cleanup |
|
|
521 | # @INTERNAL |
| 510 | # @DESCRIPTION: |
522 | # @DESCRIPTION: |
| 511 | # Internal function cleaning up all the global variables |
523 | # Internal function cleaning up all the global variables |
| 512 | # that are not required after the unpack has been done. |
524 | # that are not required after the unpack has been done. |
| 513 | git-2_cleanup() { |
525 | git-2_cleanup() { |
| 514 | debug-print-function ${FUNCNAME} "$@" |
526 | debug-print-function ${FUNCNAME} "$@" |