scripts/functions: Fix CT_ExtractGit function.
Change CT_ExtractGit so that it clones the repository, instead of just
symlinking it. After cloning, any given ref is checked out, or if no
ref is given, the HEAD of the repository is checked out.
This makes CT_Extract behave similar for git repositories as it does
for tarballs, so that it for example can be used for passing glibc-ports
as a git repository.
Signed-off-by: "Esben Haabendal" <esben.haabendal@prevas.dk>
[yann.morin.1998@anciens.enib.fr: fix incomplete var rename]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2 # Yes, this intends to be a true POSIX script file.
7 # Parse the tools' paths configuration
8 # It is expected that this script is only to be run from the
9 # source directory of crosstool-NG, so it is trivial to find
10 # paths.mk (we can't use ". paths.mk", as POSIX states that
11 # $PATH should be searched for, and $PATH most probably doe
12 # not include "."), hence the "./".
17 Usage: ${myname} <src_dir> <dst_dir> <base> <inc> [sed_re]
18 Renumbers all patches found in 'src_dir', starting at 'base', with an
19 increment of 'inc', and puts the renumbered patches in 'dst_dir'.
20 Leading digits are replaced with the new indexes, and a subsequent '_'
21 is replaced with a '-'.
22 If 'sed_re' is given, it is interpreted as a valid sed expression, and
23 is be applied to the patch name.
24 If the environment variable FAKE is set to 'y', then nothing gets done,
25 the command to run is only be printed, and not executed (so you can
27 'dst_dir' must not yet exist.
29 patch-renumber.sh patches/gcc/4.2.3 patches/gcc/4.2.4 100 10
30 patch-renumber.sh /some/dir/my-patches patches/gcc/4.3.1 100 10 's/(all[_-])*(gcc[-_])*//;'
34 [ $# -lt 4 -o $# -gt 5 ] && { doUsage; exit 1; }
41 if [ ! -d "${src}" ]; then
42 printf "%s: '%s': not a directory\n" "${myname}" "${src}"
45 if [ -d "${dst}" ]; then
46 printf "%s: '%s': directory already exists\n" "${myname}" "${dst}"
51 if [ -n "${FAKE}" ]; then
52 printf "%s: won't do anything: FAKE='%s'\n" "${myname}" "${FAKE}"
56 ${Q} mkdir -pv "${dst}"
57 for p in "${src}/"*.patch*; do
58 [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; }
59 newname="$(printf "%03d-%s" \
62 |"${sed}" -r -e 's/^[[:digit:]]+[-_]//' \
66 ${Q} cp -v "${p}" "${dst}/${newname}"