Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F630385
GitDiff.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None
GitDiff.h
View Options
#ifndef GITDIFF_H
#define GITDIFF_H
#include
<set>
#include
"misc.h"
#include
"Git.h"
#include
"GitObjectManager.h"
class
GitDiff
{
friend
class
CommitListThread
;
public
:
private
:
class
LookupTable
;
private
:
// GitPtr g;
GitObjectCache
*
objcache
=
nullptr
;
QList
<
Git
::
Diff
>
diffs
;
bool
interrupted
=
false
;
struct
Interrupted
{
};
void
checkInterrupted
()
{
if
(
interrupted
)
{
throw
Interrupted
();
}
}
typedef
std
::
list
<
LookupTable
>
MapList
;
GitPtr
git
();
static
void
AddItem
(
Git
::
Diff
*
item
,
QList
<
Git
::
Diff
>
*
diffs
);
void
retrieveCompleteTree
(
const
QString
&
dir
,
const
GitTreeItemList
*
files
,
std
::
map
<
QString
,
GitTreeItem
>
*
out
);
void
retrieveCompleteTree
(
const
QString
&
dir
,
const
GitTreeItemList
*
files
);
public
:
GitDiff
(
GitObjectCache
*
objcache
)
{
this
->
objcache
=
objcache
;
}
bool
diff
(
QString
id
,
QList
<
Git
::
Diff
>
*
out
);
bool
diff_uncommited
(
QList
<
Git
::
Diff
>
*
out
);
void
interrupt
()
{
interrupted
=
true
;
}
public
:
static
QString
diffFile
(
GitPtr
g
,
const
QString
&
a_id
,
const
QString
&
b_id
);
static
void
parseDiff
(
const
QString
&
s
,
const
Git
::
Diff
*
info
,
Git
::
Diff
*
out
);
static
QString
makeKey
(
QString
const
&
a_id
,
QString
const
&
b_id
);
static
QString
makeKey
(
const
Git
::
Diff
&
diff
);
static
QString
prependPathPrefix
(
const
QString
&
path
);
};
#endif
// GITDIFF_H
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sun, Nov 15, 9:21 AM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
136098
Default Alt Text
GitDiff.h (1 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline