schema-evolution-manager 0.9.55 → 0.9.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13f084ac4b6a9429196469f2b1f52d04167aa443edbe7a65c68a160aab7fc041
4
- data.tar.gz: 3676fe675b11d5b718b655ac806f66a2986c9745cd63ea52938a030af4a88d22
3
+ metadata.gz: ece8bcecc0151f8979530da79102bdf066a3cc1dfae14cd07074c0ae497cee8f
4
+ data.tar.gz: e7af8d5f30e83690323fde18ed2cd78d0f557303545d30eb466e491c0748886f
5
5
  SHA512:
6
- metadata.gz: a94a3a279cc858c04637c3e0cb5c9b120699e7fac2091cce7d915bda06761b4eece3fa39c2d76b4d55ec65306ae72977ca204894f130b3a633eb8e331a87c3f5
7
- data.tar.gz: e7b3d5196adef32e19ed60f58bdcdeed6f377193ddc15f30e44f3a1018325b0ddbf2e4415269645965f24ee4cefa099e36c64cbf77722d5bacfdaed657b565b8
6
+ metadata.gz: bdfa161a91f7c86f29ff39fe2fb339468b43fa02ece9139ceecd523e875408a2b4dcbf6b92204f43a0dbe353efcca2c77d4d6bfd1c174c15a09b51df5c5c551b
7
+ data.tar.gz: 5f593c267b185fdaf0dcf7bd3f31bddc0dc1bd099c245abcaf833cad29c10c7209487c24f0862b17ac09295c0d2c431ea0c5ef30db52d28816cfb183fb890a0c
data/README.md CHANGED
@@ -133,7 +133,7 @@ There are three ways to install schema evolution manager:
133
133
 
134
134
  git clone git@github.com:mbryzek/schema-evolution-manager.git
135
135
  cd schema-evolution-manager
136
- git checkout 0.9.55
136
+ git checkout 0.9.57
137
137
  ruby ./configure.rb
138
138
  sudo ./install.rb
139
139
 
data/bin/sem-dist CHANGED
@@ -28,11 +28,16 @@ SchemaEvolutionManager::Library.set_verbose(true)
28
28
 
29
29
  args = SchemaEvolutionManager::Args.from_stdin(:optional => ['artifact_name', 'tag'])
30
30
 
31
- # On MAC OS X, use gnutar to avoid warnings like
32
- # Ignoring unknown extended header keyword `SCHILY.ino'
31
+ # On MAC OS X, use gnutar if available, otherwise use tar with --no-xattrs
33
32
  tar_cmd = `which gnutar 2> /dev/null`.strip
33
+ tar_opts = ""
34
34
  if tar_cmd == ""
35
35
  tar_cmd = "tar"
36
+ # Use --no-xattrs to prevent extended attributes from being archived (works in create mode)
37
+ # Also use --no-mac-metadata to prevent AppleDouble files
38
+ if system("tar --no-xattrs -cf /dev/null /dev/null 2>/dev/null")
39
+ tar_opts = "--no-xattrs --no-mac-metadata"
40
+ end
36
41
  end
37
42
 
38
43
  if args.tag
@@ -73,8 +78,12 @@ SchemaEvolutionManager::Library.with_temp_file do |tmp|
73
78
  SchemaEvolutionManager::Library.system_or_error("cp -R %s %s" % [File.join(repo_path, "scripts"), File.join(tmpdir, "scripts")])
74
79
  File.open(File.join(tmpdir, "CHANGES"), "w") { |out| out << changes }
75
80
 
81
+ # Clear extended attributes to avoid tar warnings on Linux
82
+ SchemaEvolutionManager::Library.system_or_error("xattr -cr #{tmpdir} 2>/dev/null || true")
83
+
76
84
  Dir.chdir(tmp) do
77
- SchemaEvolutionManager::Library.system_or_error("#{tar_cmd} cf #{filename}.tar #{filename}")
85
+ # COPYFILE_DISABLE prevents AppleDouble ._ files from being created
86
+ SchemaEvolutionManager::Library.system_or_error("COPYFILE_DISABLE=1 #{tar_cmd} #{tar_opts} -cf #{filename}.tar #{filename}")
78
87
  FileUtils.cp("#{filename}.tar", tarball)
79
88
  end
80
89
  end
@@ -35,7 +35,7 @@ module SchemaEvolutionManager
35
35
  def psql_command(sql_command)
36
36
  Preconditions.assert_class(sql_command, String)
37
37
  template = "#{@psql_executable_with_options} --no-align --tuples-only --no-psqlrc --command \"%s\" %s"
38
- command = template % [sql_command, @url]
38
+ command = template % [sql_command, Shellwords.escape(@url)]
39
39
  command_to_log = template % [sql_command, sanitized_url]
40
40
  Library.system_or_error(command, command_to_log)
41
41
  end
@@ -79,7 +79,7 @@ module SchemaEvolutionManager
79
79
  out << IO.read(path)
80
80
  end
81
81
 
82
- command = "#{@psql_executable_with_options} --file \"%s\" #{options} %s" % [tmp, @url]
82
+ command = "#{@psql_executable_with_options} --file \"%s\" #{options} %s" % [tmp, Shellwords.escape(@url)]
83
83
 
84
84
  Library.with_temp_file do |output|
85
85
  result = `#{command} > #{output} 2>&1`.strip
@@ -1,6 +1,7 @@
1
1
  require 'fileutils'
2
2
  require 'pathname'
3
3
  require 'tempfile'
4
+ require 'shellwords'
4
5
 
5
6
  dir = File.dirname(__FILE__)
6
7
  lib_dir = File.join(dir, "schema-evolution-manager")
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema-evolution-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.55
4
+ version: 0.9.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bryzek
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-08-25 00:00:00.000000000 Z
10
+ date: 2025-12-11 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  description: '["Michael Bryzek"]'
13
13
  email: mbryzek@alum.mit.edu