Fossil

Check-in [ff2a8710]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix the merge command so that file renames are only considered if they are on the shortest path between the pivot and the checkins being merged. Ticket [74413366fe5067b3d].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:ff2a87103bf16f4781182cd66cef550cbbaecc3a
User & Date: drh 2011-01-04 14:12:47
References
2011-06-15
07:43 Ticket [554f44ee] Interbranch interference with merges and renames status still Open with 1 other change artifact: 14c30ffd user: viriketo
2011-01-04
15:50 New ticket [a4295406] Problem in checkin (evident on cygwin). artifact: 469777b2 user: anonymous
14:40 Ticket [74413366] Bad behaviour merging with renames status still Fixed with 1 other change artifact: de378f3c user: anonymous
Context
2011-01-04
17:50
Fix the setting of the "x" property for files in a delta-manifest on unix. Ticket [a4295406dde4682facd619]. check-in: 9e6f20bd user: drh tags: trunk
14:12
Fix the merge command so that file renames are only considered if they are on the shortest path between the pivot and the checkins being merged. Ticket [74413366fe5067b3d]. check-in: ff2a8710 user: drh tags: trunk
13:59
Fix the file name change detection logic so that it works the same in either direction on the DAG. Ticket [c9d454153eea969] check-in: 44766975 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/bisect.c.

361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
  int *aChng;              /* Two integers per name change */
  int i;                   /* Loop counter */
  Stmt q1;                 /* Query of name changes */

  *pnChng = 0;
  *aiChng = 0;
  bisect_reset();
  p = bisect_shortest_path(iFrom, iTo, 1);
  if( p==0 ) return;
  bisect_reverse_path();
  db_prepare(&q1,
     "SELECT pfnid, fnid FROM mlink WHERE mid=:mid AND pfnid>0"
  );
  for(p=bisect.pStart; p; p=p->u.pTo){
    int fnid, pfnid;







|







361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
  int *aChng;              /* Two integers per name change */
  int i;                   /* Loop counter */
  Stmt q1;                 /* Query of name changes */

  *pnChng = 0;
  *aiChng = 0;
  bisect_reset();
  p = bisect_shortest_path(iFrom, iTo, 0);
  if( p==0 ) return;
  bisect_reverse_path();
  db_prepare(&q1,
     "SELECT pfnid, fnid FROM mlink WHERE mid=:mid AND pfnid>0"
  );
  for(p=bisect.pStart; p; p=p->u.pTo){
    int fnid, pfnid;