mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2025-12-15 15:10:31 -08:00
feat: only require sync if is main wiki
This commit is contained in:
parent
bb88f38f3e
commit
54216db75c
6 changed files with 397 additions and 165 deletions
546
package-lock.json
generated
546
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -39,7 +39,7 @@
|
|||
"electron-window-state": "5.0.3",
|
||||
"errio": "1.2.2",
|
||||
"fs-extra": "10.0.0",
|
||||
"git-sync-js": "^0.3.1",
|
||||
"git-sync-js": "^0.4.1",
|
||||
"i18next": "20.3.5",
|
||||
"i18next-electron-fs-backend": "1.3.8",
|
||||
"i18next-fs-backend": "1.1.1",
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ import { IGitLogMessage, IGitUserInfos } from './interface';
|
|||
import { defaultGitInfo } from './defaultGitInfo';
|
||||
import { WikiChannel } from '@/constants/channels';
|
||||
|
||||
function initWikiGit(wikiFolderPath: string, isSyncedWiki?: boolean, remoteUrl?: string, userInfo?: IGitUserInfos): Observable<IGitLogMessage> {
|
||||
function initWikiGit(wikiFolderPath: string, syncImmediately?: boolean, remoteUrl?: string, userInfo?: IGitUserInfos): Observable<IGitLogMessage> {
|
||||
return new Observable<IGitLogMessage>((observer) => {
|
||||
void initGit({
|
||||
dir: wikiFolderPath,
|
||||
remoteUrl,
|
||||
syncImmediately: isSyncedWiki,
|
||||
syncImmediately,
|
||||
userInfo,
|
||||
defaultGitInfo,
|
||||
logger: {
|
||||
|
|
|
|||
|
|
@ -229,9 +229,11 @@ export class Git implements IGitService {
|
|||
complete: () => resolve(),
|
||||
});
|
||||
|
||||
public async initWikiGit(wikiFolderPath: string, isSyncedWiki?: boolean, remoteUrl?: string, userInfo?: IGitUserInfos): Promise<void> {
|
||||
public async initWikiGit(wikiFolderPath: string, isSyncedWiki?: boolean, isMainWiki?: boolean, remoteUrl?: string, userInfo?: IGitUserInfos): Promise<void> {
|
||||
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
||||
const syncImmediately = !!isSyncedWiki && !!isMainWiki;
|
||||
return await new Promise<void>((resolve, reject) => {
|
||||
this.gitWorker?.initWikiGit(wikiFolderPath, isSyncedWiki, remoteUrl, userInfo).subscribe(this.getWorkerObserver(resolve, reject));
|
||||
this.gitWorker?.initWikiGit(wikiFolderPath, syncImmediately, remoteUrl, userInfo).subscribe(this.getWorkerObserver(resolve, reject));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ export interface IGitService {
|
|||
/**
|
||||
* Run git init in a folder, prepare remote origin if isSyncedWiki
|
||||
*/
|
||||
initWikiGit(wikiFolderPath: string, isSyncedWiki: true, remoteUrl: string, userInfo: IGitUserInfos): Promise<void>;
|
||||
initWikiGit(wikiFolderPath: string, isSyncedWiki: true, isMainWiki: boolean, remoteUrl: string, userInfo: IGitUserInfos): Promise<void>;
|
||||
updateGitInfoTiddler(githubRepoName: string): Promise<void>;
|
||||
}
|
||||
export const GitServiceIPCDescriptor = {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ export class WikiGitWorkspace implements IWikiGitWorkspaceService {
|
|||
} else {
|
||||
if (isSyncedWiki) {
|
||||
if (typeof gitUrl === 'string' && userInfo !== undefined) {
|
||||
await this.gitService.initWikiGit(wikiFolderLocation, isSyncedWiki, gitUrl, userInfo);
|
||||
await this.gitService.initWikiGit(wikiFolderLocation, isSyncedWiki, !isSubWiki, gitUrl, userInfo);
|
||||
} else {
|
||||
throw new InitWikiGitSyncedWikiNoGitUserInfoError(gitUrl, userInfo);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue