Skip to content

Commit

Permalink
feat: Add an ability to specify custom commit message (specified in p…
Browse files Browse the repository at this point in the history
…lugin settings)
  • Loading branch information
denolehov committed Oct 27, 2020
1 parent 9602474 commit ca67112
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 64 deletions.
161 changes: 101 additions & 60 deletions main.js

Large diffs are not rendered by default.

41 changes: 37 additions & 4 deletions main.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import {Plugin, Notice} from "obsidian";
import {Plugin, Notice, PluginSettingTab, Setting} from "obsidian";
import simpleGit, {CheckRepoActions, SimpleGit} from "simple-git";

export default class ObsidianGit extends Plugin {
private git: SimpleGit;
settings: ObsidianGitSettings;

onInit() {
async onInit() {
const adapter: any = this.app.vault.adapter;
const git = simpleGit(adapter.basePath);
let isValidRepo = git.checkIsRepo(CheckRepoActions.IS_REPO_ROOT);
Expand All @@ -14,7 +15,9 @@ export default class ObsidianGit extends Plugin {
}

this.git = git;
console.log("obsidian-git: git repository is initialized!");
this.settings = await this.loadData() || new ObsidianGitSettings()

this.addSettingTab(new ObsidianGitSettingsTab(this.app, this));

this.addCommand({
id: 'pull',
Expand All @@ -41,9 +44,10 @@ export default class ObsidianGit extends Plugin {
new Notice("Pushing changes to remote repository..");
await this.git
.add('./*')
.commit("vault backup")
.commit(this.settings.commitMessage)
.push("origin","master", null, (err: Error) => {
let message: string;

if (!err) {
message = "Pushed changes to remote repository.";
} else {
Expand All @@ -57,3 +61,32 @@ export default class ObsidianGit extends Plugin {
})
}
}


class ObsidianGitSettings {
commitMessage: string = 'vault backup';
}


class ObsidianGitSettingsTab extends PluginSettingTab {

display(): void {
let {containerEl} = this;
const plugin: any = (this as any).plugin

containerEl.empty();
containerEl.createEl('h2', {text: "Git Backup settings"});

new Setting(containerEl)
.setName('Commit message')
.setDesc('Specify a custom commit message')
.addText(text => text.setPlaceholder('vault backup')
.setValue(plugin.settings.commitMessage ? plugin.settings.commitMessage : '')
.onChange((value) => {
plugin.settings.commitMessage = value;
plugin.saveData(plugin.settings);
}
)
);
}
}

0 comments on commit ca67112

Please sign in to comment.