[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: repository-wide global ignores (FAQ?)

From: Christopher Ness <chris_at_nesser.org>
Date: 2005-02-10 21:31:33 CET

On Thu, 2005-10-02 at 14:43 -0500, Jay Berkenbilt wrote:
> Christopher Ness <chris@nesser.org> wrote:
> >> So.... is there a way to create global ignores that are
> >> repository-wide?
> >
> > You can on the client. See:
> > http://subversion.tigris.org/faq.html#ignore-commit
> I actually saw this, but it's not what I'm looking for.
> > You can write a pre-commit script to reject a transaction that contains
> > a file to be ignored at the repository gateway. This causes the entire
> > commit to fail until the ignored file is removed from the transaction.
> > http://svnbook.red-bean.com/en/1.0/ch05s02.html#svn-ch-5-sect-2.1
> That could be useful, but doesn't really address the concern since
> sometimes I do want to check in files that are in the global ignore
> list in CVS.
> My goal isn't to prevent the user from committing certain files. My
> goal is to prevent svn status from complaining about certain files.
> The situation is that our release system currently makes sure that
> there are no files in the working copy (CVS sandbox) that are out of
> date and won't allow us to release if there are any. (In other words,
> cvs -qn update, to be replaced with svn status -u, has to not generate
> any output.) Since our build and test systems create certain standard
> automatic files, I want to put these in the global ignore instead of
> having this information duplicated in a million directories spread
> throughout the repository. I can think of workarounds that would more
> or less automate the process of managing the svn:ignore property on a
> per-directory basis, but it's not really clean. As policy about
> global ignores changes over time, things get to be quite messy.
> If the feature isn't there, I'll figure out a way around it, but I
> want to make sure the feature really isn't there first.

Your build system must use a client to check the status. Just configure
it's client in /home/$USER/.subversion/config

### Section for configuring miscelleneous Subversion options.
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store

Or you can develop your workarounds. Maybe something like:
    svn status -u | grep -v {math.h\|.css\|PATTERN_IGNORES_HERE}

Or put your global ignore patterns in a file and
    svn status -u | grep -v {`cat /var/globalignores`}

In my experience, SVN and expects administrators and users to be able to
"help themselves" with the basic tools available to them for output
parsing (knowing the config file comes with experience... no biggie).
This is why I think SVN is better on a *nix platform, although I think
the GNU tools are available for windows

Some people seem to think that SVN should have everything including the
kitchen sink. I don't think it should but that's just my opinion.


Software Engineering IV,
McMaster University
PGP Public Key: http://www.nesser.org/pgp-key/
15:06:56 up 3:45, 6 users, load average: 0.14, 0.43, 0.57 

Received on Thu Feb 10 21:33:37 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.