monotone-commits-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-commits-diffs] Revision e8a1c2feca86d41d8e89a359cfd3484c20523c


From: monotone
Subject: [Monotone-commits-diffs] Revision e8a1c2feca86d41d8e89a359cfd3484c20523c00
Date: Mon, 14 Jun 2010 20:19:24 +0200

-----------------------------------------------------------------
Revision: e8a1c2feca86d41d8e89a359cfd3484c20523c00
Ancestor: 8c4acd68927daf7b6a632ab681ff408a23a17d96
Author: address@hidden
Date: 2010-05-09 06.28.29
Branch: net.venge.monotone.bugfest-2010.20447-dscherger

Modified files:
        cmd_diff_log.cc

ChangeLog: 

rewrite diff to use roster comparisons rather than csets

this does not yet fix bug 20447 which is caused when diff attempts to get the
content for a file inside of a renamed directory and the directory rename has
been excluded from the cset being used for the diff. in this case the path to
get the file content is incorrect.

the unrestricted path for the selected roster node must be used to get the
correct content from the filesystem when parent nodes may have been renamed.

 * cmd_diff_log.cc (do_external_diff): remove and call external diff hook from
   dump_diff

   (get_data): new function to load data from the filesystem or database as
   required

   (dump_diff): new function to dump the diff of a single changed file via
   either the external diff lua hook or the internal make_diff function; use
   "/dev/null" as the "old" name for additions and as the "new" name for
   deletions to meet the requirements described in diff_output.cc

   (dump_diffs): replace cset and paths with old and new rosters; add somewhat
   awkward external diff args for passing to lua hook when external diffs are
   requested; rename x_is_archived to x_from_db for clarity; remove limit_paths
   boolean; rewrite using parallel iterator over both rosters rather than
   changes in a cset; print diffs for both added and deleted files

   (prepare_diff): replace cset with old and new rosters; rename x_is_archived
   to x_from_db; rename old_roster/new_roster to left_roster/right_roster
   respectively to match parallel iterator naming; select old and new rosters to
   return from the appropriate left and restricted rosters

   (dump_header): replace cset argument with old and new rosters and calculate
   cset internally for printing

   (diff): replace cset with old and new rosters; rename x_is_archived to
   x_from_db; call dump_diffs for both internal and external diffs

   (content_diff): replace cset with old and new rosters; rename x_is_archived
   to x_from_db

   (log): remove diff_paths previously used to track which paths should appear
   when --diffs was specified; load current and parent rosters for each revision
   when printing diffs; use these to make a restricted roster and call
   dump_diffs

Attachment: txtymDc_SRJB_.txt
Description: Diff [8c4acd68927daf7b6a632ab681ff408a23a17d96] -> [e8a1c2feca86d41d8e89a359cfd3484c20523c00]


reply via email to

[Prev in Thread] Current Thread [Next in Thread]