source: spip-zone/_outils_/print_deleted_files.sh @ 94616

Last change on this file since 94616 was 94616, checked in by james@…, 4 years ago

print_deleted_files.sh: produit la liste des fichiers effacés entre 2 version stable de SPIP via une succession de commande *svn diff*

  • Property svn:executable set to *
File size: 1.9 KB
Line 
1#!/bin/bash
2
3TAGS_URL=svn://trac.rezo.net/spip/tags
4
5OLD=3.0.21
6NEW=3.1.0
7
8function diff_print_deleted_files {
9    local dir=""
10    if [[ $3 ]]; then
11        dir=$3"/"
12    fi
13    svn diff --summarize \
14        --old=$1 \
15        --new=$2 | \
16        egrep "^D" | \
17        sed -e "s#^D *$1\/#$dir#"
18}
19
20function print_directories {
21    while (( "$#" )); do
22        is_dir=`echo $1 | egrep -v "svn://"`
23        if [[ $is_dir ]]; then
24            echo $1
25        fi
26        shift
27    done
28}
29
30function find_url {
31    fisrt=0
32    DIR=$1
33    TMP_URL=""
34    shift
35    while (( "$#" )); do
36        is_dir=`echo $1 | egrep -v "svn://"`
37        if [[ $fisrt -eq 0 ]]; then
38            if [[ $is_dir ]]; then
39                fisrt=1
40            else
41                fisrt=2
42            fi
43        fi
44        if [[ $is_dir ]]; then
45            if [[ "$DIR" == "$1" ]]; then
46                if [[ $fisrt -eq 1 ]]; then
47                    shift
48                    echo $1
49                else
50                    echo $TMP_URL
51                fi
52            fi
53        else
54            if [[ $fisrt -eq 2 ]]; then
55                TMP_URL=$1
56            fi
57        fi
58        shift
59    done
60}
61
62function print_delete_plugins {
63    for dir in `print_directories $OLD_PLUGINS`
64    do
65        local dir_to_delete=`echo $NEW_PLUGIN_DIRECTORIES | grep -v $dir`
66        if [[ $dir_to_delete ]]; then
67            echo $dir"/*"
68        else
69            OLD_PLUGIN_URL=`find_url $dir $OLD_PLUGINS`
70            NEW_PLUGIN_URL=`find_url $dir $NEW_PLUGINS`
71            diff_print_deleted_files $OLD_PLUGIN_URL $NEW_PLUGIN_URL $dir
72        fi
73    done
74}
75
76OLD_PLUGINS=`svn propget svn:externals ${TAGS_URL}/spip-$OLD`
77NEW_PLUGINS=`svn propget svn:externals ${TAGS_URL}/spip-$NEW`
78NEW_PLUGIN_DIRECTORIES=`print_directories $NEW_PLUGINS`
79
80print_delete_plugins
81diff_print_deleted_files ${TAGS_URL}/spip-$OLD ${TAGS_URL}/spip-$NEW
Note: See TracBrowser for help on using the repository browser.