QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 998|回复: 0

自己编得用来递归删除CVS目录的脚本

[复制链接]
发表于 2005-11-22 16:19:10 | 显示全部楼层 |阅读模式
用过CVS的都知道,CVS不能直接删除目录,需要将目录中的所有文件(当然不包括CVS目录)都删除后才能将空目录移除,由于我开始项目时引入了太多垃圾文件,不得不把它们的都删除,但一个一个移除太累且烦人,于是便编了下面这个脚本,请大家指教。
[code:1]#!/bin/sh
if [ $# -ne 1 ]
then
        echo "please give a directory to remove!"
fi
function cvsrmdir()
{
        local dir
        echo "entering dir $1"
        cd $1
        for dir in *
        do
                if [ -d $dir ]
                then
                        echo "begin processing $dir"
                        if [ $dir != CVS ]
                        then
                                cvsrmdir $dir
                        else
                                echo "jump CVS dir"
                        fi
                else
                        echo "remove file $dir"
                        rm $dir
                        cvs remove $dir
                fi
        done
        for dir in .*
        do
                echo "begin processing hide files $dir"

if [ -d $dir ]
                then
                        if [ "$dir" != "." -a "$dir" != ".." ]
                        then
                                cvsrmdir $dir
                        fi
                else
                        echo "remove file $dir"
                        rm $dir
                        cvs remove $dir
                fi
        done
        cd ..
        cvs commit -m"remove dir $1"
        cvs update -P
        echo "leaving dir $1"
        return
}

if [ -d $1 ]
then
        cvsrmdir $1
fi
[/code:1]   
以后当在CVS中要删除某个文件夹时,只要切换到它的上级目录,再
cvsrmdir dir_want_to_remove
就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-30 10:15 , Processed in 0.041130 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表