remote_sh 0.1.9 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97bb90de5d65095a12854843df61d54b9e08e774c1b2cab1ddf19d289f76319f
4
- data.tar.gz: ab9932f0a7c2817c9b55f193e97f22ef71600a23187d8b8929bbb3f00fa3b565
3
+ metadata.gz: 729720f5e179074120b151e1a6622f63099c49b82617178cdb2c1ac88a1eb10a
4
+ data.tar.gz: 714b00e743fd31e78644d0a3a0b70ece775ada40b35d21cad39a64f77fa274b8
5
5
  SHA512:
6
- metadata.gz: ccfc0c0500546a57bed1183036c0953ecc7e0ef99c787b1c079bdfa4b862590c04e152b1b50b5190eafb476904db8a35ecaa639dcc8e7e07c6b16e22d222b014
7
- data.tar.gz: b8dcd2b9ed962a7a09294f4bbb211d50b7382c53e67e3386b24c946ce2f2ba9e7d53d58b750eb46b2e0a591310e010db0b695ce882db14906d8d539e535244cd
6
+ metadata.gz: '048ac7735ea42e943ca163b159aae5873013d65a9edc5c0bd701f824944e3d6f286609a3c44cec83912cf96542ef09a1c01d37b2d4b43d18ce4f1b85da1798e5'
7
+ data.tar.gz: '0107946270dfbdd7cf614854297ed18419b159aa373fa9a25fb6920622b31d0d44339114f8ad337ff0179d3a55c29fd9ffbe000943fb2080c2fabe5f76ee1064'
data/lib/remote_sh/cli.rb CHANGED
@@ -57,13 +57,33 @@ module RemoteSh
57
57
 
58
58
  desc "exec", "executes given command within remote context"
59
59
  def exec(*argv)
60
- sync_up
60
+ hostname = WorkspaceConfiguration.host_config["name"]
61
+
62
+ FileUtils.mkdir_p("#{PID_FOLDER}/#{hostname}")
63
+
64
+ local_path = WorkspaceConfiguration::WOKRING_DIR
65
+ pid_filename = "#{PID_FOLDER}/#{hostname}/#{local_path.gsub("/", "__")}"
66
+
67
+ unless File.exist?(pid_filename)
68
+ File.open(pid_filename, "w") do |f|
69
+ @owns_sync = true
70
+ f.write("busy")
71
+ end
72
+ end
73
+
61
74
  host = WorkspaceConfiguration.host_config["host"]
62
75
  host_path = WorkspaceConfiguration.config["host_path"]
76
+
77
+ if @owns_sync
78
+ FileSyncer.start(host, host_path, WorkspaceConfiguration.config["ignore"] || [])
79
+ PortForwarder.start_or_skip(WorkspaceConfiguration.host_config)
80
+ end
81
+
63
82
  SshHelper.exec(host, host_path, argv)
64
83
  sync_down
84
+ ensure
85
+ File.delete(pid_filename) if @owns_sync
65
86
  end
66
- map 'e' => :exec
67
87
 
68
88
  desc "init", "inits"
69
89
  def init
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RemoteSh
4
- VERSION = "0.1.9"
4
+ VERSION = "0.1.11"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remote_sh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Egorov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-14 00:00:00.000000000 Z
11
+ date: 2025-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: filewatcher