case IDSVNLC_ADD:\r
{ // The add went ok, but we now need to run through the selected items again\r
// and update their status\r
+ std::vector<int> selectIndex;\r
+\r
POSITION pos = GetFirstSelectedItemPosition();\r
int index;\r
while ((index = GetNextSelectedItem(pos)) >= 0)\r
{\r
+ selectIndex.push_back(index);\r
+ }\r
+ for(int i=0;i<selectIndex.size();i++)\r
+ {\r
+ index=selectIndex[i];\r
+\r
CTGitPath * path=(CTGitPath*)GetItemData(index);\r
ASSERT(path);\r
if(path == NULL)\r
CTGitPath *path=(CTGitPath*)GetItemData(nItem);\r
if (path->GetGitPathString()==targetList[i].GetGitPathString())\r
{\r
- RemoveListEntry(nItem);\r
+ if(path->m_Action & CTGitPath::LOGACTIONS_ADDED)\r
+ {\r
+ path->m_Action = CTGitPath::LOGACTIONS_UNVER;\r
+ SetEntryCheck(path,nItem,false);\r
+ SetItemGroup(nItem,1);\r
+ this->m_StatusFileList.RemoveItem(*path);\r
+ this->m_UnRevFileList.AddPath(*path);\r
+ //this->m_IgnoreFileList.RemoveItem(*path);\r
+\r
+ }else\r
+ {\r
+ RemoveListEntry(nItem);\r
+ }\r
break;\r
}\r
}\r
*pResult = 0;\r
if (m_bBlock)\r
return;\r
-#if 0\r
+\r
if (pNMLV->iItem < 0)\r
{\r
if (!IsGroupViewEnabled())\r
GetItem(&lv);\r
if (lv.iGroupId == group)\r
{\r
- FileEntry * entry = GetListEntry(i);\r
+ CTGitPath *entry=(CTGitPath*)GetItemData(i);\r
+\r
if (!bFirst)\r
{\r
bCheck = !GetCheck(i);\r
NotifyCheck();\r
return;\r
}\r
-#endif\r
-// FileEntry * entry = GetListEntry(pNMLV->iItem);\r
-// if (entry)\r
- {\r
-// if (entry->isConflicted)\r
-// {\r
-// gitDiff::StartConflictEditor(entry->GetPath());\r
-// }\r
-// else\r
- {\r
- StartDiff(pNMLV->iItem);\r
- }\r
+\r
+ CTGitPath *file=(CTGitPath*)GetItemData(pNMLV->iItem);\r
+\r
+ if( file->m_Action&CTGitPath::LOGACTIONS_UNMERGED )\r
+ {\r
+ CAppUtils::ConflictEdit(*file,false);\r
+\r
+ }else\r
+ {\r
+ StartDiff(pNMLV->iItem);\r
}\r
\r
}\r
\r
if(this->m_CurrentVersion.IsEmpty() || m_CurrentVersion== GIT_REV_ZERO)\r
{\r
- if(!g_Git.IsInitRepos())\r
+ if( g_Git.IsInitRepos())\r
+ CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
+ CString(GIT_REV_ZERO)); \r
+ else if( file1.m_Action&CTGitPath::LOGACTIONS_DELETED )\r
+ CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
+ GitRev::GetHead(),false); \r
+ else\r
CGitDiff::Diff(&file1,&file2,\r
CString(GIT_REV_ZERO),\r
GitRev::GetHead());\r
- else\r
- CGitDiff::DiffNull((CTGitPath*)GetItemData(fileindex),\r
- CString(GIT_REV_ZERO));\r
}else\r
{\r
CGitDiff::Diff(&file1,&file2,\r
\r
//if(m_UnRevFileList.GetCount()>0)\r
{\r
- _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("No Version Control"), 1023);\r
+ _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("Not Versioned"), 1023);\r
grp.pszHeader = groupname;\r
grp.iGroupId = groupindex;\r
grp.uAlign = LVGA_HEADER_LEFT;\r
\r
//if(m_IgnoreFileList.GetCount()>0)\r
{\r
- _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("Ignored File"), 1023);\r
+ _tcsncpy_s(groupname, 1024, (LPCTSTR)_T("Ignored"), 1023);\r
grp.pszHeader = groupname;\r
grp.iGroupId = groupindex;\r
grp.uAlign = LVGA_HEADER_LEFT;\r