Fossil SCM
No longer prohibit multiple "merge --integrate"'s without an intermediate commit. "commit --integrate" already allows it, so there is no way to stop people doing that. Fossil versions earlier than [55cacfcace] cannot handle the manifest file produced by such a commit.
Commit
f9f7082ef44c78abc6c56d8493b76cb7c048b6b1
Parent
6b396efa015d1b0…
1 file changed
+3
-11
+3
-11
| --- src/merge.c | ||
| +++ src/merge.c | ||
| @@ -258,21 +258,13 @@ | ||
| 258 | 258 | if( !forceFlag && mid==pid ){ |
| 259 | 259 | fossil_print("Merge skipped because it is a no-op. " |
| 260 | 260 | " Use --force to override.\n"); |
| 261 | 261 | return; |
| 262 | 262 | } |
| 263 | - if( integrateFlag ){ | |
| 264 | - if( db_exists("SELECT 1 FROM vmerge WHERE id=-4")) { | |
| 265 | - /* Fossil earlier than [55cacfcace] cannot handle this, | |
| 266 | - * therefore disallow it. */ | |
| 267 | - fossil_fatal("Integration of another branch already in progress." | |
| 268 | - " Commit or Undo needed first", g.argv[2]); | |
| 269 | - } | |
| 270 | - if( !is_a_leaf(mid) ){ | |
| 271 | - fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]); | |
| 272 | - integrateFlag = 0; | |
| 273 | - } | |
| 263 | + if( integrateFlag && !is_a_leaf(mid)){ | |
| 264 | + fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]); | |
| 265 | + integrateFlag = 0; | |
| 274 | 266 | } |
| 275 | 267 | if( verboseFlag ){ |
| 276 | 268 | print_checkin_description(mid, 12, integrateFlag?"integrate:":"merge-from:"); |
| 277 | 269 | print_checkin_description(pid, 12, "baseline:"); |
| 278 | 270 | } |
| 279 | 271 |
| --- src/merge.c | |
| +++ src/merge.c | |
| @@ -258,21 +258,13 @@ | |
| 258 | if( !forceFlag && mid==pid ){ |
| 259 | fossil_print("Merge skipped because it is a no-op. " |
| 260 | " Use --force to override.\n"); |
| 261 | return; |
| 262 | } |
| 263 | if( integrateFlag ){ |
| 264 | if( db_exists("SELECT 1 FROM vmerge WHERE id=-4")) { |
| 265 | /* Fossil earlier than [55cacfcace] cannot handle this, |
| 266 | * therefore disallow it. */ |
| 267 | fossil_fatal("Integration of another branch already in progress." |
| 268 | " Commit or Undo needed first", g.argv[2]); |
| 269 | } |
| 270 | if( !is_a_leaf(mid) ){ |
| 271 | fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]); |
| 272 | integrateFlag = 0; |
| 273 | } |
| 274 | } |
| 275 | if( verboseFlag ){ |
| 276 | print_checkin_description(mid, 12, integrateFlag?"integrate:":"merge-from:"); |
| 277 | print_checkin_description(pid, 12, "baseline:"); |
| 278 | } |
| 279 |
| --- src/merge.c | |
| +++ src/merge.c | |
| @@ -258,21 +258,13 @@ | |
| 258 | if( !forceFlag && mid==pid ){ |
| 259 | fossil_print("Merge skipped because it is a no-op. " |
| 260 | " Use --force to override.\n"); |
| 261 | return; |
| 262 | } |
| 263 | if( integrateFlag && !is_a_leaf(mid)){ |
| 264 | fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]); |
| 265 | integrateFlag = 0; |
| 266 | } |
| 267 | if( verboseFlag ){ |
| 268 | print_checkin_description(mid, 12, integrateFlag?"integrate:":"merge-from:"); |
| 269 | print_checkin_description(pid, 12, "baseline:"); |
| 270 | } |
| 271 |