Documentation ¶
Index ¶
- Constants
- func GetWhitespaceFlag(whiteSpaceBehavior string) string
- type Diff
- func CommentAsDiff(c *models.Comment) (*Diff, error)
- func CommentMustAsDiff(c *models.Comment) *Diff
- func GetDiffCommit(repoPath, commitID string, maxLines, maxLineCharacters, maxFiles int) (*Diff, error)
- func GetDiffCommitWithWhitespaceBehavior(repoPath, commitID string, maxLines, maxLineCharacters, maxFiles int, ...) (*Diff, error)
- func GetDiffRange(repoPath, beforeCommitID, afterCommitID string, ...) (*Diff, error)
- func GetDiffRangeWithWhitespaceBehavior(repoPath, beforeCommitID, afterCommitID string, ...) (*Diff, error)
- func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader) (*Diff, error)
- type DiffFile
- type DiffFileType
- type DiffLine
- type DiffLineExpandDirection
- type DiffLineSectionInfo
- type DiffLineType
- type DiffSection
- type TableDiffCell
- type TableDiffCellType
- type TableDiffRow
- type TableDiffSection
Constants ¶
const BlobExcerptChunkSize = 20
BlobExcerptChunkSize represent max lines of excerpt
Variables ¶
This section is empty.
Functions ¶
func GetWhitespaceFlag ¶ added in v1.14.0
GetWhitespaceFlag returns git diff flag for treating whitespaces
Types ¶
type Diff ¶
Diff represents a difference between two git trees.
func CommentAsDiff ¶
CommentAsDiff returns c.Patch as *Diff
func CommentMustAsDiff ¶
CommentMustAsDiff executes AsDiff and logs the error instead of returning
func GetDiffCommit ¶
func GetDiffCommit(repoPath, commitID string, maxLines, maxLineCharacters, maxFiles int) (*Diff, error)
GetDiffCommit builds a Diff representing the given commitID.
func GetDiffCommitWithWhitespaceBehavior ¶ added in v1.14.0
func GetDiffCommitWithWhitespaceBehavior(repoPath, commitID string, maxLines, maxLineCharacters, maxFiles int, whitespaceBehavior string) (*Diff, error)
GetDiffCommitWithWhitespaceBehavior builds a Diff representing the given commitID. The whitespaceBehavior is either an empty string or a git flag
func GetDiffRange ¶
func GetDiffRange(repoPath, beforeCommitID, afterCommitID string, maxLines, maxLineCharacters, maxFiles int) (*Diff, error)
GetDiffRange builds a Diff between two commits of a repository. passing the empty string as beforeCommitID returns a diff from the parent commit.
func GetDiffRangeWithWhitespaceBehavior ¶
func GetDiffRangeWithWhitespaceBehavior(repoPath, beforeCommitID, afterCommitID string, maxLines, maxLineCharacters, maxFiles int, whitespaceBehavior string) (*Diff, error)
GetDiffRangeWithWhitespaceBehavior builds a Diff between two commits of a repository. Passing the empty string as beforeCommitID returns a diff from the parent commit. The whitespaceBehavior is either an empty string or a git flag
func ParsePatch ¶
ParsePatch builds a Diff object from a io.Reader and some parameters.
type DiffFile ¶
type DiffFile struct { Name string OldName string Index int Addition, Deletion int Type DiffFileType IsCreated bool IsDeleted bool IsBin bool IsLFSFile bool IsRenamed bool IsAmbiguous bool IsSubmodule bool Sections []*DiffSection IsIncomplete bool IsIncompleteLineTooLong bool IsProtected bool }
DiffFile represents a file diff.
func (*DiffFile) GetTailSection ¶ added in v1.11.0
func (diffFile *DiffFile) GetTailSection(gitRepo *git.Repository, leftCommitID, rightCommitID string) *DiffSection
GetTailSection creates a fake DiffLineSection if the last section is not the end of the file
type DiffFileType ¶
type DiffFileType uint8
DiffFileType represents the type of a DiffFile.
const ( DiffFileAdd DiffFileType = iota + 1 DiffFileChange DiffFileDel DiffFileRename DiffFileCopy )
DiffFileType possible values.
type DiffLine ¶
type DiffLine struct { LeftIdx int RightIdx int Type DiffLineType Content string Comments []*models.Comment SectionInfo *DiffLineSectionInfo }
DiffLine represents a line difference in a DiffSection.
func (*DiffLine) CanComment ¶
CanComment returns whether or not a line can get commented
func (*DiffLine) GetBlobExcerptQuery ¶ added in v1.11.0
GetBlobExcerptQuery builds query string to get blob excerpt
func (*DiffLine) GetCommentSide ¶
GetCommentSide returns the comment side of the first comment, if not set returns empty string
func (*DiffLine) GetExpandDirection ¶ added in v1.11.0
func (d *DiffLine) GetExpandDirection() DiffLineExpandDirection
GetExpandDirection gets DiffLineExpandDirection
func (*DiffLine) GetLineTypeMarker ¶
GetLineTypeMarker returns the line type marker
type DiffLineExpandDirection ¶ added in v1.11.0
type DiffLineExpandDirection uint8
DiffLineExpandDirection represents the DiffLineSection expand direction
const ( DiffLineExpandNone DiffLineExpandDirection = iota + 1 DiffLineExpandSingle DiffLineExpandUpDown DiffLineExpandUp DiffLineExpandDown )
DiffLineExpandDirection possible values.
type DiffLineSectionInfo ¶ added in v1.11.0
type DiffLineSectionInfo struct { Path string LastLeftIdx int LastRightIdx int LeftIdx int RightIdx int LeftHunkSize int RightHunkSize int }
DiffLineSectionInfo represents diff line section meta data
type DiffLineType ¶
type DiffLineType uint8
DiffLineType represents the type of a DiffLine.
const ( DiffLinePlain DiffLineType = iota + 1 DiffLineAdd DiffLineDel DiffLineSection )
DiffLineType possible values.
type DiffSection ¶
DiffSection represents a section of a DiffFile.
func (*DiffSection) GetComputedInlineDiffFor ¶
func (diffSection *DiffSection) GetComputedInlineDiffFor(diffLine *DiffLine) template.HTML
GetComputedInlineDiffFor computes inline diff for the given line.
func (*DiffSection) GetLine ¶
func (diffSection *DiffSection) GetLine(lineType DiffLineType, idx int) *DiffLine
GetLine gets a specific line by type (add or del) and file line number
type TableDiffCell ¶ added in v1.15.0
type TableDiffCell struct { LeftCell string RightCell string Type TableDiffCellType }
TableDiffCell represents a cell of a TableDiffRow
type TableDiffCellType ¶ added in v1.15.0
type TableDiffCellType uint8
TableDiffCellType represents the type of a TableDiffCell.
const ( TableDiffCellEqual TableDiffCellType = iota + 1 TableDiffCellChanged TableDiffCellAdd TableDiffCellDel )
TableDiffCellType possible values.
type TableDiffRow ¶ added in v1.15.0
type TableDiffRow struct { RowIdx int Cells []*TableDiffCell }
TableDiffRow represents a row of a TableDiffSection.
type TableDiffSection ¶ added in v1.15.0
type TableDiffSection struct {
Rows []*TableDiffRow
}
TableDiffSection represents a section of a DiffFile.
func CreateCsvDiff ¶ added in v1.15.0
func CreateCsvDiff(diffFile *DiffFile, baseReader *csv.Reader, headReader *csv.Reader) ([]*TableDiffSection, error)
CreateCsvDiff creates a tabular diff based on two CSV readers.