mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2025-12-06 02:30:47 -08:00
fix: type
This commit is contained in:
parent
6ac75cd19c
commit
c87d9570b2
4 changed files with 28 additions and 23 deletions
|
|
@ -7,7 +7,7 @@ import { exec as gitExec } from 'dugite';
|
|||
import * as fs from 'node:fs/promises';
|
||||
import * as path from 'node:path';
|
||||
import { defaultGitInfo } from './defaultGitInfo';
|
||||
import type { IGitLogOptions, IGitLogResult } from './interface';
|
||||
import type { GitFileStatus, IFileDiffResult, IGitLogOptions, IGitLogResult } from './interface';
|
||||
|
||||
/**
|
||||
* Helper to create git environment variables for commit operations
|
||||
|
|
@ -125,7 +125,7 @@ export async function getGitLog(repoPath: string, options: IGitLogOptions = {}):
|
|||
* Handles both git status --porcelain (two-character codes like "M ", " D", "??")
|
||||
* and git diff-tree --name-status (single-character codes like "M", "D", "A")
|
||||
*/
|
||||
function parseGitStatusCode(statusCode: string): 'added' | 'modified' | 'deleted' | 'renamed' | 'copied' | 'untracked' | 'unknown' {
|
||||
function parseGitStatusCode(statusCode: string): GitFileStatus {
|
||||
// Handle single-character status codes from diff-tree
|
||||
if (statusCode.length === 1) {
|
||||
if (statusCode === 'A') return 'added';
|
||||
|
|
@ -508,7 +508,7 @@ function createBinaryDiffPlaceholder(filePath: string): string {
|
|||
* Truncate diff output if it exceeds the limits
|
||||
*/
|
||||
|
||||
function truncateDiff(diff: string, maxLines: number, maxChars: number): import('./interface').IFileDiffResult {
|
||||
function truncateDiff(diff: string, maxLines: number, maxChars: number): IFileDiffResult {
|
||||
let truncated = diff;
|
||||
let isTruncated = false;
|
||||
|
||||
|
|
@ -532,9 +532,9 @@ function truncateDiff(diff: string, maxLines: number, maxChars: number): import(
|
|||
}
|
||||
|
||||
/**
|
||||
* Truncate content if it exceeds the limits
|
||||
* Truncate content output if it exceeds the limits
|
||||
*/
|
||||
function truncateContent(content: string, maxLines: number, maxChars: number): import('./interface').IFileDiffResult {
|
||||
function truncateContent(content: string, maxLines: number, maxChars: number): IFileDiffResult {
|
||||
return truncateDiff(content, maxLines, maxChars);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,18 @@ import { WindowNames } from '@services/windows/WindowProperties';
|
|||
import { isWikiWorkspace, type IWorkspace } from '@services/workspaces/interface';
|
||||
import * as gitOperations from './gitOperations';
|
||||
import type { GitWorker } from './gitWorker';
|
||||
import type { ICommitAndSyncConfigs, IForcePullConfigs, IGitLogMessage, IGitLogOptions, IGitLogResult, IGitService, IGitStateChange, IGitUserInfos } from './interface';
|
||||
import type {
|
||||
ICommitAndSyncConfigs,
|
||||
IFileDiffResult,
|
||||
IFileWithStatus,
|
||||
IForcePullConfigs,
|
||||
IGitLogMessage,
|
||||
IGitLogOptions,
|
||||
IGitLogResult,
|
||||
IGitService,
|
||||
IGitStateChange,
|
||||
IGitUserInfos,
|
||||
} from './interface';
|
||||
import { registerMenu } from './registerMenu';
|
||||
import { getErrorMessageI18NDict, translateMessage } from './translateMessage';
|
||||
|
||||
|
|
@ -359,15 +370,15 @@ export class Git implements IGitService {
|
|||
return await gitOperations.getGitLog(wikiFolderPath, options);
|
||||
}
|
||||
|
||||
public async getCommitFiles(wikiFolderPath: string, commitHash: string): Promise<string[]> {
|
||||
public async getCommitFiles(wikiFolderPath: string, commitHash: string): Promise<IFileWithStatus[]> {
|
||||
return await gitOperations.getCommitFiles(wikiFolderPath, commitHash);
|
||||
}
|
||||
|
||||
public async getFileDiff(wikiFolderPath: string, commitHash: string, filePath: string, maxLines?: number, maxChars?: number): Promise<import('./interface').IFileDiffResult> {
|
||||
public async getFileDiff(wikiFolderPath: string, commitHash: string, filePath: string, maxLines?: number, maxChars?: number): Promise<IFileDiffResult> {
|
||||
return await gitOperations.getFileDiff(wikiFolderPath, commitHash, filePath, maxLines, maxChars);
|
||||
}
|
||||
|
||||
public async getFileContent(wikiFolderPath: string, commitHash: string, filePath: string, maxLines?: number, maxChars?: number): Promise<import('./interface').IFileDiffResult> {
|
||||
public async getFileContent(wikiFolderPath: string, commitHash: string, filePath: string, maxLines?: number, maxChars?: number): Promise<IFileDiffResult> {
|
||||
return await gitOperations.getFileContent(wikiFolderPath, commitHash, filePath, maxLines, maxChars);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import type { Theme } from '@mui/material/styles';
|
||||
import type { GitFileStatus } from '../../services/git/interface';
|
||||
|
||||
export type GitFileStatus = 'added' | 'modified' | 'deleted' | 'renamed' | 'copied' | 'untracked' | 'unknown';
|
||||
// Re-export for convenience
|
||||
export type { GitFileStatus };
|
||||
|
||||
/**
|
||||
* Get styled CSS for file status badge/chip based on the status and theme
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import type { GitFileStatus, IFileWithStatus } from '../../services/git/interface';
|
||||
|
||||
/**
|
||||
* Represents the author or committer of a commit.
|
||||
*/
|
||||
|
|
@ -12,18 +14,8 @@ export interface CommitAuthor {
|
|||
name: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* File status in git
|
||||
*/
|
||||
export type GitFileStatus = 'added' | 'modified' | 'deleted' | 'renamed' | 'copied' | 'untracked' | 'unknown';
|
||||
|
||||
/**
|
||||
* File with status information
|
||||
*/
|
||||
export interface FileWithStatus {
|
||||
path: string;
|
||||
status: GitFileStatus;
|
||||
}
|
||||
// Re-export for convenience
|
||||
export type { GitFileStatus, IFileWithStatus };
|
||||
|
||||
/**
|
||||
* Represents a single entry in the git log.
|
||||
|
|
@ -60,5 +52,5 @@ export interface GitLogEntry {
|
|||
/**
|
||||
* Array of files with status changed in this commit.
|
||||
*/
|
||||
files?: FileWithStatus[];
|
||||
files?: IFileWithStatus[];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue