Diff
Not logged in

Differences From Artifact [862c16cccb]:

To Artifact [9665562c48]:


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
109
110
111
112
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

109
110
111
112
113
114
115
116
117
118







-
+


-
+
+
+
+




-
-
+
+








+
-
+
+
+







  db_reset(&q);
}


/*
** COMMAND: export
**
** Usage: %fossil export
** Usage: %fossil export --git ?REPOSITORY?
**
** Write an export of all check-ins to standard output.  The export is
** written in the Git "fast-import" format.
** written in the git-fast-export file format assuming the --git option is
** provided.  The git-fast-export format is currently the only VCS 
** interchange format supported, though other formats may be added in
** the future.
**
** Run this command within a checkout.  Or use the -R or --repository
** option to specify a Fossil repository to be exported.
**
** Only check-ins are exported.  Git does not support tickets or wiki
** or events or attachments, so none of that is exported.
** Only check-ins are exported using --git.  Git does not support tickets 
** or wiki or events or attachments, so none of those are exported.
*/
void export_cmd(void){
  Stmt q;
  int i;
  Bag blobs, vers;
  bag_init(&blobs);
  bag_init(&vers);

  find_option("git", 0, 0);   /* Ignore the --git option for now */
  db_find_and_open_repository(0, 0);
  db_find_and_open_repository(0, 2);
  verify_all_options();
  if( g.argc!=2 && g.argc!=3 ){ usage("--git ?REPOSITORY?"); }

  /* Step 1:  Generate "blob" records for every artifact that is part
  ** of a check-in 
  */
  fossil_binary_mode(stdout);
  db_prepare(&q, "SELECT DISTINCT fid FROM mlink WHERE fid>0");
  while( db_step(&q)==SQLITE_ROW ){