MediaWiki  REL1_24
GitInfo Class Reference

List of all members.

Public Member Functions

 __construct ($repoDir, $usePrecomputed=true)
 cacheIsComplete ()
 Check to see if the current cache is fully populated.
 getCurrentBranch ()
 Get the name of the current branch, or HEAD if not found.
 getHead ()
 Get the HEAD of the repo (without any opening "ref: ")
 getHeadCommitDate ()
 Get the commit date of HEAD entry of the git code repository.
 getHeadSHA1 ()
 Get the SHA1 for the current HEAD of the repo.
 getHeadViewUrl ()
 Get an URL to a web viewer link to the HEAD revision.
 precomputeValues ()
 Precompute and cache git information.

Static Public Member Functions

static currentBranch ()
static headSHA1 ()
static headViewUrl ()
static isSHA1 ($str)
 Check if a string looks like a hex encoded SHA1 hash.
static repo ()
 Get the singleton for the repo at $IP.

Protected Member Functions

 getRemoteUrl ()
 Get the URL of the remote origin.

Static Protected Member Functions

static getCacheFilePath ($repoDir)
 Compute the path to the cache file for a given directory.
static getViewers ()
 Gets the list of repository viewers.

Protected Attributes

 $basedir
 Location of the .git directory.
 $cache = array()
 Cached git information.
 $cacheFile
 Path to JSON cache file for pre-computed git information.

Static Protected Attributes

static $repo = null
 Singleton for the repo at $IP.

Static Private Attributes

static $viewers = false
 Map of repo URLs to viewer URLs.

Detailed Description

Definition at line 26 of file GitInfo.php.


Constructor & Destructor Documentation

GitInfo::__construct ( repoDir,
usePrecomputed = true 
)
Parameters:
string$repoDirThe root directory of the repo where .git can be found
bool$usePrecomputedUse precomputed information if available
See also:
precomputeValues

Definition at line 58 of file GitInfo.php.

References $path, cache, cacheIsComplete(), FormatJson\decode(), getCacheFilePath(), and wfDebugLog().


Member Function Documentation

Check to see if the current cache is fully populated.

Note: This method is public only to make unit testing easier. There's really no strong reason that anything other than a test should want to call this method.

Returns:
bool True if all expected cache keys exist, false otherwise

Definition at line 318 of file GitInfo.php.

References cache.

Referenced by __construct(), and precomputeValues().

static GitInfo::currentBranch ( ) [static]
See also:
self::getCurrentBranch
Returns:
string

Definition at line 374 of file GitInfo.php.

References repo().

Referenced by MWDebug\getDebugInfo().

static GitInfo::getCacheFilePath ( repoDir) [static, protected]

Compute the path to the cache file for a given directory.

Parameters:
string$repoDirThe root directory of the repo where .git can be found
Returns:
string Path to GitInfo cache file in $wgGitInfoCacheDirectory or null if $wgGitInfoCacheDirectory is false (cache disabled).
Since:
1.24

Definition at line 102 of file GitInfo.php.

References $IP, and global.

Referenced by __construct().

Get the name of the current branch, or HEAD if not found.

Returns:
string|bool The branch name, HEAD, or false

Definition at line 233 of file GitInfo.php.

References cache, and getHead().

Referenced by precomputeValues().

Get the HEAD of the repo (without any opening "ref: ")

Returns:
string|bool The HEAD (git reference or SHA1) or false

Definition at line 155 of file GitInfo.php.

References cache.

Referenced by getCurrentBranch(), getHeadCommitDate(), getHeadSHA1(), and precomputeValues().

Get the commit date of HEAD entry of the git code repository.

Since:
1.22
Returns:
int|bool Commit date (UNIX timestamp) or false

Definition at line 205 of file GitInfo.php.

References array(), cache, getHead(), global, wfEscapeShellArg(), and wfShellExec().

Referenced by precomputeValues().

Get the SHA1 for the current HEAD of the repo.

Returns:
string|bool A SHA1 or false

Definition at line 179 of file GitInfo.php.

References cache, and getHead().

Referenced by getHeadViewUrl(), and precomputeValues().

Get an URL to a web viewer link to the HEAD revision.

Returns:
string|bool String if a URL is available or false otherwise

Definition at line 251 of file GitInfo.php.

References $matches, $repo, array(), as, getHeadSHA1(), and getRemoteUrl().

GitInfo::getRemoteUrl ( ) [protected]

Get the URL of the remote origin.

Returns:
string|bool String if a URL is available or false otherwise.

Definition at line 279 of file GitInfo.php.

References as, cache, wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by getHeadViewUrl(), and precomputeValues().

static GitInfo::getViewers ( ) [static, protected]

Gets the list of repository viewers.

Returns:
array

Definition at line 390 of file GitInfo.php.

References $viewers, array(), global, and wfRunHooks().

static GitInfo::headSHA1 ( ) [static]
See also:
self::getHeadSHA1
Returns:
string

Definition at line 366 of file GitInfo.php.

References repo().

Referenced by MWDebug\getDebugInfo().

static GitInfo::headViewUrl ( ) [static]
See also:
self::getHeadViewUrl()
Returns:
bool|string

Definition at line 382 of file GitInfo.php.

References repo().

Referenced by MWDebug\getDebugInfo().

static GitInfo::isSHA1 ( str) [static]

Check if a string looks like a hex encoded SHA1 hash.

Parameters:
string$strThe string to check
Returns:
bool Whether or not the string looks like a SHA1

Definition at line 146 of file GitInfo.php.

Precompute and cache git information.

Creates a JSON file in the cache directory associated with this GitInfo instance. This cache file will be used by subsequent GitInfo objects referencing the same directory to avoid needing to examine the .git directory again.

Since:
1.24

Definition at line 335 of file GitInfo.php.

References cache, cacheIsComplete(), FormatJson\encode(), getCurrentBranch(), getHead(), getHeadCommitDate(), getHeadSHA1(), getRemoteUrl(), wfDebugLog(), and wfMkdirParents().

static GitInfo::repo ( ) [static]

Get the singleton for the repo at $IP.

Returns:
GitInfo

Definition at line 132 of file GitInfo.php.

References $IP, $repo, and global.

Referenced by currentBranch(), headSHA1(), and headViewUrl().


Member Data Documentation

GitInfo::$basedir [protected]

Location of the .git directory.

Definition at line 36 of file GitInfo.php.

GitInfo::$cache = array() [protected]

Cached git information.

Definition at line 46 of file GitInfo.php.

GitInfo::$cacheFile [protected]

Path to JSON cache file for pre-computed git information.

Definition at line 41 of file GitInfo.php.

GitInfo::$repo = null [static, protected]

Singleton for the repo at $IP.

Definition at line 31 of file GitInfo.php.

Referenced by getHeadViewUrl(), and repo().

GitInfo::$viewers = false [static, private]

Map of repo URLs to viewer URLs.

Access via static method getViewers().

Definition at line 51 of file GitInfo.php.

Referenced by getViewers().


The documentation for this class was generated from the following file: