remote_sh 0.1.9 → 0.1.10

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: 9e4d1cb4a5179f135f61ee072fb0220a1833e85e2fba88fc3fa8ccfd92eaafdf
4
+ data.tar.gz: 0103524a0b49c680326dfde32bacb05c6ae625f956be1cc289cfc1f438f6e564
5
5
  SHA512:
6
- metadata.gz: ccfc0c0500546a57bed1183036c0953ecc7e0ef99c787b1c079bdfa4b862590c04e152b1b50b5190eafb476904db8a35ecaa639dcc8e7e07c6b16e22d222b014
7
- data.tar.gz: b8dcd2b9ed962a7a09294f4bbb211d50b7382c53e67e3386b24c946ce2f2ba9e7d53d58b750eb46b2e0a591310e010db0b695ce882db14906d8d539e535244cd
6
+ metadata.gz: 639fed61dff4fe7a7c28e5ebeb9c845a917fc0e65972cd72a9c071106e849ebbc0f0c730d73e29ec77434aafdef4bca02631a2446a10063e475f02436f9b812c
7
+ data.tar.gz: 42a7ab6970597508026d68bb854f8e79670acabb4b4a97414e281129c87fb1c3e5c028e83b1357e331d86f9d3ae927fe0b5ba71fedbe9dfb0f70931050aa18a9
data/lib/remote_sh/cli.rb CHANGED
@@ -57,13 +57,32 @@ 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
- sync_down
83
+ ensure
84
+ File.delete(pid_filename) if @owns_sync
65
85
  end
66
- map 'e' => :exec
67
86
 
68
87
  desc "init", "inits"
69
88
  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.10"
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.10
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