Git Web Arayüzü

1 Cevap php

Benim projeler için viewgit arayüz çalışma yapmaya çalışıyorum.

Ancak ben PHP exec ile bu meraklı konuya çalıştırıyorum:

Bu 2 unix komutları benim viewgit / dizini içinde çalışabilir:

/viewgit-> GIT_DIR=/usr/local/apache2/htdocs/repo/.git git rev-list --header --max-count=1 c19e231ad87413798b6a1387a98ec814836fda1e
19e231ad87413798b6a1387a98ec814836fda1e
c19e231ad87413798b6a1387a98ec814836fda1e
tree 4351aa5fb93c3a093902577e5a58138280851152
parent 5099ea6747f8b8a532d153f0536e7be956532a33
author John.smith514-490-6597  1255981013 -0400
committer John.Smith514-490-6597  1255981013 -0400

ve

/viewgit-> GIT_DIR=/usr/local/apache2/htdocs/repo/.git git diff c19e231ad87413798b6a1387a98ec814836fda1e^..c19e231ad87413798b6a1387a98ec814836fda1e
diff --git a/bootstrap.php b/bootstrap.php
index 6cc6336..857890b 100755
--- a/bootstrap.php
+++ b/bootstrap.php
@@ -17,7 +17,7 @@
        );              

        // ZEND LIBRARY
-       //--------------------------------------
+       //---------------------------------------
        // 1.7
        //require_once "Zend/Loader.php";
        //Zend_Loader::registerAutoload();

php exec kullanırken ancak sadece ilk bir bir çıktı verir:

$output_1 = array();
$output_2 = array();
$cmd_1 = "GIT_DIR=/usr/local/apache2/htdocs/repo/.git git rev-list --header --max-count=1 c19e231ad87413798b6a1387a98ec814836fda1e";
$cmd_2 = "GIT_DIR=/usr/local/apache2/htdocs/repo/.git git diff c19e231ad87413798b6a1387a98ec814836fda1e^..c19e231ad87413798b6a1387a98ec814836fda1e";
exec($cmd_1, $output_1, $ret);
exec($cmd_2, $output_2, $ret);

$output_1 does infact contain the data from the commveline ... however, $output_2 is empty !

Herhangi bir fikir ne bu neden oluyor?

Thx

1 Cevap

Çok chagrin Sonunda bir çözüm indi sonra .... ^ kaçmak.

Yani koduna kazınmalı ve değiştirilmesi:

$text = git_diff($page['project'], "$hash^", $hash);

ile

$text = git_diff($page['project'], "$hash\^", $hash);

başka bir yerde, yine de henüz onlara inmedik benzer sorunlar olabilir.