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

Re: Pre-commit and post-chekout hooks on client side

From: Gustavo Guerra <gmcg_at_acm.org>
Date: 2004-09-08 15:12:44 CEST

Yes, i can do that as a workaround, but what would be great is to subversion
to have versioned on the repository in repository_root/SVNROOT or something
(like cvs) the hooks, instead of like they are now, only accessible on the
server, and added some client-side version of them. But I understand this
would be difficult, because SVN doesn't work that way, but maybe adding two
more hooks "client-pre-commit" and "client-post-checkout" that would be
executed on the client side. Of course this has the problem, the the scripts
would have to be able to executeon the client, and it would be possible to
someone to checkout on a place without that script language installed, but
that would be something the repository administrator would be aware off.

I'll explain my problem a little better to see if someone has a similar
problem and how they solved it (hope this isn't off topic)

ASP.Net projects in Visual Studio have to be accessed through the web server
frontpage extensions, I can't just have a project on some directory and then
have it upload it on build time (yes, that's stupid, but I have to live with
Suppose I have a solution "MySolution" with two subprojects "MyProject" and
"MyWebProject". The ideal would be to have the solutin file in C:\MySolution
and then the projects in C:\Mysolution\MyProject and
C:\MySolution\MyWebProject, and after build, Visual Studio would copy the
files from MyWebProject to c:\inetpub\wwwroot\MyWebProject. But that isn't
possible. So, instead of that, VS saves in the solution file the location
http://localhost/MyWebProject instead of .\MyWebProject. Now, I want to save
all this on a subversion repository, and the natural solution is to have
repos/MySolution/MyProject and repos/MySolution/MyWebProject, having
repos/MySolution/MyWebProject and making a link from
c:\inetpub\wwwroot\MyWebProject to c:\MySolution\MyWebProject, and addint
the _vti_*** directories to the ignore list. This way Visual Studio is
happy, and subversion is happy. But that that doesn't solve it, because the
server extensions that Visual Studio uses to copy the files become messed up
when they see those .svn directories. So the solution I found was two have
to scripts PreCommit.bat and PostUpdate.bat, that syncronized the
c:\inetpub\wwwroot\** directories with the location of the checkout.

Can anyone think of a better solution than this, using some subversion

The problem is that in the c:\inetpub\wwwroot\*** where the files are, there
are some directoris (_vti_***) that can't be tampered with, or else it

"Lee Merrill" <LeeMerrill@bustech.com> wrote in message
> Hi Gustavo,
> I think you could do an "svn info" to see, in your script, which
> repository you are referencing, and gear off of that. "svn.save info," I
> mean!
> Which brings up something I would like to see! It would be nice to be
> able to print a message to the user on the client from a server hook
> script. I know that would probably be difficult, though...
> Lee
>>Yes, I could do a little script wrapping svn, but I want something on a
>>per-repository basis
>>Gustavo Guerra
> --
> +=========================================================
> + Lee Merrill lee@bustech.com 919-866-2008
> +=========================================================
> Unless otherwise stated, any views presented in this email are solely
> those of the author and do not necessarily represent those of the company.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Sep 8 15:15:02 2004

This is an archived mail posted to the Subversion Users mailing list.