long options vs unix

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема long options vs unix
Дата
Msg-id 49BFA145.8020509@hagander.net
обсуждение исходный текст
Ответы Re: long options vs unix  (Dave Page <dpage@pgadmin.org>)
Список pgadmin-hackers
The change to using long options for pg_dump and friends seem to have
broken it, at least on linux. But I assume it still worked on at least
osx *or* windows, since that's where Dave would've tested it :-)

It would more or less never work, since it tried to put a double-quote
in the actual filename *before* the / specifying the root directory..

Here's a patch that removes the = sign after the parameter names. That
makes it work on linux again. I would appreciate it if somebody can test
this patch on windows and/or osx as well to confirm it doesn't break
things there.

//Magnus
Index: frm/frmBackupServer.cpp
===================================================================
--- frm/frmBackupServer.cpp    (revision 7715)
+++ frm/frmBackupServer.cpp    (working copy)
@@ -141,10 +141,10 @@
         cmd=pgBackupAllExecutable;
 
     if (!server->GetName().IsEmpty())
-        cmd += wxT(" --host=") + server->GetName();
+        cmd += wxT(" --host ") + server->GetName();
 
-    cmd +=  wxT(" --port=") + NumToStr((long)server->GetPort())
-         +  wxT(" --username=") + server->GetUsername();
+    cmd +=  wxT(" --port ") + NumToStr((long)server->GetPort())
+         +  wxT(" --username ") + server->GetUsername();
     return cmd;
 }
 
@@ -158,7 +158,7 @@
     if (chkVerbose->GetValue())
         cmd.Append(wxT(" --verbose"));
 
-    cmd.Append(wxT(" --file=\"") + txtFilename->GetValue() + wxT("\""));
+    cmd.Append(wxT(" --file \"") + txtFilename->GetValue() + wxT("\""));
 
     return cmd;
 }
Index: frm/frmBackup.cpp
===================================================================
--- frm/frmBackup.cpp    (revision 7715)
+++ frm/frmBackup.cpp    (working copy)
@@ -196,10 +196,10 @@
         cmd=pgBackupExecutable;

     if (!server->GetName().IsEmpty())
-        cmd += wxT(" --host=") + server->GetName();
+        cmd += wxT(" --host ") + server->GetName();

-    cmd +=  wxT(" --port=") + NumToStr((long)server->GetPort())
-         +  wxT(" --username=") + server->GetUsername();
+    cmd +=  wxT(" --port ") + NumToStr((long)server->GetPort())
+         +  wxT(" --username ") + server->GetUsername();

     if (object->GetConnection()->GetIsGreenplum())
         cmd += wxT(" --gp-syntax ");
@@ -223,21 +223,21 @@
     {
         case 0: // compressed
         {
-            cmd.Append(wxT(" --format=custom"));
+            cmd.Append(wxT(" --format custom"));
             if (chkBlobs->GetValue())
                 cmd.Append(wxT(" --blobs"));
             break;
         }
         case 1: // tar
         {
-            cmd.Append(wxT(" --format=tar"));
+            cmd.Append(wxT(" --format tar"));
             if (chkBlobs->GetValue())
                 cmd.Append(wxT(" --blobs"));
             break;
         }
         case 2:
         {
-            cmd.Append(wxT(" --format=plain"));
+            cmd.Append(wxT(" --format plain"));
             if (chkOnlyData->GetValue())
             {
                 cmd.Append(wxT(" --data-only"));
@@ -270,13 +270,13 @@
     if (chkVerbose->GetValue())
         cmd.Append(wxT(" --verbose"));

-    cmd.Append(wxT(" --file=\"") + txtFilename->GetValue() + wxT("\""));
+    cmd.Append(wxT(" --file \"") + txtFilename->GetValue() + wxT("\""));

     if (object->GetMetaType() == PGM_SCHEMA)
 #ifdef WIN32
-        cmd.Append(wxT(" --schema=\\\"") + ((pgSchema*)object)->GetIdentifier() + wxT("\\\""));
+        cmd.Append(wxT(" --schema \\\"") + ((pgSchema*)object)->GetIdentifier() + wxT("\\\""));
 #else
-        cmd.Append(wxT(" --schema='") + ((pgSchema*)object)->GetQuotedIdentifier() + wxT("'"));
+        cmd.Append(wxT(" --schema '") + ((pgSchema*)object)->GetQuotedIdentifier() + wxT("'"));
 #endif

     else if (object->GetMetaType() == PGM_TABLE || object->GetMetaType() == GP_PARTITION)
@@ -285,17 +285,17 @@
         if (pgAppMinimumVersion(backupExecutable, 8, 2))
         {
 #ifdef WIN32
-            cmd.Append(wxT(" --table=\"\\\"") + ((pgTable*)object)->GetSchema()->GetIdentifier() +
+            cmd.Append(wxT(" --table \"\\\"") + ((pgTable*)object)->GetSchema()->GetIdentifier() +
                        wxT("\\\".\\\"") + ((pgTable*)object)->GetIdentifier() + wxT("\\\"\""));
 #else
-            cmd.Append(wxT(" --table='") + ((pgTable*)object)->GetSchema()->GetQuotedIdentifier() +
+            cmd.Append(wxT(" --table '") + ((pgTable*)object)->GetSchema()->GetQuotedIdentifier() +
                        wxT(".") + ((pgTable*)object)->GetQuotedIdentifier() + wxT("'"));
 #endif
         }
         else
         {
-            cmd.Append(wxT(" --table=") + ((pgTable*)object)->GetQuotedIdentifier());
-            cmd.Append(wxT(" --schema=") + ((pgTable*)object)->GetSchema()->GetQuotedIdentifier());
+            cmd.Append(wxT(" --table ") + ((pgTable*)object)->GetQuotedIdentifier());
+            cmd.Append(wxT(" --schema ") + ((pgTable*)object)->GetSchema()->GetQuotedIdentifier());
         }
     }

Index: frm/frmBackupGlobals.cpp
===================================================================
--- frm/frmBackupGlobals.cpp    (revision 7715)
+++ frm/frmBackupGlobals.cpp    (working copy)
@@ -158,10 +158,10 @@
         cmd=pgBackupAllExecutable;
 
     if (!server->GetName().IsEmpty())
-        cmd += wxT(" --host=") + server->GetName();
+        cmd += wxT(" --host ") + server->GetName();
 
-    cmd +=  wxT(" --port=") + NumToStr((long)server->GetPort())
-         +  wxT(" --username=") + server->GetUsername();
+    cmd +=  wxT(" --port ") + NumToStr((long)server->GetPort())
+         +  wxT(" --username ") + server->GetUsername();
     return cmd;
 }
 
@@ -175,7 +175,7 @@
     if (chkVerbose->GetValue())
         cmd.Append(wxT(" --verbose"));
 
-    cmd.Append(wxT(" --file=\"") + txtFilename->GetValue() + wxT("\""));
+    cmd.Append(wxT(" --file \"") + txtFilename->GetValue() + wxT("\""));
 
     cmd.Append(wxT(" --globals-only"));
 
Index: frm/frmRestore.cpp
===================================================================
--- frm/frmRestore.cpp    (revision 7715)
+++ frm/frmRestore.cpp    (working copy)
@@ -290,11 +290,11 @@
         cmd=pgRestoreExecutable;

     if (!server->GetName().IsEmpty())
-        cmd += wxT(" --host=") + server->GetName();
+        cmd += wxT(" --host ") + server->GetName();

-    cmd += wxT(" --port=") + NumToStr((long)server->GetPort())
-         + wxT(" --username=") + qtIdent(server->GetUsername())
-         + wxT(" --dbname=") + commandLineCleanOption(object->GetDatabase()->GetQuotedIdentifier());
+    cmd += wxT(" --port ") + NumToStr((long)server->GetPort())
+         + wxT(" --username ") + qtIdent(server->GetUsername())
+         + wxT(" --dbname ") + commandLineCleanOption(object->GetDatabase()->GetQuotedIdentifier());
     return cmd;
 }

@@ -339,19 +339,19 @@
                 {
                     int sel=lstContents->GetSelection();
                     if (lstContents->GetText(sel, 0).Lower() == wxString(_("Function")).Lower())
-                        cmd.Append(wxT(" --function=") + qtIdent(lstContents->GetText(sel, 1).BeforeLast('(')));
+                        cmd.Append(wxT(" --function ") + qtIdent(lstContents->GetText(sel, 1).BeforeLast('(')));
                     else if (lstContents->GetText(sel, 0).Lower() == wxString(_("Table")).Lower())
-                        cmd.Append(wxT(" --table=") + qtIdent(lstContents->GetText(sel, 1)));
+                        cmd.Append(wxT(" --table ") + qtIdent(lstContents->GetText(sel, 1)));
                     else
                         return wxT("restore: internal pgadmin error.");   // shouldn't happen!

                     break;
                 }
                 case PGM_TABLE:
-                    cmd.Append(wxT(" --table=") + object->GetQuotedIdentifier());
+                    cmd.Append(wxT(" --table ") + object->GetQuotedIdentifier());
                     break;
                 case PGM_FUNCTION:
-                    cmd.Append(wxT(" --function=") + object->GetQuotedIdentifier());
+                    cmd.Append(wxT(" --function ") + object->GetQuotedIdentifier());
                     break;
                 default:
                     break;

В списке pgadmin-hackers по дате отправления:

Предыдущее
От: svn@pgadmin.org
Дата:
Сообщение: SVN Commit by guillaume: r7716 - trunk/www/locale/fr_FR/LC_MESSAGES
Следующее
От: svn@pgadmin.org
Дата:
Сообщение: SVN Commit by dpage: r7717 - trunk/pgadmin3/pgadmin/frm