Opened 13 years ago

Closed 9 years ago

#334 closed task (fixed)

Write output ONLY for nodes that did change

Reported by: Peter Johansson Owned by: Peter Johansson
Priority: major Milestone: svndigest 0.11
Component: core Version: trunk
Keywords: Cc:

Description (last modified by Peter Johansson)

related to #358 and #392

Only write output for nodes that have been modified since last write. The feature should be optional either through config or cmd. Two problem arise: how do we know when last write was, and we can remove the output structure as we do now. Clearly this feature only makes sense in conjunction with --force switch.

The reason for this feature is clearly speed; writing output takes significant long time for large projects. The reason for re-writing everything is that we wanna keep the x-range the same in all plots (nothing else changes except "generated on..."). Therefore a compromise option could be to only update the plots.

Change History (16)

comment:1 Changed 13 years ago by Peter Johansson

Summary: Write output for nodes that did not changeWrite output ONLY for nodes that did change

comment:2 Changed 13 years ago by Peter Johansson

ticket:317 was marked as related

comment:3 Changed 12 years ago by Peter Johansson

Description: modified (diff)

ticket:358 was marked as related

comment:4 Changed 12 years ago by Peter Johansson

Description: modified (diff)

comment:5 Changed 11 years ago by Peter Johansson

I think we should have an --update switch (compare GNU cp), which means that output is only generated for those nodes that have been modified since last report. We could add a header containing information on which rev the file corresponds to, i.e., the rev the Node last was modified. Then it is a simple task to open output files a check if we need to re-generate. Especially PNGs are expensive to re-generate. One thing to consider is that before writing over an output file, one could read first line in file, confirm it's an svndigest output file, and then write the new file. That confirmation should of course be done in the same shot as checking the revision of the file.

I'm not sure how the switch would relate with --force. Would --force --update still imply removal of the output directory before writing the report?

comment:6 Changed 11 years ago by Peter Johansson

Milestone: svndigest 0.x+svndigest 0.9

comment:7 Changed 11 years ago by Peter Johansson

Milestone: svndigest 0.9svndigest 0.10

This needs more discussion and is not crucial for 0.9.

comment:8 Changed 9 years ago by Peter Johansson

Milestone: svndigest 0.10svndigest 0.11

comment:9 Changed 9 years ago by Peter Johansson

Owner: changed from Jari Häkkinen to Peter Johansson
Status: newassigned

For this to make sense, I think svndigest --update will not remove output structure (like --force) and will not complain about overwriting existing files.

comment:10 Changed 9 years ago by Peter Johansson

(In [1533]) initial test for --update option (refs #334)

comment:11 Changed 9 years ago by Peter Johansson

(In [1534]) don't complain about existing output dir if --update option. Extend test to check that untouched nodes are not re-printed. refs #334

comment:12 Changed 9 years ago by Peter Johansson

(In [1535]) add member 'update_' in SvndigestVisitor?. refs #334

comment:13 Changed 9 years ago by Peter Johansson

(In [1537]) refs #334. Implement option --update for files

comment:14 Changed 9 years ago by Peter Johansson

(In [1538]) refs #334. implement --update also for directories. For Directories the 'revision: ' tag in html output reflects the lowest revision of the nodes (Directory and sub-nodes). Directory is not reprinted if this revision is at least last_changed_rev, in other words, there is no node by node comparison but a more easily implemented collective comparison. In case of homogenous revision (no mixtures) this is is the same thing.

comment:15 Changed 9 years ago by Peter Johansson

More tests needed with mixed revs.

comment:16 Changed 9 years ago by Peter Johansson

Resolution: fixed
Status: assignedclosed

(In [1539]) more tests for --update option. closes #334

Note: See TracTickets for help on using tickets.