\r
\r
#define GIT_REV_ZERO _T("0000000000000000000000000000000000000000")\r
+#define GIT_INVALID_REVNUM _T("")\r
typedef CString git_revnum_t;\r
typedef int git_error_t;\r
\r
{\r
case WGFS_Normal: return git_wc_status_normal;\r
case WGFS_Modified: return git_wc_status_modified;\r
+ //case WGFS_Staged: return git_wc_status_modified;\r
+ //case WGFS_Added: return git_wc_status_added;\r
+ case WGFS_Conflicted: return git_wc_status_conflicted;\r
case WGFS_Deleted: return git_wc_status_deleted;\r
+\r
+ case WGFS_Empty: return git_wc_status_unversioned;\r
}\r
\r
return git_wc_status_none;\r
}\r
\r
+// convert 20 byte sha1 hash to the git_revnum_t type\r
+inline static git_revnum_t ConvertHashToRevnum(const BYTE *sha1)\r
+{\r
+ if (!sha1)\r
+ return GIT_INVALID_REVNUM;\r
+\r
+ char s[41];\r
+ char *p = s;\r
+ for (int i=0; i<20; i++)\r
+ {\r
+#pragma warning(push)\r
+#pragma warning(disable: 4996)\r
+ sprintf(p, "%02x", (UINT)*sha1);\r
+#pragma warning(pop)\r
+ p += 2;\r
+ sha1++;\r
+ }\r
+\r
+ return CString(s);\r
+}\r
+\r
\r
/**\r
* \ingroup Git\r
\r
// git_client_ctx_t * ctx;\r
git_wc_status_kind m_allstatus; ///< used by GetAllStatus and GetAllStatusRecursive\r
- git_error_t * m_err; ///< Subversion error baton\r
+// git_error_t * m_err; ///< Subversion error baton\r
+ BOOL m_err;\r
+\r
+ git_wc_status2_t m_status; // used for GetStatus\r
\r
#ifdef _MFC_VER\r
// GitPrompt m_prompt;\r
*/\r
//static git_error_t * getallstatus (void *baton, const char *path, git_wc_status2_t *status, apr_pool_t *pool);\r
static BOOL getallstatus(const struct wgFile_s *pFile, void *pUserData);\r
+ static BOOL getstatus(const struct wgFile_s *pFile, void *pUserData);\r
\r
/**\r
* Callback function which stores the raw status from a Git_client_status() function call\r
};\r
\r
\r
-
\ No newline at end of file