52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
+
+
+
|
** COMMAND: all
**
** Usage: %fossil all (list|ls|pull|push|rebuild|sync)
**
** The ~/.fossil file records the location of all repositories for a
** user. This command performs certain operations on all repositories
** that can be useful before or after a period of disconnected operation.
**
** The rebuild subcommand is especially useful if the repositories were built
** with an older version of fossil.
**
** On Win32 systems, the file is named "_fossil" and is located in
** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%.
**
** Available operations are:
**
** ignore Arguments are repositories that should be ignored
|
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
+
+
+
+
+
-
+
|
**
** sync Run a "sync" on all repositories
**
** Respositories are automatically added to the set of known repositories
** when one of the following commands against the repository: clone, info,
** pull, push, or sync. Even previously ignored repositories are added back
** to the list of repositories by these commands.
**
**
** SUMMARY: fossil all subcommand|subcommand repository1 ?repository2 ...?
** Subcommands: list, ls, pull push, rebuild or sync
** Or: ignore repository1 ...
*/
void all_cmd(void){
int n;
Stmt q;
const char *zCmd;
char *zSyscmd;
char *zFossil;
char *zQFilename;
int nMissing;
int stopOnError = find_option("dontstop",0,0)==0;
int rc;
if( g.argc<3 ){
usage("list|ls|pull|push|rebuild|sync");
}
n = strlen(g.argv[2]);
db_open_config(1);
zCmd = g.argv[2];
if( strncmp(zCmd, "list", n)==0 || strncmp(zCmd,"ls",n)==0 ){
|
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
-
+
|
free(zSyscmd);
free(zQFilename);
if( stopOnError && rc ){
nMissing = 0;
break;
}
}
/* If any repositories whose names appear in the ~/.fossil file could not
** be found, remove those names from the ~/.fossil file.
*/
if( nMissing ){
db_begin_transaction();
db_reset(&q);
while( db_step(&q)==SQLITE_ROW ){
|