fix: move no longer crash for non-existant sub-directory dest

pull/121/merge
NGPixel 7 years ago
parent 4632330d7c
commit 36a6bc0827

@ -5,7 +5,7 @@
const Git = require('git-wrapper2-promise')
const Promise = require('bluebird')
const path = require('path')
const fs = Promise.promisifyAll(require('fs'))
const fs = Promise.promisifyAll(require('fs-extra'))
const _ = require('lodash')
const URL = require('url')
@ -37,7 +37,7 @@ module.exports = {
*
* @return {Object} Git model instance
*/
init () {
init() {
let self = this
// -> Build repository path
@ -67,7 +67,7 @@ module.exports = {
* @param {Object} appconfig The application config
* @return {Object} Promise
*/
_initRepo (appconfig) {
_initRepo(appconfig) {
let self = this
winston.info('Checking Git repository...')
@ -141,7 +141,7 @@ module.exports = {
*
* @return {String} The repo path.
*/
getRepoPath () {
getRepoPath() {
return this._repo.path || path.join(ROOTPATH, 'repo')
},
@ -150,7 +150,7 @@ module.exports = {
*
* @return {Promise} Resolve on sync success
*/
resync () {
resync() {
let self = this
// Is git remote disabled?
@ -199,7 +199,7 @@ module.exports = {
* @param {String} entryPath The entry path
* @return {Promise} Resolve on commit success
*/
commitDocument (entryPath, author) {
commitDocument(entryPath, author) {
let self = this
let gitFilePath = entryPath + '.md'
let commitMsg = ''
@ -225,11 +225,13 @@ module.exports = {
* @param {String} newEntryPath The new entry path
* @return {Promise<Boolean>} Resolve on success
*/
moveDocument (entryPath, newEntryPath) {
moveDocument(entryPath, newEntryPath) {
let self = this
let gitFilePath = entryPath + '.md'
let gitNewFilePath = newEntryPath + '.md'
let destPathObj = path.parse(this.getRepoPath() + '/' + gitNewFilePath)
return fs.ensureDir(destPathObj.dir).then(() => {
return self._git.exec('mv', [gitFilePath, gitNewFilePath]).then((cProc) => {
let out = cProc.stdout.toString()
if (_.includes(out, 'fatal')) {
@ -238,6 +240,7 @@ module.exports = {
}
return true
})
})
},
/**
@ -246,7 +249,7 @@ module.exports = {
* @param {String} msg The commit message
* @return {Promise} Resolve on commit success
*/
commitUploads (msg) {
commitUploads(msg) {
let self = this
msg = msg || 'Uploads repository sync'
@ -257,7 +260,7 @@ module.exports = {
})
},
getHistory (entryPath) {
getHistory(entryPath) {
let self = this
let gitFilePath = entryPath + '.md'

@ -9,7 +9,7 @@ block rootNavRight
a.button.is-outlined(v-on:click='$store.dispatch("modalDiscardPage/open")')
i.icon-cross
span= t('nav.discard')
a.button(v-on:click='$root.$emit("editor-save")')
a.button(v-on:click='$root.$emit("editor/save")')
i.icon-check
span= t('nav.savedocument')

Loading…
Cancel
Save