typicode/hotel

Best way to sync config & servers across machines?

Open

#75 ouverte le 12 avr. 2016

Voir sur GitHub
 (1 commentaire) (1 réaction) (0 assignés)JavaScript (474 forks)batch import
help wanted

Métriques du dépôt

Stars
 (9 939 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

In the past I usually put all configs into my dot-files repo and then symlink them into my user directory. This way all of my machine's configs are tracked together.

This doesn't seem to work since Hotel is checking for a directory (stat.isDirectory()). Since Hotel doesn't believe a directory exists, it tries to create the directory (which of course fails due to a conflict with the symlink).

Have others come up with a better solution for syncing Hotel config/servers across machines? Or would we need to refactor how hotel checks for existing configs?


To reproduce

  • create new directory
  • move all files from ~/.hotel into the new directory
  • create a symlink in your user directory ~ called .hotel that points to the newly created directory
  • $ hotel start
➜  angular-json-calendar git:(master) hotel start
/usr/local/lib/node_modules/hotel/node_modules/mkdirp/index.js:92
                if (!stat.isDirectory()) throw err0;
                                         ^

Error: EEXIST: file already exists, mkdir '/Users/bc/.hotel'
    at Error (native)
    at Object.fs.mkdirSync (fs.js:794:18)
    at Function.sync (/usr/local/lib/node_modules/hotel/node_modules/mkdirp/index.js:71:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/hotel/lib/conf.js:15:8)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)

Guide contributeur