MatrixBerryCore
gitgetbranch.m
Go to the documentation of this file.
1 function hashStr=gitgetbranch(pathStr)
2 persistent mp
3 if isempty(mp)
4  mp=containers.Map();
5 end
6 if mp.isKey(pathStr)
7  hashStr=mp(pathStr);
8 else
9  if nargin==0
10  pathStr=fileparts(mfilename('fullpath'));
11  end
12  [hashStr,StMsg]=mxberry.dev.scm.git.gitcall('rev-parse --abbrev-ref HEAD',...
13  pathStr);
14  if isempty(StMsg)
15  hashStr=strtrim([hashStr{:}]);
16  else
17  if iscell(hashStr)&&isempty(hashStr)
18  error(StMsg);
19  elseif strcmp(StMsg.identifier,'GIT:versioningProblem')&&...
20  strncmp(hashStr,'fatal: Not a git repository',...
21  numel('fatal: Not a git repository'))
22  hashStr='unversioned';
23  else
24  error(StMsg);
25  end
26  end
27  mp(pathStr)=hashStr;
28 end
function gitgetbranch(in pathStr)