typicode/hotel

Best way to sync config & servers across machines?

Open

#75 aperta il 12 apr 2016

Vedi su GitHub
 (1 commento) (1 reazione) (0 assegnatari)JavaScript (474 fork)batch import
help wanted

Metriche repository

Star
 (9939 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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)

Guida contributor