method diff documentation in bbn\Api\Git
function()
{
$output = $this->extractFromCommand('git status -s');
if ( is_array($output) && !empty($output) ){
$arr = [];
foreach ( $output as $i => $val ){
$sigle = substr($val, 0, 2);
$element =[
'file' => false,
'folder' => false,
'action' => false,
'commit' => false,
'added' => (strpos($val, 'A') == 0) ? true : false,
'other' => false
];
// for name file
if ( strpos($val, '"') == 3){
if ( substr($val, -1, 1) === "/" ){
$element['folder'] = substr($val, 4);
}
else{
$element['file'] = substr($val, 4);
}
}
else{
if ( substr($val, -1, 1) === "/" ){
$element['folder'] = substr($val, 3);
}
else{
$element['file'] = substr($val, 3);
}
}
//for action and assign value for only file
switch( $sigle ){
case '??':
$element['action'] = 'untracked';
$element['commit'] = false;
$element['added'] = false;
break;
case 'D ':
$element['action'] = 'deleted';
$element['commit'] = true;
$element['added'] = true;
break;
case ' D':
$element['action'] = 'deleted';
$element['commit'] = false;
$element['added'] = false;
break;
case 'R ':
$files = explode(' -> ', $val);
$element['action'] = 'renamed';
$elemnt['old_file'] = $files[0];
$elemnt['new_file'] = $files[1];
$element['commit'] = true;
$element['added'] = true;
break;
case 'M ':
$element['action'] = 'updated';
$element['commit'] = true;
$element['added'] = true;
break;
case ' M':
$element['action'] = 'update';
$element['commit'] = false;
$element['added'] = false;
break;
default:
$element['other'] = $sigle === "A " ? "'A ' (Only added)" : $sigle;
}
$arr[]= $element;
}
return $arr;
}
}
return null;
}
BBN is a suite of PHP and JS libraries and VueJS components - all open-source! bbn.io, build applications, the quick way
This website uses cookies to ensure you get the best experience on our website.
© 2011-2023
BBN Solutions