1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2017-2018 - TortoiseGit
4 // Copyright (C) 2007-2013 - TortoiseSVN
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software Foundation,
18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 uuid(F2E334DC
-2799-4961-9FCC
-C324CB5FD205
),
24 helpstring("GitWCRev Type Library"),
29 importlib
("stdole32.tlb");
32 uuid(41886E22
-73C4
-49E8
-8831-37F79CED16FE
),
36 interface IGitWCRev
: IDispatch
38 [helpstring("Fetches the status information. Call this to initialize all the properties. The properties then reflect the status of the specified path.")]
39 HRESULT GetWCInfo
([in] BSTR wcPath
, [in]VARIANT_BOOL ignore_submodules
);
41 [propget, helpstring("Returns the working tree revision")]
42 HRESULT Revision
([out, retval]VARIANT* rev
);
44 [propget, helpstring("Returns the name of the current branch, SHA-1 if HEAD is detached")]
45 HRESULT Branch
([out, retval]VARIANT* branch
);
47 [propget, helpstring("Returns the working tree HEAD commit date as a string")]
48 HRESULT Date
([out, retval]VARIANT* date
);
50 [propget, helpstring("Returns the working tree HEAD author as a string")]
51 HRESULT Author
([out, retval]VARIANT* author
);
53 [propget, helpstring("TRUE if the path passed to GetWCInfo has modifications")]
54 HRESULT HasModifications
([out, retval]VARIANT_BOOL* modifications
);
56 [propget, helpstring("TRUE if the path passed to GetWCInfo has unversioned items")]
57 HRESULT HasUnversioned
([out, retval]VARIANT_BOOL* unversioned
);
59 [propget, helpstring("TRUE if the HEAD commit is tagged")]
60 HRESULT IsWcTagged
([out, retval]VARIANT_BOOL* tagged
);
62 [propget, helpstring("TRUE if the working tree branch is unborn")]
63 HRESULT IsUnborn
([out, retval]VARIANT_BOOL* unborn
);
65 [propget, helpstring("TRUE if the path passed to GetWCInfo is under Git version control (directories return FALSE if not the working tree root)")]
66 HRESULT IsGitItem
([out, retval]VARIANT_BOOL* versioned
);
68 [propget, helpstring("TRUE if the path passed to GetWCInfo has at least one submodule")]
69 HRESULT HasSubmodule
([out, retval]VARIANT_BOOL* has_submodule
);
71 [propget, helpstring("TRUE if the at least one submodule has uncommitted changes")]
72 HRESULT HasSubmoduleModifications
([out, retval]VARIANT_BOOL* modifications
);
74 [propget, helpstring("TRUE if the at least one submodule has unversioned items")]
75 HRESULT HasSubmoduleUnversioned
([out, retval]VARIANT_BOOL* unversioned
);
77 [propget, helpstring("TRUE if all submodule HEADs match the committed ones")]
78 HRESULT IsSubmoduleUp2Date
([out, retval]VARIANT_BOOL* up2date
);
80 [propget, helpstring("Number of first-parent commits from HEAD to start")]
81 HRESULT CommitCount
([out, retval]VARIANT* rev
);
85 [ uuid(9642A3D3
-7425-49F6
-8F75
-6A001F716AED
),
86 helpstring("GitWCRev object")
90 [default] interface IGitWCRev
;