X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=src%2FGit%2FGit.cpp;h=300011353dab7a5918bc515c4cf4ec3509e58854;hb=969d1260761a3a62a6cdb4fb3ab000396d65cd69;hp=7d3787c7d499a56bed914f8422f55f059ec028f6;hpb=b12acedc4be5942d6cc42375ab0c5265f0384038;p=tortoisegit%2FTortoiseGitJp.git diff --git a/src/Git/Git.cpp b/src/Git/Git.cpp index 7d3787c..3000113 100644 --- a/src/Git/Git.cpp +++ b/src/Git/Git.cpp @@ -603,7 +603,7 @@ int CGit::RunLogFile(CString cmd,CString &filename) // return 0; } -git_revnum_t CGit::GetHash(CString &friendname) +git_revnum_t CGit::GetHash(const CString &friendname) { CString cmd; CString out; @@ -657,10 +657,16 @@ int CGit::GetBranchList(STRING_VECTOR &list,int *current,BRANCH_TYPE type) while( pos>=0 ) { one=output.Tokenize(_T("\n"),pos); - list.push_back(one.Right(one.GetLength()-2)); + one.Trim(L" \r\n\t"); + if(one.Find(L" -> ") >= 0 || one.IsEmpty()) + continue; // skip something like: refs/origin/HEAD -> refs/origin/master if(one[0] == _T('*')) + { if(current) *current=i; + one = one.Mid(2); + } + list.push_back(one); i++; } } @@ -757,17 +763,19 @@ BOOL CGit::CheckMsysGitDir() } TCHAR *oldpath,*home; - size_t size; + size_t homesize,size; // set HOME if not set already - _tgetenv_s(&size, NULL, 0, _T("HOME")); - if (!size) + _tgetenv_s(&homesize, NULL, 0, _T("HOME")); + if (!homesize) { _tdupenv_s(&home,&size,_T("USERPROFILE")); _tputenv_s(_T("HOME"),home); free(home); } + CString str; +#ifndef _TORTOISESHELL //setup ssh client CString sshclient=CRegString(_T("Software\\TortoiseGit\\SSH")); @@ -806,7 +814,7 @@ BOOL CGit::CheckMsysGitDir() // add git/bin path to PATH CRegString msysdir=CRegString(REG_MSYSGIT_PATH,_T(""),FALSE); - CString str=msysdir; + str=msysdir; if(str.IsEmpty()) { CRegString msysinstalldir=CRegString(REG_MSYSGIT_INSTALL,_T(""),FALSE,HKEY_LOCAL_MACHINE); @@ -822,6 +830,7 @@ BOOL CGit::CheckMsysGitDir() return false; } } +#endif //CGit::m_MsysGitPath=str; //set path @@ -847,6 +856,10 @@ BOOL CGit::CheckMsysGitDir() l_processEnv = GetEnvironmentStrings(); // updated environment is now duplicated for use in CreateProcess, restore original PATH for current process _tputenv_s(_T("PATH"),sOldPath); + if(!homesize) + { + _tputenv_s(_T("HOME"),_T("")); + } #endif bInitialized = TRUE;