Compare commits

..

4 Commits
0.26 ... 0.27

Author SHA1 Message Date
d49e0d3836 Merge branch 'master' of https://github.com/cupcakearmy/autorestic 2020-12-09 00:07:45 +01:00
2008ba2771 changelog 2020-12-09 00:07:43 +01:00
1f6c13a595 fix locking issue 2020-12-09 00:07:03 +01:00
8e9b9dcebf Update README.md 2020-12-08 23:46:06 +01:00
5 changed files with 22 additions and 13 deletions

View File

@@ -1,3 +1,3 @@
## 0.25
## 0.27
- disable color in CI mode
- fix locking issue

View File

@@ -19,3 +19,7 @@
### Why / What?
Autorestic is a wrapper around the amazing [restic](https://restic.net/). While being amazing the restic cli can be a bit overwhelming and difficult to manage if you have many different location that you want to backup to multiple locations. This utility is aimed at making this easier 🙂
### Questions / Support
Check the [discussions page](https://github.com/cupcakearmy/autorestic/discussions)

View File

@@ -1,6 +1,6 @@
{
"private": true,
"version": "0.26",
"version": "0.27",
"scripts": {
"build": "tsc",
"dev": "tsc -w",

View File

@@ -2,7 +2,7 @@ import colors from 'colors'
import { program } from 'commander'
import { setCIMode } from 'clitastic'
import { unlock, readLock, writeLock } from './lock'
import { unlock, readLock, writeLock, lock } from './lock'
import { Config } from './types'
import { init } from './config'
import { version } from '../package.json'
@@ -118,21 +118,19 @@ async function main() {
try {
if (requireConfig) {
config = init(configFile)
const lock = readLock()
if (lock.running) throw new Error('An instance of autorestic is already running for this config file'.red)
writeLock({
...lock,
running: true,
})
const { running } = readLock()
if (running) {
console.log('An instance of autorestic is already running for this config file'.red)
process.exit(1)
}
lock()
}
await queue()
if (error) process.exit(1)
} catch (e) {
console.error(e.message)
} finally {
if (requireConfig) unlock()
}
if (error) process.exit(1)
}
main()

View File

@@ -30,3 +30,10 @@ export const unlock = () => {
running: false,
})
}
export const lock = () => {
writeLock({
...readLock(),
running: true,
})
}