OSDN Git Service

Update index firstly at commit dialog and check modify dialog
authorFrank Li <lznuaa@gmail.com>
Tue, 1 Dec 2009 13:43:37 +0000 (21:43 +0800)
committerFrank Li <lznuaa@gmail.com>
Tue, 1 Dec 2009 13:43:37 +0000 (21:43 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Git/Git.cpp
src/Git/Git.h
src/TortoiseProc/AppUtils.cpp
src/TortoiseProc/Commands/RepoStatusCommand.cpp

index 1012e22..46bfb66 100644 (file)
@@ -1294,4 +1294,12 @@ unsigned int CGit::Hash2int(CString &hash)
                \r
        }\r
        return ret;\r
-}
\ No newline at end of file
+}\r
+\r
+int CGit::RefreshGitIndex()\r
+{\r
+       CString cmd,output;\r
+       cmd=_T("git.exe update-index --refresh");\r
+       return Run(cmd,&output,CP_ACP);\r
+}\r
+\r
index afe98ac..342d5d4 100644 (file)
@@ -121,6 +121,7 @@ public:
        int ListConflictFile(CTGitPathList &list,CTGitPath *path=NULL);\r
        int GetRefList(STRING_VECTOR &list);\r
 \r
+       int RefreshGitIndex();\r
 \r
        //Example: master -> refs/heads/master\r
        CString GetFullRefName(CString shortRefName);\r
index efc9405..9bd8a5a 100644 (file)
@@ -2190,6 +2190,9 @@ BOOL CAppUtils::Commit(CString bugid,BOOL bWholeProject,CString &sLogMsg,
                                        BOOL bSelectFilesForCommit)\r
 {\r
        bool bFailed = true;\r
+       \r
+       g_Git.RefreshGitIndex();\r
+\r
        while (bFailed)\r
        {\r
                bFailed = false;\r
index 84fdd8e..6efbf1c 100644 (file)
@@ -23,6 +23,8 @@
 \r
 bool RepoStatusCommand::Execute()\r
 {\r
+       g_Git.RefreshGitIndex();\r
+\r
        CChangedDlg dlg;\r
        dlg.m_pathList = pathList;\r
        dlg.DoModal();\r