public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Daniel Iliev <daniel.iliev@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Set a property on a file and have it remove when the file is modified?
Date: Mon, 3 Mar 2008 06:25:51 +0200	[thread overview]
Message-ID: <20080303062551.28c2f6d7@ilievnet.com> (raw)
In-Reply-To: <47C9891E.9010902@gmail.com>

On Sat, 01 Mar 2008 17:49:34 +0100
Erik <esigra@gmail.com> wrote:

> Matthias Guede skrev:
> > 2008/3/1, Erik <esigra@gmail.com>:
> >   
> >> Is it possible to set a property on a file and have it remove
> >>  automatically when the file is modified?
> >>
> >>  Suppose that we have a style checker that checks a lot of source
> >> code files. Once it examined a file and found it to be clean, it
> >> should set a property on the file ("style-clean"). Whenever the
> >> style checker is executed it skips files with this property.
> >> Whenever the file is modified, the filesystem removes the property.
> >>
> >>  Is this possible? Which filesystems does it work on?
> >>     
> >
> > One solution would be using 'make'.  With rules like the following
> > only modified files will
> > be proceeded:
> >
> > timestamp: myFile
> >           doSomthingWidth myFile
> >           touch timestamp
> >   
> 
> We have thought about that, but we would like to avoid having a
> parallel file hierarchy of timestamp files for our source tree.
> Therefore something like the archive attribute (suggested by Etanoi
> Shrdlu) would be better.


Actually, if there are no other concerns, you'd have to keep only one
file for reference. Then you could compare the modification times of all
other files with this reference file.

#!/bin/bash
# initial/full scan

touch timestamp.chk
find hierarchy | while read some_file
do
	[[ stylecheck("$some_file") -eq 0 ]] || touch "$some.file"
done

#EOF


After this every time you run stylecheck(), you'd have to check only
the files having newer time stamp than the one of "timestamp.chk".

#!/bin/bash
# incremental scan

find hierarchy -newer timestamp.chk > modified.list
touch timestamp.chk

while read some_file
do
	[[ stylecheck("$some_file") -eq 0 ]] || touch "$some.file"
done < modified.list
unlink modified.list

#EOF



-- 
Best regards,
Daniel
-- 
gentoo-user@lists.gentoo.org mailing list



  reply	other threads:[~2008-03-03  4:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-01 12:40 [gentoo-user] Set a property on a file and have it remove when the file is modified? Erik
2008-03-01 14:18 ` Florian Philipp
2008-03-01 15:40 ` Etaoin Shrdlu
2008-03-01 16:38 ` Matthias Guede
2008-03-01 16:49   ` Erik
2008-03-03  4:25     ` Daniel Iliev [this message]
2008-03-03 13:12       ` Erik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080303062551.28c2f6d7@ilievnet.com \
    --to=daniel.iliev@gmail.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox