Fossil SCM
Add --once option to "fossil clone"
Commit
c0cdb632ed7a8496199405379fb02676ea6dfdc3
Parent
1854e090fda7dd6…
1 file changed
+10
-3
+10
-3
| --- src/clone.c | ||
| +++ src/clone.c | ||
| @@ -105,10 +105,11 @@ | ||
| 105 | 105 | ** admin user. This can be overridden using the -A|--admin-user |
| 106 | 106 | ** parameter. |
| 107 | 107 | ** |
| 108 | 108 | ** Options: |
| 109 | 109 | ** --admin-user|-A USERNAME Make USERNAME the administrator |
| 110 | +** --once Don't save url. | |
| 110 | 111 | ** --private Also clone private branches |
| 111 | 112 | ** --ssl-identity=filename Use the SSL identity if requested by the server |
| 112 | 113 | ** --ssh-command|-c 'command' Use this SSH command |
| 113 | 114 | ** |
| 114 | 115 | ** See also: init |
| @@ -116,12 +117,14 @@ | ||
| 116 | 117 | void clone_cmd(void){ |
| 117 | 118 | char *zPassword; |
| 118 | 119 | const char *zDefaultUser; /* Optional name of the default user */ |
| 119 | 120 | int nErr = 0; |
| 120 | 121 | int bPrivate = 0; /* Also clone private branches */ |
| 122 | + int urlFlags = URL_PROMPT_PW; | |
| 121 | 123 | |
| 122 | 124 | if( find_option("private",0,0)!=0 ) bPrivate = SYNC_PRIVATE; |
| 125 | + if( find_option("once",0,0)==0) urlFlags |= URL_ASK_REMEMBER_PW; | |
| 123 | 126 | clone_ssh_find_options(); |
| 124 | 127 | url_proxy_options(); |
| 125 | 128 | if( g.argc < 4 ){ |
| 126 | 129 | usage("?OPTIONS? FILE-OR-URL NEW-REPOSITORY"); |
| 127 | 130 | } |
| @@ -130,18 +133,20 @@ | ||
| 130 | 133 | fossil_fatal("file already exists: %s", g.argv[3]); |
| 131 | 134 | } |
| 132 | 135 | |
| 133 | 136 | zDefaultUser = find_option("admin-user","A",1); |
| 134 | 137 | |
| 135 | - url_parse(g.argv[2], URL_PROMPT_PW|URL_ASK_REMEMBER_PW); | |
| 138 | + url_parse(g.argv[2], urlFlags); | |
| 136 | 139 | if( zDefaultUser==0 && g.urlUser!=0 ) zDefaultUser = g.urlUser; |
| 137 | 140 | if( g.urlIsFile ){ |
| 138 | 141 | file_copy(g.urlName, g.argv[3]); |
| 139 | 142 | db_close(1); |
| 140 | 143 | db_open_repository(g.argv[3]); |
| 141 | 144 | db_record_repository_filename(g.argv[3]); |
| 142 | - url_remember(); | |
| 145 | + if( urlFlags&URL_ASK_REMEMBER_PW ){ | |
| 146 | + url_remember(); | |
| 147 | + } | |
| 143 | 148 | if( !bPrivate ) delete_private_content(); |
| 144 | 149 | shun_artifacts(); |
| 145 | 150 | db_create_default_users(1, zDefaultUser); |
| 146 | 151 | if( zDefaultUser ){ |
| 147 | 152 | g.zLogin = zDefaultUser; |
| @@ -156,11 +161,13 @@ | ||
| 156 | 161 | db_record_repository_filename(g.argv[3]); |
| 157 | 162 | db_initial_setup(0, 0, zDefaultUser, 0); |
| 158 | 163 | user_select(); |
| 159 | 164 | db_set("content-schema", CONTENT_SCHEMA, 0); |
| 160 | 165 | db_set("aux-schema", AUX_SCHEMA, 0); |
| 161 | - url_remember(); | |
| 166 | + if( urlFlags&URL_ASK_REMEMBER_PW ){ | |
| 167 | + url_remember(); | |
| 168 | + } | |
| 162 | 169 | if( g.zSSLIdentity!=0 ){ |
| 163 | 170 | /* If the --ssl-identity option was specified, store it as a setting */ |
| 164 | 171 | Blob fn; |
| 165 | 172 | blob_zero(&fn); |
| 166 | 173 | file_canonical_name(g.zSSLIdentity, &fn, 0); |
| 167 | 174 |
| --- src/clone.c | |
| +++ src/clone.c | |
| @@ -105,10 +105,11 @@ | |
| 105 | ** admin user. This can be overridden using the -A|--admin-user |
| 106 | ** parameter. |
| 107 | ** |
| 108 | ** Options: |
| 109 | ** --admin-user|-A USERNAME Make USERNAME the administrator |
| 110 | ** --private Also clone private branches |
| 111 | ** --ssl-identity=filename Use the SSL identity if requested by the server |
| 112 | ** --ssh-command|-c 'command' Use this SSH command |
| 113 | ** |
| 114 | ** See also: init |
| @@ -116,12 +117,14 @@ | |
| 116 | void clone_cmd(void){ |
| 117 | char *zPassword; |
| 118 | const char *zDefaultUser; /* Optional name of the default user */ |
| 119 | int nErr = 0; |
| 120 | int bPrivate = 0; /* Also clone private branches */ |
| 121 | |
| 122 | if( find_option("private",0,0)!=0 ) bPrivate = SYNC_PRIVATE; |
| 123 | clone_ssh_find_options(); |
| 124 | url_proxy_options(); |
| 125 | if( g.argc < 4 ){ |
| 126 | usage("?OPTIONS? FILE-OR-URL NEW-REPOSITORY"); |
| 127 | } |
| @@ -130,18 +133,20 @@ | |
| 130 | fossil_fatal("file already exists: %s", g.argv[3]); |
| 131 | } |
| 132 | |
| 133 | zDefaultUser = find_option("admin-user","A",1); |
| 134 | |
| 135 | url_parse(g.argv[2], URL_PROMPT_PW|URL_ASK_REMEMBER_PW); |
| 136 | if( zDefaultUser==0 && g.urlUser!=0 ) zDefaultUser = g.urlUser; |
| 137 | if( g.urlIsFile ){ |
| 138 | file_copy(g.urlName, g.argv[3]); |
| 139 | db_close(1); |
| 140 | db_open_repository(g.argv[3]); |
| 141 | db_record_repository_filename(g.argv[3]); |
| 142 | url_remember(); |
| 143 | if( !bPrivate ) delete_private_content(); |
| 144 | shun_artifacts(); |
| 145 | db_create_default_users(1, zDefaultUser); |
| 146 | if( zDefaultUser ){ |
| 147 | g.zLogin = zDefaultUser; |
| @@ -156,11 +161,13 @@ | |
| 156 | db_record_repository_filename(g.argv[3]); |
| 157 | db_initial_setup(0, 0, zDefaultUser, 0); |
| 158 | user_select(); |
| 159 | db_set("content-schema", CONTENT_SCHEMA, 0); |
| 160 | db_set("aux-schema", AUX_SCHEMA, 0); |
| 161 | url_remember(); |
| 162 | if( g.zSSLIdentity!=0 ){ |
| 163 | /* If the --ssl-identity option was specified, store it as a setting */ |
| 164 | Blob fn; |
| 165 | blob_zero(&fn); |
| 166 | file_canonical_name(g.zSSLIdentity, &fn, 0); |
| 167 |
| --- src/clone.c | |
| +++ src/clone.c | |
| @@ -105,10 +105,11 @@ | |
| 105 | ** admin user. This can be overridden using the -A|--admin-user |
| 106 | ** parameter. |
| 107 | ** |
| 108 | ** Options: |
| 109 | ** --admin-user|-A USERNAME Make USERNAME the administrator |
| 110 | ** --once Don't save url. |
| 111 | ** --private Also clone private branches |
| 112 | ** --ssl-identity=filename Use the SSL identity if requested by the server |
| 113 | ** --ssh-command|-c 'command' Use this SSH command |
| 114 | ** |
| 115 | ** See also: init |
| @@ -116,12 +117,14 @@ | |
| 117 | void clone_cmd(void){ |
| 118 | char *zPassword; |
| 119 | const char *zDefaultUser; /* Optional name of the default user */ |
| 120 | int nErr = 0; |
| 121 | int bPrivate = 0; /* Also clone private branches */ |
| 122 | int urlFlags = URL_PROMPT_PW; |
| 123 | |
| 124 | if( find_option("private",0,0)!=0 ) bPrivate = SYNC_PRIVATE; |
| 125 | if( find_option("once",0,0)==0) urlFlags |= URL_ASK_REMEMBER_PW; |
| 126 | clone_ssh_find_options(); |
| 127 | url_proxy_options(); |
| 128 | if( g.argc < 4 ){ |
| 129 | usage("?OPTIONS? FILE-OR-URL NEW-REPOSITORY"); |
| 130 | } |
| @@ -130,18 +133,20 @@ | |
| 133 | fossil_fatal("file already exists: %s", g.argv[3]); |
| 134 | } |
| 135 | |
| 136 | zDefaultUser = find_option("admin-user","A",1); |
| 137 | |
| 138 | url_parse(g.argv[2], urlFlags); |
| 139 | if( zDefaultUser==0 && g.urlUser!=0 ) zDefaultUser = g.urlUser; |
| 140 | if( g.urlIsFile ){ |
| 141 | file_copy(g.urlName, g.argv[3]); |
| 142 | db_close(1); |
| 143 | db_open_repository(g.argv[3]); |
| 144 | db_record_repository_filename(g.argv[3]); |
| 145 | if( urlFlags&URL_ASK_REMEMBER_PW ){ |
| 146 | url_remember(); |
| 147 | } |
| 148 | if( !bPrivate ) delete_private_content(); |
| 149 | shun_artifacts(); |
| 150 | db_create_default_users(1, zDefaultUser); |
| 151 | if( zDefaultUser ){ |
| 152 | g.zLogin = zDefaultUser; |
| @@ -156,11 +161,13 @@ | |
| 161 | db_record_repository_filename(g.argv[3]); |
| 162 | db_initial_setup(0, 0, zDefaultUser, 0); |
| 163 | user_select(); |
| 164 | db_set("content-schema", CONTENT_SCHEMA, 0); |
| 165 | db_set("aux-schema", AUX_SCHEMA, 0); |
| 166 | if( urlFlags&URL_ASK_REMEMBER_PW ){ |
| 167 | url_remember(); |
| 168 | } |
| 169 | if( g.zSSLIdentity!=0 ){ |
| 170 | /* If the --ssl-identity option was specified, store it as a setting */ |
| 171 | Blob fn; |
| 172 | blob_zero(&fn); |
| 173 | file_canonical_name(g.zSSLIdentity, &fn, 0); |
| 174 |