OSDN Git Service

GitDLL log basic work.
[tortoisegit/TortoiseGitJp.git] / ext / gitdlltest / gitdlltest.cpp
1 // gitdlltest.cpp : Defines the entry point for the console application.\r
2 //\r
3 \r
4 #include "stdafx.h"\r
5 #include "gitdll.h"\r
6 \r
7 int output(int ret, char * name)\r
8 {\r
9         if(ret)\r
10                 printf("Fail \t%s\r\n",name);\r
11         else\r
12                 printf("Success\t%s\r\n",name);\r
13         return 0;\r
14 }\r
15 int _tmain(int argc, _TCHAR* argv[])\r
16 {\r
17         GIT_HASH hash;\r
18         GIT_COMMIT commit;\r
19         char *buf;\r
20         int size;\r
21         memset(&hash,0,sizeof(GIT_HASH));\r
22         int ret;\r
23         ret=git_init();\r
24         output(ret,"git_init");\r
25         ret=git_get_sha1("master",hash);\r
26         output(ret,"git_get_sha1");\r
27         ret=git_get_sha1("head",hash);\r
28         output(ret,"git_get_sha1");\r
29         ret=git_get_commit_from_hash(&commit, hash);\r
30         output(ret,"git_get_commit_from_hash");\r
31         \r
32         GIT_HANDLE handle;\r
33         ret=git_open_log(&handle,"--stat -c -- \"build.txt\"");\r
34         output(ret,"git_open_log");\r
35         ret=git_get_log_firstcommit(handle);\r
36         output(ret,"git_get_log_firstcommit");\r
37         int count = 0;\r
38         while( git_get_log_nextcommit(handle,&commit) == 0)\r
39         {\r
40                 //printf("%s\r\n",commit.m_Subject);\r
41                 count ++;\r
42                 git_free_commit(&commit);\r
43         }\r
44         printf("commit number %d\r\n",count);\r
45         ret=git_close_log(handle);\r
46         output(ret,"git_close_log");\r
47         return ret;\r
48 }\r
49 \r