6768497aef1c95abb9b086299377cd09a9bc6c72 angie Wed Sep 11 11:23:14 2019 -0700 Specifically for re-saving an existing session (to convert from trash/customTrash to userdata/customData*), don't trimSpaces from the sessionName, in order to support old sessions with encoded spaces at the beginning or end of sessionName. diff --git src/hg/hgSession/hgSession.c src/hg/hgSession/hgSession.c index 1a61ba4..f59cc8e 100644 --- src/hg/hgSession/hgSession.c +++ src/hg/hgSession/hgSession.c @@ -1570,31 +1570,31 @@ errAbort("Unable to find session for userName='%s' and sessionName='%s'; no result from query '%s'", encUserName, encSessionName, query); return atoi(sharedStr); } char *doReSaveSession(char *userName, char *actionVar) /* Load a session (which may have old trash and customTrash references) and re-save it * so that customTrash tables will be moved to customData* databases and trash paths * will be replaced with userdata (hg.conf sessionDataDir) paths. * NOTE: this is not intended to be reachable by the UI; it is for a script to update * old sessions to use the new sessionData locations. */ { if (userName == NULL) return "Unable to re-save session -- please log in and try again."; struct sqlConnection *conn = hConnectCentral(); -char *sessionName = cloneString(trimSpaces(cartString(cart, hgsNewSessionName))); +char *sessionName = cloneString(cartString(cart, hgsNewSessionName)); char *encUserName = cgiEncodeFull(userName); char *encSessionName = cgiEncodeFull(sessionName); int sharingLevel = getSharingLevel(conn, encUserName, encSessionName); cartLoadUserSession(conn, userName, sessionName, cart, NULL, actionVar); // Don't cartCopyCustomComposites because we're not going to make any track collection changes hubConnectLoadHubs(cart); // Some old sessions reference databases that are no longer present, and that triggers an errAbort // when cartHideDefaultTracks calls hgTrackDb. Don't let that stop the process of updating other // stuff in the session. struct errCatch *errCatch = errCatchNew(); if (errCatchStart(errCatch)) cartHideDefaultTracks(cart); errCatchEnd(errCatch); if (errCatch->gotError) fprintf(stderr, "doReSaveSession: Error from cartHideDefaultTracks: '%s'; Continuing...",