typicode/hotel

Best way to sync config & servers across machines?

Open

#75 opened on Apr 12, 2016

View on GitHub
 (1 comment) (1 reaction) (0 assignees)JavaScript (9,939 stars) (474 forks)batch import
help wanted

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)

Contributor guide