Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | prepare for input from svn dumps |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | svn-import |
| Files: | files | file ages | folders |
| SHA1: |
6def3251d45ebe6f5847068ff8182cf7 |
| User & Date: | baruch 2014-09-15 11:52:25.946 |
Context
|
2014-09-29
| ||
| 14:41 | merge trunk check-in: 2bd0ed05a3 user: baruch tags: svn-import | |
|
2014-09-15
| ||
| 11:52 | prepare for input from svn dumps check-in: 6def3251d4 user: baruch tags: svn-import | |
|
2014-09-14
| ||
| 21:05 | Disallow "fossil set" and "fossil unset" on an ambiguous prefix. check-in: 3b990b5203 user: drh tags: trunk | |
Changes
Changes to src/db.c.
| ︙ | ︙ | |||
2522 2523 2524 2525 2526 2527 2528 |
}else{
db_set(ctrlSettings[i].name, g.argv[3], globalFlag);
}
}
}else{
isManifest = 0;
while( ctrlSettings[i].name
| | | 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 |
}else{
db_set(ctrlSettings[i].name, g.argv[3], globalFlag);
}
}
}else{
isManifest = 0;
while( ctrlSettings[i].name
&& strncmp(ctrlSettings[i].name, zName, n)==0
){
print_setting(&ctrlSettings[i], db_open_local(0));
i++;
}
}
if( isManifest && g.localOpen ){
manifest_to_disk(db_lget_int("checkout", 0));
|
| ︙ | ︙ |
Changes to src/import.c.
| ︙ | ︙ | |||
718 719 720 721 722 723 724 |
fossil_fatal("bad fast-import line: [%s]", zLine);
return;
}
/*
** COMMAND: import
**
| | | > | > > | < < > > > < | < < < < < < < < < < < < < < < < < < < < < < < < < < > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | | > > > | 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 |
fossil_fatal("bad fast-import line: [%s]", zLine);
return;
}
/*
** COMMAND: import
**
** Usage: %fossil import FORMAT ?OPTIONS? NEW-REPOSITORY ?INPUT-FILE?
**
** Read interchange format generated by another VCS and use it to
** construct a new Fossil repository named by the NEW-REPOSITORY
** argument. If no input file is supplied the interchange format
** data is read from standard input.
**
** The following formats are currently understood by this command
**
** --git Import from the git-fast-export file format
** --svn Import from the svnadmin-dump file format
**
** The --incremental option allows an existing repository to be extended
** with new content.
**
** Options:
** --incremental allow importing into an existing repository
**
** See also: export
*/
void git_import_cmd(void){
char *zPassword;
FILE *pIn;
Stmt q;
int forceFlag = find_option("force", "f", 0)!=0;
int incrFlag = find_option("incremental", "i", 0)!=0;
int gitFlag = find_option("git",0,0)!=0;
int svnFlag = find_option("svn",0,0)!=0;
verify_all_options();
if( g.argc!=3 && g.argc!=4 ){
usage("FORMAT REPOSITORY-NAME");
}
if( g.argc==4 ){
pIn = fossil_fopen(g.argv[3], "rb");
}else{
pIn = stdin;
fossil_binary_mode(pIn);
}
if( !incrFlag ){
if( forceFlag ) file_delete(g.argv[2]);
db_create_repository(g.argv[2]);
}
db_open_repository(g.argv[2]);
db_open_config(0);
db_begin_transaction();
if( !incrFlag ) db_initial_setup(0, 0, 0, 1);
if( gitFlag ){
/* The following temp-tables are used to hold information needed for
** the import.
**
** The XMARK table provides a mapping from fast-import "marks" and symbols
** into artifact ids (UUIDs - the 40-byte hex SHA1 hash of artifacts).
** Given any valid fast-import symbol, the corresponding fossil rid and
** uuid can found by searching against the xmark.tname field.
**
** The XBRANCH table maps commit marks and symbols into the branch those
** commits belong to. If xbranch.tname is a fast-import symbol for a
** checkin then xbranch.brnm is the branch that checkin is part of.
**
** The XTAG table records information about tags that need to be applied
** to various branches after the import finishes. The xtag.tcontent field
** contains the text of an artifact that will add a tag to a check-in.
** The git-fast-export file format might specify the same tag multiple
** times but only the last tag should be used. And we do not know which
** occurrence of the tag is the last until the import finishes.
*/
db_multi_exec(
"CREATE TEMP TABLE xmark(tname TEXT UNIQUE, trid INT, tuuid TEXT);"
"CREATE TEMP TABLE xbranch(tname TEXT UNIQUE, brnm TEXT);"
"CREATE TEMP TABLE xtag(tname TEXT UNIQUE, tcontent TEXT);"
);
git_fast_import(pIn);
db_prepare(&q, "SELECT tcontent FROM xtag");
while( db_step(&q)==SQLITE_ROW ){
Blob record;
db_ephemeral_blob(&q, 0, &record);
fast_insert_content(&record, 0, 0);
import_reset(0);
}
db_finalize(&q);
}else if( svnFlag ){
}
db_end_transaction(0);
db_begin_transaction();
fossil_print("Rebuilding repository meta-data...\n");
rebuild_db(0, 1, !incrFlag);
verify_cancel();
db_end_transaction(0);
fossil_print("Vacuuming..."); fflush(stdout);
|
| ︙ | ︙ |