Diff
Not logged in

Differences From:

File src/checkin.c part of check-in [f030c0aea7] - Fix multiple bugs in the comment parser of the commit command. Allow blank lines in comments. by drh on 2007-08-30 19:46:06. [view]

To:

File src/checkin.c part of check-in [4c82c7773f] - Fix some annoyances with "merge". This involves a schema change to the _FOSSIL_ file. Older versions will continue to work, but it would make since to "close" and "open" local source tree after updating to this version of fossil, in order to update the schema. by drh on 2007-08-30 20:27:14. [view]

@@ -306,8 +306,9 @@
   Stmt q;
   Stmt q2;
   char *zUuid, *zDate;
   int noSign = 0;        /* True to omit signing the manifest using GPG */
+  int isAMerge = 0;      /* True if checking in a merge */
   char *zManifestFile;   /* Name of the manifest file */
   Blob manifest;
   Blob muuid;            /* Manifest uuid */
   Blob mcksum;           /* Self-checksum on the manifest */
@@ -330,16 +331,17 @@
   ** for each file to be committed. Or, if aCommitFile is NULL, all files
   ** should be committed.
   */
   select_commit_files();
-  if( g.aCommitFile && db_exists("SELECT 1 FROM vmerge") ){
+  isAMerge = db_exists("SELECT 1 FROM vmerge");
+  if( g.aCommitFile && isAMerge ){
     fossil_fatal("cannot do a partial commit of a merge");
   }
 
   user_select();
   db_begin_transaction();
   rc = unsaved_changes();
-  if( rc==0 ){
+  if( rc==0 && !isAMerge ){
     fossil_panic("nothing has changed");
   }
 
   /* If one or more files that were named on the command line have not