automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strictness


From: Noah Slater
Subject: Re: Strictness
Date: Sat, 11 Aug 2007 19:41:16 +0100

> That not an optimal option, as it's illogical to store those files in the svn.

Well don't store them in svn - use a bootstrap script to make them
before running the autotools.

Here is the bit from my ./bootstrap that does the magic:


get_svk_svn_directory () {
    # Return the SVN repository directory for a SVK checkout directory.

    depot_directory=$1
    svk depotmap --list | grep "^/" | while read depot_map; do
        depot_name=$(echo $depot_map | awk "{print \$1}")
        repository_directory=$(echo $depot_map | awk "{print \$2}")
        if echo $depot_directory | grep "^"$depot_name > /dev/null; then
            echo $depot_directory | \
                sed "s|"$depot_name"|file://"$repository_directory"/|"
        fi
    done
}

get_svn_directory () {
    # Return the SVN directory for a directory.

    dirname=$1
    svn_directory=""
    if test -n "$SVN_EXECTUABLE" \
        -a -n "$($SVN_EXECTUABLE info $dirname 2> /dev/null)"; then
        svn_directory="."
    else
        if test -n "$SVK_EXECTUABLE" \
            -a -n "$($SVK_EXECTUABLE info $dirname 2> /dev/null)"; then
            depot_directory=$(svk info $dirname | \
                grep "Depot Path" | awk "{print \$3}")
            svn_directory=$(get_svk_svn_directory $depot_directory)
        fi
    fi > /dev/null
    echo $svn_directory
}

generate_svn_changelog () {
    # Generate the ChangLog file using the Subversion repository.

    dirname=$1
    echo "Generating \`"$CHANGELOG_FILE"'"
    if test -z "$SVN_EXECTUABLE" -a -z "$SVK_EXECTUABLE"; then
        echo "Warning: Unable to find the svn or svk commands."
    fi
    svn_directory=$(get_svn_directory $dirname)
    if test -z "$svn_directory"; then
        echo "Warning: Unable to determine repository information."
    else
        if test -z "$SVN2CL_EXECTUABLE"; then
            echo "Warning: Unable to find the svn2cl command."
        fi
    fi
    if test -n "$svn_directory" -a -n "$SVN2CL_EXECTUABLE"; then
        echo $SVN2CL_EXECTUABLE --authors=$AUTHORS_FILE $svn_directory
    else
        echo "Warning: Unable to generate the \`"$CHANGELOG_FILE"' file."
        touch $CHANGELOG_FILE
    fi
}

-- 
"Creativity can be a social contribution, but only in so
far as society is free to use the results." - R. Stallman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]