gitonomy / gitlib

Library for accessing Git repositories with PHP
MIT License
448 stars 70 forks source link

Problems with Applying and reverting patches #67

Open furqan-ahmed opened 10 years ago

furqan-ahmed commented 10 years ago

Hi, My name is Furqan Ahmed and I am using gitonomy to manipulate git commands through php. All other things went fine while using gitonomy except I am stuck with applying and reverting patch. As there is no direct function in the library to apply and revert a patch so I am using run in repository.php file to run the commands. Following are the commands that I am using to apply and revert a patch file.

Applying a patch file $repository = new Repository('../../../furqan-repositories/test-repository/remote-repository'); $patch = PATCH_FILES_FOLDER_PATH.'latest.patch';

    $otpt = $repository->run( 'apply', array( '../../../furqan-repositories/local-repository/patches/first_ever_patch.patch' ) );

Reverting a patch file

$repository = new Repository("c:/furqan-repositories/test-repository/remote-repository"); $otpt = $repository->run( 'apply', array( '-R', 'c:/furqan-repositories/local-repository/patches/first_ever_patch.patch' ) );

I am using the above code to apply and revert patches but the following exception is appearing :

Error while running git command: "C:\Program Files (x86)\Git\bin\git.exe" "--git-dir" "C:\furqan-repositories\test-repository\remote-repository/.git" "--work-tree" "C:\furqan-repositories\test-repository\remote-repository" "apply" "../../../furqan-repositories/local-repository/patches/first_ever_patch.patch"

error: hello.txt: No such file or directory

The file that has been changed i.e., hello.txt could not be found. However through git bash I can easily apply and revert patches. Can any body please help me out with this issue.

Thanks and Regards, Furqan Ahmed.

alexandresalome commented 10 years ago

Try providing it an absolute path, because he's not running from working dir the repository.