emacs-devel
[Top][All Lists]
Advanced

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

Re: 23.0.60; Womang hangs on some links


From: Stefan Monnier
Subject: Re: 23.0.60; Womang hangs on some links
Date: Sat, 07 Jun 2008 23:19:58 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

> A side question : given the recent discussions about the state of the
> toolchain used, I did 'rm -fr emacs ; cvs -d... co emacs ; cd emacs ;
> ./configure ; make bootstrap'. Is there a method less network and
> CPU-hungry ?

You can use a cvs-clean script which just removes all
non-CVS-controlled files.  This is *much* faster and doesn't require any
network access.
E.g. I occasionally use the script below.


        Stefan


#!/usr/bin/perl

sub cvsclean {
    my($path) = @_;
    my(%files) = ();
    my(@subdirs);

    print STDOUT "Cleaning $path\n";
    opendir (DIR, "$path/") || die "No directory $path";
    open (ENTRIES, "$path/CVS/Entries") || die "No $path/CVS/Entries file";
    while (<ENTRIES>) {
        if (m[^D/([^/]+)]) {
            push (@subdirs, "$path/$1");
        } elsif (m[^/([^/]+)/[^/-]]) {
            $files{$1} = "managed";
        }
    }

    foreach $entry (readdir(DIR)) {
        if (!exists ($files{$entry})) {
            $entry = "$path/$entry";
            if (-f $entry) {
                print STDOUT "unlink $entry\n";
                unlink $entry;
            }
        }
    }
    
    foreach $subdir (@subdirs) {
        &cvsclean ($subdir);
    }
}

&cvsclean (".");




reply via email to

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