[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-nodiffs] Revision e8a1c2feca86d41d8e89a359cfd3484c2052
From: |
monotone |
Subject: |
[Monotone-commits-nodiffs] 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
monotone --db={your.database} diff
--revision=8c4acd68927daf7b6a632ab681ff408a23a17d96
--revision=e8a1c2feca86d41d8e89a359cfd3484c20523c00
----------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-nodiffs] Revision e8a1c2feca86d41d8e89a359cfd3484c20523c00,
monotone <=