Admitir files a SVN usando PHP: una function, dos páginas y dos resultados diferentes

Mi problema es que estoy llamando a la misma function usando dos páginas diferentes (ubicadas en diferentes carpetas) y obteniendo dos resultados diferentes. El objective es enviar contenido en un área de text, savelo en un file y luego confirmarlo.

Aquí está mi estructura de files

\svntest\folio\00123\svn.php \svntest\folio\00456\my_file.php \svntest\test.php \svntest\svncmd\commit.bat 

El contenido de commit.bat

 svn ci -m "hello" %1 

El contenido de \ svntest \ folio \ 00123 \ svn.php:

 if($_POST){ if( strlen($_POST['show_revision']) ){ $f = dirname(__FILE__); $f .= '\\..\\..\\'.$file; svn_save_file($_POST['show_revision'], $f); svn_commit_file(); } //header('location: svn.php'); } <form method="post"> <fieldset><legend>Page Content</legend> <div> <textarea cols="50" rows="10" id="txtarea" name="txtarea"></textarea> </div> <div><input type="submit" value="Save"/></div> </form> 

El contenido de \ svntest \ test.php:

 svn_commit_file(); 

La function svn_commit_file ():

 function svn_commit_file(){ $cmd = '"C:\\Documents and Settings\\me\\Desktop\\xampp\\htdocs\\xampp\\LearnPHP\\svntest\\svncmd\\commit.bat" "folio\\00456\\my_file.php"'; $out = system($cmd, $r); } 

Lo que no funciona

file: \ svntest \ folio \ 00123 \ svn.php

resultado: no hay ningún post de confirmación svn, nada sale de la llamada al sistema () …

Que funciona

file: \ svntest \ test.php

resultado: se obtiene el post svn commit y la versión se agrega a SVN

Como todo está codificado en svn_commit_file (), no veo dónde está el problema.

Creo que debe especificar una ruta absoluta para que se test.php su file. El directory de trabajo actual difiere entre test.php y folio\00123\svn.php .

 function svn_commit_file(){ $cmd = '"C:\\Documents and Settings\\me\\Desktop\\xampp\\htdocs\\xampp\\LearnPHP\\svntest\\svncmd\\commit.bat" "C:\\Documents and Settings\\me\\Desktop\\xampp\\htdocs\\xampp\\LearnPHP\\svntest\\folio\\00456\\my_file.php"'; $out = system($cmd, $r); } 

puede ser un problema con el path

pase el $_SERVER['DOCUMENT_ROOT'] en la function svn_commit_file()

 svn_commit_file($_SERVER['DOCUMENT_ROOT']); 

en function de esta ruta física completa, ejecute el command svn commit … probablemente funcione bien

Gracias