ecebacc98890dd849cd57dca6cf136c0b4352c7c
galt
  Wed Feb 12 22:51:58 2020 -0800
fixing some metadata that we overlooked in cdwRenameDataset. fixed typo in help for cdwUnlockSubmittedFiles.

diff --git src/hg/cirm/cdw/cdwUnlockSubmittedFiles/cdwUnlockSubmittedFiles.c src/hg/cirm/cdw/cdwUnlockSubmittedFiles/cdwUnlockSubmittedFiles.c
index 602a81d..e367e9d 100644
--- src/hg/cirm/cdw/cdwUnlockSubmittedFiles/cdwUnlockSubmittedFiles.c
+++ src/hg/cirm/cdw/cdwUnlockSubmittedFiles/cdwUnlockSubmittedFiles.c
@@ -1,96 +1,96 @@
 /* cdwUnlockSubmittedFiles - Unlocks files from data warehouse.
  * Does not change the database. Changes the last symlink in the submitFile chain
  * back to a real file.
  * This is needed when one must modify a file that has already been submitted. */
 
 /* Copyright (C) 2014 The Regents of the University of California 
  * See README in this or parent directory for licensing information. */
 
 #include "common.h"
 #include "linefile.h"
 #include "hash.h"
 #include "options.h"
 #include "jksql.h"
 #include "cdw.h"
 #include "cdwLib.h"
 
 boolean really;
 
 void usage()
 /* Explain usage and exit. */
 {
 errAbort(
-  "cdwUnlockSubmittedFiles - Unlock already submitted files from data warehouse.  n"
-  "This is just for cases where data is submitted already and changed into a symlink, "
+  "cdwUnlockSubmittedFiles - Unlock already submitted files from data warehouse.  \n"
+  "This is just for cases where data is submitted already and changed into a symlink, \n"
   "but now needs to be modified.\n"
   "usage:\n"
   "   cdwUnlockSubmittedFiles submitterEmail submitDir fileId1 fileId2 ... fileIdN\n"
   "where you can get submitterEmail by using cdwCheckDataset from the submission dir\n"
   "and submitDir includes a full path name, something like /data/cirm/wrangle/dirNamex.\n"
   "options:\n"
   "   -really - Needs to be set for anything to happen,  otherwise will just print file names.\n"
   );
 }
 
 /* Command line validation table. */
 static struct optionSpec options[] = {
    {"really", OPTION_BOOLEAN},
    {NULL, 0},
 };
 
 void cdwUnlockSubmittedFiles(char *email, char *submitDir, int fileCount, char *fileIds[])
 /* Unlock submitted files from data warehouse. 
  * Restore the submit symlink to a real file. */ 
 {
 /* First convert all fileIds to binary. Do this first so bad command lines get caught. */
 long long ids[fileCount];
 int i;
 for (i = 0; i<fileCount; ++i)
     ids[i] = sqlLongLong(fileIds[i]);
 
 /* Get hash of all submissions by user from that URL.  Hash is keyed by ascii version of
  * submitId. */
 struct sqlConnection *conn = cdwConnectReadWrite();
 struct cdwUser *user = cdwMustGetUserFromEmail(conn, email);
 char query[256];
 sqlSafef(query, sizeof(query), 
     " select cdwSubmit.id,cdwSubmitDir.id from cdwSubmit,cdwSubmitDir "
     " where cdwSubmit.submitDirId=cdwSubmitDir.id and userId=%d "
     " and cdwSubmitDir.url='%s' ",
     user->id, submitDir);
 verbose(2, "%s\n", query);
 struct hash *submitHash = sqlQuickHash(conn, query);
 
 /* Make sure that files and submission really go together. */
 for (i=0; i<fileCount; ++i)
     {
     long long fileId = ids[i];
     char buf[64];
     sqlSafef(query, sizeof(query), "select submitId from cdwFile where id=%lld", fileId);
     char *result = sqlQuickQuery(conn, query, buf, sizeof(buf));
     if (result == NULL)
         errAbort("%lld is not a fileId in the warehouse", fileId);
     if (hashLookup(submitHash, result) == NULL)
         errAbort("File ID %lld does not belong to submission set based on %s", fileId, submitDir);
     }
 
 /* OK - paranoid checking is done, now let's unlock each file by converting last symlink to a real file. */
 for (i=0; i<fileCount; ++i)
     {
     boolean unSymlinkOnly = TRUE;
     cdwReallyRemoveFile(conn, submitDir, ids[i], unSymlinkOnly, really); 
     }
 if (!really)
     verbose(1, "-really not specified. Dry run only.\n");
 }
 
 int main(int argc, char *argv[])
 /* Process command line. */
 {
 optionInit(&argc, argv, options);
 really = optionExists("really");
 if (argc < 4)
     usage();
 cdwUnlockSubmittedFiles(argv[1], argv[2], argc-3, argv+3);
 return 0;
 }