[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 11:41:36 CET

Hi again,
If this is useful I complete the information with the output for the
"locale" command on my system (my region is Spain):

-----------------
LANG=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=
--------------------

I have read the problem could be the codification of some files (quote from
svn book):

svn: Can't recode string.

The message is cryptic, but generally occurs when the Subversion client has
received a UTF-8 string from the repository, but the characters can't be
converted to the current locale.

By the way I don't know how to check the codification of these files,
neither change this codification.

Please some help :'(

2007/1/22, Alejandro Fernandez <alejandro.fdez@gmail.com>:
>
> 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.

-- 
Saludos,
Alejandro F.
Received on Mon Jan 22 11:42:06 2007

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