* @param string $dir The root directory of the repo where the .git dir can be found
*/
public function __construct( $dir ) {
- $this->basedir = "{$dir}/.git";
+ $this->basedir = $dir . DIRECTORY_SEPARATOR . '.git';
if ( is_readable( $this->basedir ) && !is_dir( $this->basedir ) ) {
$GITfile = file_get_contents( $this->basedir );
if ( strlen( $GITfile ) > 8 && substr( $GITfile, 0, 8 ) === 'gitdir: ' ) {
$path = rtrim( substr( $GITfile, 8 ), "\r\n" );
$isAbsolute = $path[0] === '/' || substr( $path, 1, 1 ) === ':';
- $this->basedir = $isAbsolute ? $path : "{$dir}/{$path}";
+ $this->basedir = $isAbsolute ? $path : $dir . DIRECTORY_SEPARATOR . $path;
}
}
}
* @return string The HEAD
*/
public function getHead() {
- $HEADfile = "{$this->basedir}/HEAD";
+ $headFile = "{$this->basedir}/HEAD";
- if ( !is_readable( $HEADfile ) ) {
+ if ( !is_readable( $headFile ) ) {
return false;
}
- $HEAD = file_get_contents( $HEADfile );
+ $head = file_get_contents( $headFile );
- if ( preg_match( "/ref: (.*)/", $HEAD, $m ) ) {
+ if ( preg_match( "/ref: (.*)/", $head, $m ) ) {
return rtrim( $m[1] );
} else {
- return rtrim( $HEAD );
+ return rtrim( $head );
}
}
* @return string A SHA1 or false
*/
public function getHeadSHA1() {
- $HEAD = $this->getHead();
+ $head = $this->getHead();
// If detached HEAD may be a SHA1
- if ( self::isSHA1( $HEAD ) ) {
- return $HEAD;
+ if ( self::isSHA1( $head ) ) {
+ return $head;
}
// If not a SHA1 it may be a ref:
- $REFfile = "{$this->basedir}/{$HEAD}";
- if ( !is_readable( $REFfile ) ) {
+ $refFile = "{$this->basedir}/{$head}";
+ if ( !is_readable( $refFile ) ) {
return false;
}
- $sha1 = rtrim( file_get_contents( $REFfile ) );
+ $sha1 = rtrim( file_get_contents( $refFile ) );
return $sha1;
}
} else {
return (int)$commitDate;
}
-
- }
+ }
/**
* Return the name of the current branch, or HEAD if not found
* @return string The branch name, HEAD, or false
*/
public function getCurrentBranch() {
- $HEAD = $this->getHead();
- if ( $HEAD && preg_match( "#^refs/heads/(.*)$#", $HEAD, $m ) ) {
+ $head = $this->getHead();
+ if ( $head && preg_match( "#^refs/heads/(.*)$#", $head, $m ) ) {
return $m[1];
} else {
- return $HEAD;
+ return $head;
}
}
return false;
}
+ wfSuppressWarnings();
$configArray = parse_ini_file( $config, true );
+ wfRestoreWarnings();
$remote = false;
// Use the "origin" remote repo if available or any other repo if not.
if ( isset( $configArray['remote origin'] ) ) {
$remote = $configArray['remote origin'];
- } else {
+ } elseif ( is_array( $configArray ) ) {
foreach ( $configArray as $sectionName => $sectionConf ) {
if ( substr( $sectionName, 0, 6 ) == 'remote' ) {
$remote = $sectionConf;