always pass same environment to tmux to always connect to the same server

pull/460/head
nightwing 2017-10-09 17:32:21 +04:00
rodzic 1ea274ea00
commit 093652de5b
1 zmienionych plików z 10 dodań i 7 usunięć

17
node_modules/vfs-local/localfs.js wygenerowano vendored
Wyświetl plik

@ -1674,6 +1674,9 @@ module.exports = function setup(fsOptions) {
var tmuxName = options.tmuxName || TMUXNAME;
var session = options.session;
_setDefaultEnv(options);
delete options.env.TMUX;
function getFormatString(map) {
return Object.keys(map).filter(function(x) {
return x[0] == "#";
@ -1700,7 +1703,8 @@ module.exports = function setup(fsOptions) {
"list-panes", "-F", "c9-pid-#{pane_pid}-#{pane_dead}-#{pane_status}",
"-t", session
], {
maxBuffer: 1000 * 1024
maxBuffer: 1000 * 1024,
env: options.env,
}, function(err, stdout) {
var matches = /c9-pid-(\d+)-(\d)-/.exec(stdout);
var isDead = parseInt(matches && matches[2], 10);
@ -1771,7 +1775,7 @@ module.exports = function setup(fsOptions) {
args.push("list-sessions", "-F", getFormatString(sessionFormat));
return _execFile(TMUX, args, function(e, data) {
return _execFile(TMUX, args, options, function(e, data) {
var sessions = [];
(data || "").split("\n").forEach(function(str) {
if (!str)
@ -1826,7 +1830,7 @@ module.exports = function setup(fsOptions) {
args.push("-t", sessionId);
}
return _execFile(TMUX, args, function(e, data) {
return _execFile(TMUX, args, options, function(e, data) {
var panes = {};
var clientsSection = false;
(data || "").split("\n").forEach(function(str) {
@ -1861,7 +1865,8 @@ module.exports = function setup(fsOptions) {
_execFile(TMUX,
["-L", tmuxName, "-C", "kill-session", "-t", options.session],
function(err){
options,
function(err) {
if (!options.command)
return callback(err, {});
@ -1874,7 +1879,7 @@ module.exports = function setup(fsOptions) {
return callback(new Error("Missing session name"));
(function findSession(retries){
_execFile(TMUX, ["-u2", "-L", tmuxName, "list-sessions"], function(err, stdout) {
_execFile(TMUX, ["-u2", "-L", tmuxName, "list-sessions"], options, function(err, stdout) {
if (err) stdout = ""; // This happens when the tmux server has not been started yet
var re = new RegExp("^" + escapeRegExp(options.session) + ":", "m");
@ -1980,8 +1985,6 @@ module.exports = function setup(fsOptions) {
function run(err){
if (err) return callback(err);
_setDefaultEnv(options);
delete options.env.TMUX;
// HACK: workaround for tmux 2.2 bug:
// tmux passes PATH to new sessions breaking rvm