views:

1002

answers:

4

Hey everyone,

Everywhere I go on google I get the same answer to this problem but it is the wrong answer for me. Originally I installed Subversion 1.5.6 for windows (i run Windows Server 2008) on my server and i made a repository for a project. Then I used a Tortoise client version 1.6.X on my laptop to update the project. Everything was hunky-dory until I tried to use a post-commit hook script (i am updating folders in wwwroot on commit to reflect changes on a web page). I got a message to the effect of "This client is too old to work with working copy 'XXX'".

So I uninstalled the SVN client on my laptop and removed the repository from the server. I then made a new repository on the server from scratch and installed TortoiseSVN version 1.5.6 thinking if the client version is the same as the Subversion on the server then they should play nice. After i downloaded the repository on my laptop again and reinstalled my hook script I get the same message...

It is quite painstaking and disruptive to have to keep obliterating my repositories and reinstalling my client to find ones that co-operate through trial and error. I see no reason (and can find none online) as to why the repository would argue if both TortoiseSVN and my server Subversion are both 1.5.6.

Is there anyone out there that can give some insight as to why I would be getting this message? Perhaps even someone who could let me know what version of TortoiseSVN I need to use in order for my Server SVN 1.5.6 to not complain. My hook script works from the command line on my server so I know it's not it's fault. Thanks in advance.

+2  A: 

You claim that the cause of your problem is not the post-commit hook script but my hunch is that that is exactly the root of your problems. When your post-commit script runs, how does it get the files out of your Subversion server so that it can copy them to your web server? Does it not check them out? Besides, you say that everything was working fine until you installed the post-commit hook script.

I have worked in mixed-mode client/server SVN installation situations before, including TortoiseSVN as a client and I have never come across any incompatibilities as long as the clients that work on the same repository are the same version.

Could you please post the contents of your post-commit hook so we can elaborate further?

paracycle
I'm starting to think your right about the hook script. here is my hook script:"[PATH TO svn.exe]" update "[PATH TO SERVER WORKING COPY]" --quiet --non-interactive --username [USERNAME] --password [PASSWORD] --config-dir "[PATH TO REPOSITORY CONFIGURATION FILE]"it is a .cmd file in the hooks dir of my repository
Exactly what I thought. Now, what is the version of the svn.exe that is specified in `[PATH TO svn.exe]`? I bet you there is a conflict there.
paracycle
On a side note, here is a link to where i got this solution from. Seems to work for him, but not for me : http://www.codersrevolution.com/index.cfm/2008/9/15/Creating-a-postcommit-hook-for-Subversion
I don't know how I would check that file directly for the version but the readme in the same directory states "This is Subversion for Win32, version 1.5.6" which is to be expected because that is the version I installed
Do you ever update the `[PATH TO SERVER WORKING COPY]` path with any other version of SVN?
paracycle
A: 

If you go from 1.6 down to 1.5 you could need to downgrade. You never tell us how you move your repository but you must depending on how you do that get a version of the repository itself.

http://wiki.open.collab.net/wiki/Subversion%5FClient%5FFAQ#head-ed7f8e6b7f3265c74eaf7d49dcd4aab85bae2a12

Jonke
there was no need to downgrade the repository because i completely deleted it and remade it when i switched versions.
A: 

Check to see what svn command your post-commit hook script is running. Check that the version of this command matches the version of the last SVN client to touch your repository.

By default when using a new version of a subversion client it will upgrade the repository to that version. This means that suddenly older clients just stop working.

pjp
It will upgrade working copy, not repository (unless you update the server itself too). Usually if you want older clients you just do clean checkout.
Eugene
+1  A: 

Hey Guys,

I figured it out. I feel kind of stupid but I'll post what was wrong for me so future nubs like myself don't waste time like I did. Turns out my Server version of SVN was 1.5.6 but the TortoiseSVN client I had installed on the server was version 1.6.3. So when i would checkout my wwwroot working copy or update it using the right click options TortoiseSVN gave me and updated that working copy's version the SVN server couldn't update it because it was a lower version. So I downloaded TortoiseSVN 1.5.6 from file hippo and re-checked out the working copy on the server and it all worked great! Sorry for wasting your time guys, thanks for the help regardless! Cheers!

Wasn't this exactly the point I was making? (See my last comment)
paracycle