This is not a bug. This is a FAQ that comes up all the time on the 
subversion lists. It is covered specifically in the Subversion book. 

An excerpt from Chapter 2, section 3.4:
"At first, it may not be entirely clear why this sort of flexibility is 
considered a feature, and not a liability. After completing a commit to the 
repository, the freshly committed files and directories are at a more 
recent working revision than the rest of the working copy. It looks like a 
bit of a mess. As demonstrated earlier, the working copy can always be 
brought to a single working revision by running svn update. Why would 
someone deliberately want a mixture of working revisions? . . . Second, you 
cannot commit a metadata change to a directory unless it's fully 
up-to-date. You'll learn about attaching “properties” to items in Chapter 
6. A directory's working revision defines a specific set of entries and 
properties, and thus committing a property change to an out-of-date 
directory may destroy properties you've not yet seen."

The book is a good resource. You can find it online at 
<http://svnbook.red-bean.com>. The book itself is Free Software. =)

I won't close this bug yet, as I don't want to get into BTS wars. However, 
this is *absolutely* not a bug, it's an intrinsic part of how Subversion 
works.

>   Please re-read my report.  The repository did NOT have a newer
> version than my working copy.  I just reproduced the same bug again:

Yes, the repository did--the directory itself was out of date. It might be a 
bit confusing if you're not used to directories themselves being versioned, 
but this is an very well known FAQ. The correct answer is to run svn 
update, as you discovered.

Try this and see what happens:
 
> jester:~/programming/apt-watch/trunk/apt-watch> svn commit -m "Update
> ignore property."
> Sending        apt-watch
> svn: Commit failed (details follow):
> svn: Out of date: '/trunk/apt-watch' in transaction '4g'

Right, you probably commited some files in this directory, but didn't run a 
svn update afterward. The files are all up to date, but the directory is 
not. Even if you are the only one commiting, this will always happen--it is 
expected and correct behavior.
 
Run:

$ svnversion

And it will report a mixed working copy. This is covered in the Subversion 
book.

> jester:~/programming/apt-watch/trunk/apt-watch> svn update
> At revision 135.

Now try:

$ svnversion

Now everything will at the same version, and

> jester:~/programming/apt-watch/trunk/apt-watch> svn commit -m "Update 
ignore property."
> Sending        apt-watch
> 
> Committed revision 136.

A property change to the directory can proceed, now that you are in sync 
with the repository.

-- 
Wesley J. Landaker <[EMAIL PROTECTED]>
OpenPGP FP: 4135 2A3B 4726 ACC5 9094  0097 F0A9 8A4C 4CD6 E3D2

Attachment: pgpgL5H2O8QTQ.pgp
Description: PGP signature

Reply via email to