1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
|
** Implementation of the "fossil git export" command.
*/
void gitmirror_export_command(void){
const char *zLimit; /* Text of the --limit flag */
int nLimit = 0x7fffffff; /* Numeric value of the --limit flag */
int nTotal = 0; /* Total number of check-ins to export */
char *zMirror; /* Name of the mirror */
char *z; /* Generic string */
char *zCmd; /* git command to run as a subprocess */
const char *zDebug = 0; /* Value of the --debug flag */
const char *zAutoPush = 0; /* Value of the --autopush flag */
char *zMainBr = 0; /* Value of the --mainbranch flag */
char *zPushUrl; /* URL to sync the mirror to */
double rEnd; /* time of most recent export */
|
>
|
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
|
** Implementation of the "fossil git export" command.
*/
void gitmirror_export_command(void){
const char *zLimit; /* Text of the --limit flag */
int nLimit = 0x7fffffff; /* Numeric value of the --limit flag */
int nTotal = 0; /* Total number of check-ins to export */
char *zMirror; /* Name of the mirror */
char *zMirrorAbs; /* Canonicalized name of the mirror */
char *z; /* Generic string */
char *zCmd; /* git command to run as a subprocess */
const char *zDebug = 0; /* Value of the --debug flag */
const char *zAutoPush = 0; /* Value of the --autopush flag */
char *zMainBr = 0; /* Value of the --mainbranch flag */
char *zPushUrl; /* URL to sync the mirror to */
double rEnd; /* time of most recent export */
|
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
|
/* Maybe run a git repack */
if( bNeedRepack ){
const char *zRepack = "git repack -adf";
gitmirror_message(VERB_NORMAL, "%s\n", zRepack);
fossil_system(zRepack);
}
/* Optionally do a "git push" */
zPushUrl = db_text(0, "SELECT value FROM mconfig WHERE key='autopush'");
if( zPushUrl ){
char *zPushCmd;
UrlData url;
if( sqlite3_strglob("http*", zPushUrl)==0 ){
|
>
>
>
>
>
|
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
|
/* Maybe run a git repack */
if( bNeedRepack ){
const char *zRepack = "git repack -adf";
gitmirror_message(VERB_NORMAL, "%s\n", zRepack);
fossil_system(zRepack);
}
/* Record this export into the sync log */
zMirrorAbs = file_canonical_name_dup(zMirror);
sync_log_entry(SYNC_PUSH, zMirrorAbs, "git");
fossil_free(zMirrorAbs);
/* Optionally do a "git push" */
zPushUrl = db_text(0, "SELECT value FROM mconfig WHERE key='autopush'");
if( zPushUrl ){
char *zPushCmd;
UrlData url;
if( sqlite3_strglob("http*", zPushUrl)==0 ){
|
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
|
if( rc ){
fossil_fatal("cannot push content using: %s", zPushCmd);
}else if( db_is_writeable("repository") ){
db_unprotect(PROTECT_CONFIG);
db_multi_exec("REPLACE INTO config(name,value,mtime)"
"VALUES('gitpush:%q',1,now())", zPushUrl);
db_protect_pop();
}
fossil_free(zPushCmd);
}
}
/*
** Implementation of the "fossil git status" command.
|
>
|
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
|
if( rc ){
fossil_fatal("cannot push content using: %s", zPushCmd);
}else if( db_is_writeable("repository") ){
db_unprotect(PROTECT_CONFIG);
db_multi_exec("REPLACE INTO config(name,value,mtime)"
"VALUES('gitpush:%q',1,now())", zPushUrl);
db_protect_pop();
sync_log_entry(SYNC_PUSH, zPushUrl, "git-push");
}
fossil_free(zPushCmd);
}
}
/*
** Implementation of the "fossil git status" command.
|