1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2017 - TortoiseGit
4 // Copyright (C) 2003-2015 - 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 * This structure is used as the status baton for WC crawling
24 * and contains all the information we are collecting.
30 , HasUnversioned(FALSE
)
32 , bNoSubmodules(FALSE
)
33 , bHasSubmodule(FALSE
)
34 , bHasSubmoduleNewCommits(FALSE
)
35 , bHasSubmoduleMods(FALSE
)
36 , bHasSubmoduleUnversioned(FALSE
)
42 HeadHashReadable
[0] = '\0';
45 char HeadHash
[GIT_OID_RAWSZ
];
46 char HeadHashReadable
[GIT_OID_HEXSZ
+ 1];
47 std::string HeadAuthor
;
48 std::string HeadEmail
;
50 BOOL HasMods
; // True if local modifications found
51 BOOL HasUnversioned
; // True if unversioned items found
52 BOOL bIsGitItem
; // True if the item is under Git version control
53 BOOL bNoSubmodules
; // If TRUE if submodules should be omitted
54 BOOL bHasSubmodule
; // True if working tree has submodules
55 BOOL bHasSubmoduleNewCommits
; // True if HEAD of submodule does not match committed rev. in parent repo
56 BOOL bHasSubmoduleMods
; // True if local modifications in an submodule found
57 BOOL bHasSubmoduleUnversioned
; // True if unversioned items in submodule found
58 BOOL bIsTagged
; // True if HEAD is tagged
59 BOOL bIsUnborn
; // True if branch in unborn
60 std::set
<std::string
> ignorepatterns
; // a list of file patterns to ignore