Diff
Not logged in

Differences From:

File src/sync.c part of check-in [a2cbedcb1f] - Add the new remote-url command for managing the default server URL. Ticket c24e486b05. by drh on 2009-08-01 14:23:57. [view]

To:

File src/sync.c part of check-in [9cbef7a104] - In the "remote-url" command, omit the userid and password from the URL unless the "--show-pw" command-line option is used. by drh on 2009-08-13 14:36:54. [view]

@@ -155,24 +155,24 @@
 
 /*
 ** COMMAND: remote-url
 **
-** Usage: %fossil remote-url ?URL|off?
+** Usage: %fossil remote-url ?URL|off? --show-pw
 **
 ** Query and optional change the default server named used for syncing
 ** the current check-out.
 **
-** WARNING: If the username and password are part of the URL then the
-** username and password will be displayed by this command.  The user
-** name and password are normally suppressed when echoing the remote-url
-** during an auto-sync.
+** The userid and password are stripped from the URL and are not printed
+** unless the --show-pw option is used on the command-line.
 **
 ** The remote-url is set automatically by a "clone" command or by any
 ** "sync", "push", or "pull" command that specifies an explicit URL.
 ** The default remote-url is used by auto-syncing and by "sync", "push",
 ** "pull" that omit the server URL.
 */
 void remote_url_cmd(void){
+  char *zUrl;
+  int showPw = find_option("show-pw",0,0)!=0;
   db_must_be_within_tree();
   if( g.argc!=2 && g.argc!=3 ){
     usage("remote-url ?URL|off?");
   }
@@ -183,6 +183,15 @@
       url_parse(g.argv[2]);
       db_set("last-sync-url", g.urlCanonical, 0);
     }
   }
-  printf("%s\n", db_get("last-sync-url", "off"));
+  zUrl = db_get("last-sync-url", 0);
+  if( zUrl==0 ){
+    printf("off\n");
+    return;
+  }else if( showPw ){
+    g.urlCanonical = zUrl;
+  }else{
+    url_parse(zUrl);
+  }
+  printf("%s\n", g.urlCanonical);
 }