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

RE: Noninvasive administrative areas (.svn)

From: Leeuw van der, Tim <tim.leeuwvander_at_nl.unisys.com>
Date: 2003-12-02 15:17:32 CET

Sorry if I wasn't clear. I don't think it's a bug in SVN at all, but the
results are not pretty. I'll try to explain.

Consider the following directory-tree:

project/
  .svn/
  build/
    .svn/
  src/
    .svn/
    com/
      .svn/
      company/
        .svn/
        myprog1
          .svn/
          myclass1.java
        myprog2/
          .svn/
          myclass2.java
        myprog.properties
    org/
      .svn/
      apache/
        .svn/
        lib1
          .svn/
          lib1class.java
          lib1.properties
        lib2/
          .svn/
          lib2class.java
          lib2.properties

All of the project is under revision-control, so there are .svn directories
everywhere.
Now you build your project in Eclipse / WSAD. Eclipse / WSAD compile your
.java files, and put the .class in a tree under the build/ directory. It
also copies all non-java files/directories to the build/ directory, skipping
those who match pre-defined ignore-patterns.

So now you get:
project/
  .svn/
  build/
    .svn/
    com/
      .svn/
      company/
        .svn/
        myprog1
          .svn/
          myclass1.class
        myprog2/
          .svn/
          myclass2.class
        myprog.properties
    org/
      .svn/
      apache/
        .svn/
        lib1
          .svn/
          lib1class.class
          lib1.properties
        lib2/
          .svn/
          lib2class.class
          lib2.properties
  src/
    (as before)

This confuses SVN a whole lot! Suddenly it finds files/directories in the
'build/' directory that weren't there before, but guess what, they're not
new - they have .svn info! And the 'entries' files refer to files that
aren't there, but can't be found in the repository either.

I haven't had this for over a year so I can't remember really what mess
results. With recent versions the problem might not be so bad anymore.
I remember very well that when Eclipse does this on a BitKeeper repository
the result is really horrible and I remember something about duplicate
unique file-ids and a nightmare trying to recover from that. The horror of
this BK repos. corruption overshadows all my memories of what actually went
wrong when the same thing happened with SVN...

But the problem is caused entirely by Eclipse/WSAD and is preventable by
proper configuration of it; I don't consider it to be a bug in SVN.

regards,

--Tim

-----Original Message-----
From: Julian Foad [mailto:julianfoad@btopenworld.com]
Sent: dinsdag 2 december 2003 15:05
To: Leeuw van der, Tim
Cc: 'Rusk, Patrick'; users@subversion.tigris.org
Subject: Re: Noninvasive administrative areas (.svn)

Leeuw van der, Tim wrote:
> Not only the longer build-times, much more annoying is that SVN then sees
> those .svn directories and assumes them to be things under
source-control...
> That's bitten me several times in the past and screwed up things quite a
> bit. Especially if the build-directory itself is for some reason under
> source-control.

Huh? Can you give a specific example (transcript of commands) of where
Subversion sees a ".svn" directory and thinks that it it an item under
source control? That sounds like a bug.

- Julian

> -----Original Message-----
> From: Rusk, Patrick [mailto:PRusk@wellington.com]
> Sent: maandag 1 december 2003 16:15
>
> I'm using Eclipse 3.0M4. I can't vouch for WSAD at all.
>
> Eclipse won't show any of the .svn stuff under the Java package explorer,
> but it will under the resource navigator view. However, you can easily
set
> a filter for that with the "Filters..." menu item, which conveniently
> provides ".*" as a filter that can be turned on.
>
> Something that's a tiny bit more hidden is that, by default, Eclipse will
> copy over all of those .svn folders to your build output directory,
assuming
> them to be resources. You can prevent this by going to the
> "Windows/Preferences/Java/Compiler/Build Path" menu item/dialog/tab and
> adding "*svn*" to the "Filtered Resources" setting. Unless you like
really
> long build times....

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Dec 2 15:19:10 2003

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.