2011/3/22 Tomáš Chvátal: > Dne 22.3.2011 22:26, Mike Frysinger napsal(a): >>> # @BLURB: This eclass provides functions for fetch and unpack git >>> repositories >> >> fetching/unpacking > > Yarp fixed.
well, the fix broke the blurb. it has to be on one line. # @BLURB: foo > EGIT_BRANCH=${x:-${EGIT_BRANCH:=${EGIT_MASTER}}} > EGIT_COMMIT=${x:-${EGIT_COMMIT:=${EGIT_BRANCH}}} doesnt make much sense to use := ... it should be :- > [[ "$#" -ne 1 ]] && die "${FUNCNAME}: requires 1 argument (path)" quoting doesnt make much sense ... -ne compares an int, not a string also, the error msg is a bit vague. it should say "... requires exactly 1 ..." > pushd "${1}" &> /dev/null > popd &> /dev/null do you really want to silence errors ? normally people only send stdout to /dev/null because of the echoed dirlist. seems to come up in every func > git submodule init || die "${FUNCNAME}: git submodule initialisation failed" > git submodule sync "" die "${FUNCNAME}: git submodule sync failed" > git submodule update || die "${FUNCNAME}: git submodule update failed" the die strings are abit redundant ... when it fails, the output will show "git submodule init || die", so people can easily figure out "the git submodule init cmd failed" > die "\"${EGIT_BOOTSTRAP}\" is not executable." i find periods in die messages which are a single sentence to be noise. but maybe that's just me. > if [[ "${EGIT_COMMIT}" != "${EGIT_BRANCH}" ]]; then quoting doesnt matter here since you're using [[...]] seems to come up in a bunch of places > local save_sandbox_write=${SANDBOX_WRITE} > if [[ ! -d "${EGIT_STORE_DIR}" ]] ; then > ... > SANDBOX_WRITE=${save_sandbox_write} > fi might as well have the save done inside the if statement since that's the only place it's used > rsync -rlpgo . "${EGIT_SOURCEDIR}" \ this means you need to have DEPEND="net-misc/rsync". why not just use `cp -pPR` instead ? i vaguely recall rsync being slower than a straight cp too ... not much point of doing a rsync when the vast majority of the time (all the time?) the destination is empty. > git-2_initial_clone() > git-2_update_repo() shouldnt EGIT_REPO_URI_SELECTED be set to "" at the start ? > for x in $(git branch |grep -v "* ${EGIT_MASTER}" |tr '\n' ' '); do missing space after each pipe > if [[ -n ${EGIT_BOOTSTRAP} ]] ; then > if [[ -f ${EGIT_BOOTSTRAP} ]]; then seems inconsistent in the whole file ... personally, i prefer the space before the semicolon in if statements -mike