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

Re: Problems with post-commit hook updating working copy

From: Alejandro Fernandez <alejandro.fdez_at_gmail.com>
Date: 2007-01-22 10:30:55 CET

Hi,
 I have tried the shell script you sent me and maybe we can be closer to
understand my problem. I have tested with the same project, and althought it
has been uploaded completely to the svn server, the working copy in the
web-server public folder has the same lacks of certains directories and/or
files.

The update-dev.log has the following message:

     svn: Can't recode string

I have googled the message, and it seems to be problem of the codification
of the files, doesn't it?

I don't know how to solve this problem so any help will be useful.

Thanks in advance.

2007/1/19, Ryan Schmidt <subversion-2007a@ryandesign.com>:
>
> On Jan 19, 2007, at 04:34, Alejandro Fernandez wrote:
>
> > The goal of this hook is maintaining a working copy of the
> > repository (which are php web application projects) published in
> > the web server so the develoment group can test the applications
> > publishing them through svn repository.
> > I created a working copy with the a svn -co command.
> > sudo -u apache svn co http://localhost/proyectosWeb/ html --
> > username name --password pass
> >
> > The user apache is who's running the web-server service.
> >
> > I have tested two different ways for implementing the hook.
> > A) A script which calls a C program:
> > A.1) post-commit script:
> >
> > #!/bin/sh
> > /repositorios/proyectosWeb/hooks/update-dev
> >
> > A.2) update-dev.c
> >
> > #include <stddef.h>
> > #include <stdlib.h>
> > #include <unistd.h>
> >
> > int main(void)
> > {
> > system("/usr/bin/svn update /var/www/html/ --
> > non-interactive --username name--password pass");
> > }
> >
> > B) A small C application called post-commit which send
> > the update command directly:
> > post-commit.c
> >
> > #include < stddef.h >
> > #include <stdlib.h>
> > #include <unistd.h>
> > int main(void)
> > {
> > system("/usr/bin/svn update /var/www/html/ --non-
> > interactive --username name --password pass");
> > }
> >
> >
> >
> > All right, isnt't it?
>
> I really couldn't say; I don't use C. Why do it in C? Why not a shell
> script?
>
> $ echo update-dev.sh
> #!/bin/sh
> /usr/bin/svn update /var/www/html --non-interactive --username u --
> password p
>
>
> > I give all the permisions to the /var/www/html/ path so I try to
> > discard permissions problems.
> > Then I run "Share project" from subclipse client (the eclipse
> > plugin for svn) for a php project to upload a new project to the
> > repository, and that way publish it in the web-server. And the
> > problem is the working copy don't contain all the files we uploaded
> > to the repository, some files and/or directories are missing.
> >
> > Curiously, when I run the post-commit script A, or the post-commit
> > application B; DIRECTLY in the shell of the server it updates the
> > working copy correctly, adding the files/directories that were
> > missing.
> > I run the post-commit with "sudo -u apache ./post-commit" to have
> > the same rights.
> > Also curiously, if I delete the project from repository and working
> > copy and I re-"Share project" from eclipse THE SAME files/
> > directories are missing again.
> >
> >
> > Is this a permissions problem? Is this a bug? I've been a week to
> > implement the hook, so my boss is going to kill me :-D.
>
> Environment variables are different when the hook is called by
> Subversion. In particular, the environment should be very close to
> empty, and this may be a problem for some reason. See what kind of
> error is occurring by writing stderr to a log, then reading the log:
>
> $ echo update-dev.sh
> #!/bin/sh
> /usr/bin/svn update /var/www/html --non-interactive --username u --
> password p 2>/tmp/update-dev.log
>
>
>
> --
>
> To reply to the mailing list, please use your mailer's Reply To All
> function
>
>
>

-- 
Saludos,
Alejandro F.
Received on Mon Jan 22 10:31:29 2007

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