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

Re: Bug in Subversion regarding file attributes

From: Thorsten Schöning <tschoening_at_am-soft.de>
Date: Mon, 22 Aug 2011 08:34:00 +0200

Guten Tag Andy Canfield,
am Montag, 22. August 2011 um 06:07 schrieben Sie:

> WOW! So the .svn hidden directory contains a spare copy of every file in
> that directory??? Why not just store a computed checksum?

You really want to read about the concepts of Subversion and not
wonder about things which are made very clear in the docs. checksums
won't give you the ability of local diffs, reverts etc. It's a
tradeoff between space and needed server communication.

> A working copy also contains some extra files, created and
> maintained by Subversion, to help it carry out these commands. In
> particular, each directory in your working copy contains a
> subdirectory named .svn, also known as the working copy's
> administrative directory. The files in each administrative directory
> help Subversion recognize which files contain unpublished changes,
> and which files are out of date with respect to others' work.

http://svnbook.red-bean.com/en/1.6/svn.basic.in-action.html#svn.basic.in-action.wc

> This means that putting a directory tree under version control doubles
> the size of your working copy!

No, it at least doubles the size of the unversioned directory tree, as
during commits temporary files are created as needed.

> [4] File system attributes are only uploaded for a "svn new"; at all
> other times file system attributes remain as they were when the file was
> first added to the repository. So make darned sure you get the file
> system attributes correct when you first add the file.

Only the executable bit is recognized during svn add, no other file
attributes.

> [5] To correct invalid file system attributes one must copy the file
> elsewhere, svn delete, commit, recover from the copy, svn add, and svn
> commit again.

No, you can set the property svn:executable at any time, as this is
the only attribute which is supported at all and what is exactly what
svn add does.

> Does this mean that if a file is NEW-ed under Windows then when it is
> checked out under Linux it will be writable by everyone,

No, Windows ACLs are ignored by Subversion and even on other OSes
write permissions are not recognized or versioned. If a file is
writable on Linux depends on the permissions of the parent directory,
the user checking out and so on. As always.

> which is the
> default in Windows?

This is wrong, you can't compare Posix permissions with Windows ACLs.
In fact there are only very few files in Windows which are writable by
everyone.

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning
AM-SoFT IT-Systeme - Hameln | Potsdam | Leipzig
 
Telefon: Potsdam: 0331-743881-0
E-Mail:  tschoening_at_am-soft.de
Web:     http://www.am-soft.de
AM-SoFT GmbH IT-Systeme, Konsumhof 1-5, 14482 Potsdam
Amtsgericht Potsdam HRB 21278 P, Geschäftsführer: Andreas Muchow
Received on 2011-08-22 08:35:11 CEST

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.