RE: Action needed to get critical SVN related fix in Windows 7 SP1

2010-02-13 Thread Bert Huijben
Hi,

 

After reporting this issue as an official Microsoft support incident as MS
partner (and most likely numerous reports from other Subversion users) it is
starting to look like Microsoft decided to fix this in Windows 7 Servicepack
1. 

(They asked me if I was willing to accept a fix delivered in Servicepack 1
instead of an individual fix. And I think that is the best way to get this
fixed for everybody)

 

So I have no final confirmation yet (and I doubt I'm going to get one until
they are ready to release Servicepack 1), but we got this issue on the
servicepack schedule!

 

Thanks to all of you that contacted Microsoft directly!

 

Bert

 

From: Erik Funkenbusch [mailto:e...@funkenbusch.com] 
Sent: donderdag 4 februari 2010 22:15
To: users@subversion.apache.org
Subject: Action needed to get critical SVN related fix in Windows 7 SP1

 

Someone posted about what is essentially Subversion issue 3574
(http://subversion.tigris.org/issues/show_bug.cgi?id=3574) on the technet
forums and received a response from Neal Christensen, the NTFS Lead
Developer.  He indicated that this is a known issue in Windows 7, but was
not scheduled for inclusion in SP1 because it was not receiving much
feedback.

 

If you have access to send Microsoft feedback on this issue, it is in
everyone's best interest if as many people do so as they can to get this
issue included in SP1.  This seriously affects those using Windows 7 as both
a server and client for Subversion.  



Re: Changing the native newline mode

2010-02-13 Thread Tyler Roscoe
On Fri, Feb 12, 2010 at 10:56:28PM -0500, Glenn Maynard wrote:
 Telling people don't do what you want to do; do what you don't want
 instead is not helpful.

o rly?

I haven't been following this thread closely but it seems that your
complaint is the classic, Doctor, it hurts when I do this. Several
people in the community have suggested, Then don't do that. I would
take this sage advice (i.e. don't share working copies across platforms)
or at least one of the proposed workarounds (I saw the idea of setting
eol-style to CRLF; did someone suggest running unix2dos before using
the working copy on your Windows box?) rather than complaining that the
advice is not helpful.

I can't find it right now but there was a presentation about the top ten
ways *not* to use Subvesion. One of the entries was about using
Subversion in a way that it was not designed to be used.  This arises
most frequently when people want to use Subversion as a backup
mechanism, but I think it applies equally to your desire to use a single
working copy across platforms no matter the cost.

good luck,
tyler


Restoring a hotcopy repo

2010-02-13 Thread Justin Connell

Hi,
I need to set up a new svn repository from a hotcopy backup. I 
understand that it is a simple procedure of just copying the files into 
the new repo and ensuring that the file access permissions are correct, 
but my concern is that the hotcopy contains a series of .txn directories 
which implies that the hotcopy was configured to do an incremental 
back-up, and my core concern is that when I move the content of the 
hotcopy, do I include the .txn directories or are these ommitted?


Thanks in advance for taking the time to respond to my query

Justin


High availability

2010-02-13 Thread Arsen Shnurkov
Where one can find an article about HA-setup of subversion
(preferable for gentoo)?

I found two places:
http://svn.haxx.se/users/archive-2007-01/1307.shtml
(it just say that someone uses GFS) and
http://www.wandisco.com/subversion/highavailability/
(It looks like commercial product, I don't read it all yet)





Re: Changing the native newline mode

2010-02-13 Thread Ryan Schmidt
On Feb 13, 2010, at 10:11, Tyler Roscoe wrote:

 I can't find it right now but there was a presentation about the top ten
 ways *not* to use Subvesion. One of the entries was about using
 Subversion in a way that it was not designed to be used.  This arises
 most frequently when people want to use Subversion as a backup
 mechanism, but I think it applies equally to your desire to use a single
 working copy across platforms no matter the cost.

In my experience, sharing a working copy between OSes can work, if you're aware 
of the limitations. These include:

Checking out files with eol-style:native will give them the native line ending 
style matching the client that did the svn checkout. I am not certain what 
happens with svn update later: do files get the eol-style of the client 
currently doing the update or of the client that originally did the checkout? 
The latter would mean that the native eol-style was stored somewhere in the 
.svn directories by the client that did the svn checkout. To discover if this 
is the case, you could check out a working copy on UNIX and check out a working 
copy from the same URL on Windows and then diff them. If they differ, you may 
be able to use that information to patch the contents of the .svn directories 
on your UNIX box on the SMB share, in addition to running a tool like unix2dos 
or ux2dos to fix the line endings in the actual files. However, this advice 
will get me yelled at by the list, because we cannot recommend modifying the 
contents of the .svn directories manually for any reason. So I'm merely saying 
you could do this; I'm not recommending you do this.

Symlinks don't work on Windows. If you check out a working copy on Windows that 
would contain symlinks on UNIX, you'll instead get a text file, whose contents 
is link  followed by the path to the original item. If you check out on UNIX, 
you get a symlink. If you check out on UNIX on an SMB share that's hosted on 
Windows, I'm not sure what you get. Best advice is not to have any symlinks in 
your repository if you are going to be checking out on Windows ever.

Windows and Mac filesystems are by default case-insensitive; UNIX filesystems 
are usually case-sensitive. If you need to use your repository from Windows or 
Mac clients, you will want to not commit files to the repository whose names 
differ only in case. There is a pre-commit hook in the Subversion source 
distribution that you can install that prevents such things from happening.

Windows has several restrictions on the names files can have, which are listed 
in this Wikipedia article:

http://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words

You can commit files with these names on UNIX, but trying to move these to 
Windows will give you a cryptic error. So you should not commit files with 
these names to the repository. You could write a pre-commit hook to prevent the 
commit of such files if you believe this will be a frequent problem.




Mirror a remote repository in a local branch

2010-02-13 Thread vic

Hi,

I'd like to keep a mirror of the trunk of a remote directory in a branch 
of my local repository. My use case is that I have made modifications of 
a product for which I have only read access. As the product evolves, I'd 
like to update while keeping my modifications.


I thought of keeping my work in the trunk and the evolutions of the 
remote product in a branch, and merge as necessary, simulating two teams 
working on the same repository.


Is this possible/is there a better way to do this ?

Thanks.



Re: Changing the native newline mode

2010-02-13 Thread Glenn Maynard
On Sat, Feb 13, 2010 at 11:11 AM, Tyler Roscoe ty...@cryptio.net wrote:
 I haven't been following this thread closely but it seems that your
 complaint is the classic, Doctor, it hurts when I do this. Several
 people in the community have suggested, Then don't do that. I would
 take this sage advice (i.e. don't share working copies across platforms)
 or at least one of the proposed workarounds (I saw the idea of setting
 eol-style to CRLF; did someone suggest running unix2dos before using
 the working copy on your Windows box?) rather than complaining that the
 advice is not helpful.

I've explained in reasonable detail why I want to do what I want, and
why none of these workarounds work.  Saying just don't do that is
ignoring everything that's been said.

It hurts when I breathe!  Then what should you stop doing?

On Sat, Feb 13, 2010 at 4:16 PM, Ryan Schmidt
subversion-20...@ryandesign.com wrote:
 Checking out files with eol-style:native will give them the native line 
 ending style matching the client that did the svn checkout. I am not 
 certain what happens with svn update later: do files get the eol-style of 
 the client currently doing the update or of the client that originally did 
 the checkout? The latter would mean that the native eol-style was stored 
 somewhere in the .svn directories by the client that did the svn checkout. To 
 discover if this is the case, you could check out a working copy on UNIX and 
 check out a working copy from the same URL on Windows and then diff them. If 
 they differ, you may be able to use that information to patch the contents of 
 the .svn directories on your UNIX box on the SMB share, in addition to 
 running a tool like unix2dos or ux2dos to fix the line endings in the actual 
 files. However, this advice will get me yelled at by the list, because we 
 cannot recommend modifying the contents of the .svn directories manually for 
 any reason. So I'm merely saying you could do this; I'm not recommending you 
 do this.

Even if that worked, I'm pretty sure it would break badly the next
time a new directory was created from an update.  I'll stick with
manually repairing newlines for now.

I suspect that it's not a massive project to actually implement this
properly; fundamentally, it probably means adjusting
svn_wc__get_eol_style to allow substituting native for one of the
other EOL modes, based on a working-copy-local setting (not a stored
property).  When this setting is changed, any affected
eol-style:native files would need to be converted (nothing new here;
changing eol-style itself does exactly that).  The tricky part is in
the supporting details: where to put that setting and how to change
it, what happens if you svn switch a directory with this setting, etc.

Anyhow, while it might be too niche a feature for inclusion in
Subversion, it's definitely not outside the overall design, as Tyler
suggests.  This fits very naturally into Subversion's concept of
newline handling.

-- 
Glenn Maynard


Re: Mirror a remote repository in a local branch

2010-02-13 Thread Ryan Schmidt

On Feb 13, 2010, at 15:43, v...@bidouille.org wrote:

 I'd like to keep a mirror of the trunk of a remote directory in a branch of 
 my local repository. My use case is that I have made modifications of a 
 product for which I have only read access. As the product evolves, I'd like 
 to update while keeping my modifications.
 
 I thought of keeping my work in the trunk and the evolutions of the remote 
 product in a branch, and merge as necessary, simulating two teams working on 
 the same repository.
 
 Is this possible/is there a better way to do this ?

The Vendor Branches section of the book talks about this scenario. There are 
tools to help you automate this, including the Perl script svn_load_dirs.pl and 
the Ruby script Piston.



Re: Changing the native newline mode

2010-02-13 Thread Glenn Maynard
On Sat, Feb 13, 2010 at 7:10 PM, Ryan Schmidt
subversion-20...@ryandesign.com wrote:
 svn export already has a --native-eol switch. This is easy because after 
 exporting, Subversion doesn't have to deal with that directory anymore. But 
 as a fellow user I think it would fit nicely to have the same switch on svn 
 checkout, which would make that working copy always use the indicated 
 native eol-style. Where to store this fact? In Subversion 1.7, working copy 
 metadata will no longer live in .svn directories but in a central sqlite 
 database, so there's probably a place in there where native eol-style could 
 be stored. If Subversion does not already store the native eol-style of the 
 working copy somewhere, this would probably be a good thing to add, 
 regardless of whether we add a mechanism for requesting an alternate 
 eol-style.

A database representing the whole working copy?  That's odd--I can't
think of how that could generally handle actions like cloning a whole
WC (cp -a wc1 wc2), pulling a piece out of a WC creating a new WC as a
result (mv wc1/trunk .; rm -rf wc1) and renaming a WC (mv wc1 wc1~),
all of which work with the current system (and all of which I use with
varying frequency).

Putting text-base in Sqlite would be unfortunate.  One of the great
things that could be done with the current format would be to support
COW filesystems, which are under active development and hopefully will
be fairly common in a few years.  That would eliminate the 2x data
overhead, while still supporting client-side diffs.  I'm not sure that
Sqlite is any good at storing large, changing files, either (database
fragmentation).

(I don't know what the actual design is looking like; I've looked over
http://svn.apache.org/repos/asf/subversion/trunk/notes/wc-ng/design,
but of course it's rather hard to grasp the overall design from a
thirty page design notepad.)

 I'm not sure we need a mechanism to switch an existing working copy to a 
 different native eol-style. If we do, svn update --native-eol CRLF would be 
 one possible syntax to consider.

That's true, and simplifies the idea significantly.  I do think it's
reasonable to require this be set at checkout time.

Another category of use cases comes to mind: svn diff can operate
across WC's, so it should function across WC's checked out with
different newline styles.  (I don't see myself actually trying to
implement this--not in the next few months, anyway--so I didn't poke
in to see how hard this would be.)

 However, rather than adding a third function to svn switch, I'd be more in 
 favor of going the other way: reducing switch to a single functionality

I'd avoid any design that involves rearranging core features like svn
switch, which I suspect would make it a much harder sell to the core
developers, who would rightly ask why are we making major interface
changes for a minor feature?.

-- 
Glenn Maynard


Re: Changing the native newline mode

2010-02-13 Thread Ryan Schmidt

On Feb 13, 2010, at 19:00, Glenn Maynard wrote:

 A database representing the whole working copy?  That's odd--I can't
 think of how that could generally handle actions like cloning a whole
 WC (cp -a wc1 wc2), pulling a piece out of a WC creating a new WC as a
 result (mv wc1/trunk .; rm -rf wc1) and renaming a WC (mv wc1 wc1~),
 all of which work with the current system (and all of which I use with
 varying frequency).
 
 Putting text-base in Sqlite would be unfortunate.  One of the great
 things that could be done with the current format would be to support
 COW filesystems, which are under active development and hopefully will
 be fairly common in a few years.  That would eliminate the 2x data
 overhead, while still supporting client-side diffs.  I'm not sure that
 Sqlite is any good at storing large, changing files, either (database
 fragmentation).
 
 (I don't know what the actual design is looking like; I've looked over
 http://svn.apache.org/repos/asf/subversion/trunk/notes/wc-ng/design,
 but of course it's rather hard to grasp the overall design from a
 thirty page design notepad.)

You bring up a lot of the same questions I have about the new working copy 
design. I assume the developers have considered all of this carefully and are 
making the best choices they can. I plan to wait until 1.7 is released and then 
just see what's happened. I understand some (all?) of this is already 
implemented in trunk so you can of course build from there and see how it works 
already.




Re: Mirror a remote repository in a local branch

2010-02-13 Thread C. Michael Pilato
Ryan Schmidt wrote:
 On Feb 13, 2010, at 20:11, C. Michael Pilato wrote:
 
 The vendor branches section of the book was written before Subversion grew
 support for foreign repository merges.
 
 Wow, I did not know Subversion had grown such support. When did this happen? 
 :)

I kinda snuck it into the 1.5.0 release (and then we made some bugfixes in
other 1.5.x releases).  Don't tell anybody.  ;-)

-- 
C. Michael Pilato cmpil...@collab.net
CollabNet  www.collab.net  Distributed Development On Demand


Re: Website: please add some content from the old links page

2010-02-13 Thread C. Michael Pilato
Cristian Rigamonti wrote:
 Hi, it seems the old http://subversion.tigris.org/links.html page was not
 migrated to subversion.apache.org. While I can understand that it's quite a
 burden to maintain a lot of information about third party tools etc, I think
 that some of the content of that page should be added somewhere on the new
 apache site: e.g. links to sample hook scripts
 http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/
 http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/
 
 Note that the page content is still reachable at
 http://svn.apache.org/viewvc/subversion/trunk/www/links.html?revision=884848view=copathrev=900404
 (thanks to the IRC folks on #svn for the hint :)

This message would have a higher likelihood of being effective if aimed at
the correct target audience.  The folks that maintain the Subversion website
hang out on the dev@ list.

-- 
C. Michael Pilato cmpil...@collab.net
CollabNet  www.collab.net  Distributed Development On Demand


Re: Restoring a hotcopy repo

2010-02-13 Thread Andrey Repin
Greetings, Justin Connell!

 I need to set up a new svn repository from a hotcopy backup. I
 understand that it is a simple procedure of just copying the files into 
 the new repo and ensuring that the file access permissions are correct, 
 but my concern is that the hotcopy contains a series of .txn directories 
 which implies that the hotcopy was configured to do an incremental 
 back-up, and my core concern is that when I move the content of the 
 hotcopy, do I include the .txn directories or are these ommitted?

Hotcopy is a snap of working SVN repository.
If you're concerned, you could just point your SVN tools to the new repository
made from backup and see if it works the way you expect it to be. Then switch
main server over to the new location.
The txn dirs likely indicate stalled transactions, lookup documentation about
the ways to cleanup repository from them.
Yet again, you should not be need to mess with hotcopied files by hands - only
using standard Subversion utilities.


--
WBR,
 Andrey Repin (anrdae...@freemail.ru) 14.02.2010, 8:09

Sorry for my terrible english...



Re: Changing the native newline mode

2010-02-13 Thread Ryan Schmidt

On Feb 13, 2010, at 23:09, Andrey Repin wrote:

 Second, don't join replies to multiple authors in one post - it's frustrating.

Actually, the mailing list guidelines encourage us to do this:

http://subversion.apache.org/docs/community-guide/mailing-lists.html#when-to-post




Re: Changing the native newline mode

2010-02-13 Thread Glenn Maynard
On Sun, Feb 14, 2010 at 12:09 AM, Andrey Repin anrdae...@freemail.ru wrote:
 First, I said already, AnkhSVN.

And I've already explained that I want to use my existing Linux CLI to
manipulate all of my repositories, so I don't have separate SVN
interfaces for each of my working copies.  That's the *whole point*.
A Windows GUI doesn't help me do that at all, nor do any of the other
things you've suggested.  If I wanted to use a Windows Subversion
client, I wouldn't have been here in the first place.  Do you think
I'm not aware of their existance?

On Sun, Feb 14, 2010 at 12:36 AM, Ryan Schmidt
subversion-20...@ryandesign.com wrote:
 Actually, the mailing list guidelines encourage us to do this:

And it's fairly standard practice, at least when replying to close
neighbors in a thread.

-- 
Glenn Maynard


Re: Changing the native newline mode

2010-02-13 Thread Glenn Maynard
On Sat, Feb 13, 2010 at 9:56 PM, C. Michael Pilato cmpil...@collab.net wrote:
 You can't think how that would handle those actions because many of them
 won't be handled at all.  'cp -a wc1 wc2' will result in a non-working-copy
 named 'wc2'.  'mv wc1/trunk .; rm -rf wc1' will result in a non-working-copy
 named 'trunk'.  And so on.  There's been talk of adding 'svn' tool support
 for these actions, of course, but I don't know if the details have been
 decided upon.

 Why don't you chime in over on dev@, since that's rather the place to
 discuss Subversion's development?

That's probably redundant--I'm sure all of this is being thought of,
but I'll summarize what comes to mind, just in case.

Based on looking through [1] some more, it looks like cp -a wc1 wc2
and renaming working copies should work fine, since the database is
inside the working copy, and will just get copied along with the rest.
 (That's the only place I could imagine a working-copy-global database
going anyway, else there would be endless problems with finding the
database over NFS and in shared directories, knowing when to purge old
databases, etc.)

Hopefully there'll still be a way to slice out a piece of a repository
(mv wc1/trunk .; rm -rf wc1), which wouldn't work if it's dependent
on a global db at the top.

[1] http://svn.apache.org/repos/asf/subversion/trunk/notes/wc-ng/design

And the other part from the earlier mail:

 Putting text-base in Sqlite would be unfortunate.  One of the great
 things that could be done with the current format would be to support
 COW filesystems, which are under active development and hopefully will
 be fairly common in a few years.  That would eliminate the 2x data
 overhead, while still supporting client-side diffs.  I'm not sure that
 Sqlite is any good at storing large, changing files, either (database
 fragmentation).

I have a few gigs of ~5 meg files in Subversion, and the idea of
storing large blocks of data in SQLite is a bit scary; I don't think
it's designed for blobs that size.  Anything that lumps files together
like this is effectively subjected to two layers of fragmentation
instead of one (filesystem + db).


I'm very happy to see the beginnings of svn obliterate support.  I
brought that up quite a while back, but people at the time seemed
certain that there's never a need to remove old data (which I've had
to do many times on our CVS repositories due to disk space limits and
prevented us from using Subversion for a long time).

-- 
Glenn Maynard