# # # patch "ChangeLog" # from [c84c0e812d572edfff68736d0ea1b50ebd70fa5f] # to [c3a4e84ac9f8637f82015c6f67761e7b84d746e7] # # patch "cmd_merging.cc" # from [8951d74f9f319512e2b53ab814d1918e22324893] # to [54d9117904f8fe301f1f74b747410b664fc7475c] # ============================================================ --- ChangeLog c84c0e812d572edfff68736d0ea1b50ebd70fa5f +++ ChangeLog c3a4e84ac9f8637f82015c6f67761e7b84d746e7 @@ -1,3 +1,8 @@ +2006-07-08 Nathaniel Smith + + * cmd_merging.cc (pluck): Check that revisions exist before using + them. + 2006-07-07 Nathaniel Smith * diff_patch.cc (make_diff): Add more notes on how diffs are ============================================================ --- cmd_merging.cc 8951d74f9f319512e2b53ab814d1918e22324893 +++ cmd_merging.cc 54d9117904f8fe301f1f74b747410b664fc7475c @@ -626,11 +626,14 @@ if (args.size() > 0) throw usage(name); + // Work out our arguments revision_id from_rid, to_rid; if (app.revision_selectors.size() == 1) { complete(app, idx(app.revision_selectors, 0)(), to_rid); + N(app.db.revision_exists(to_rid), + F("no such revision '%s'") % to_rid); std::set parents; app.db.get_revision_parents(to_rid, parents); N(parents.size() == 1, @@ -644,7 +647,11 @@ else if (app.revision_selectors.size() == 2) { complete(app, idx(app.revision_selectors, 0)(), from_rid); + N(app.db.revision_exists(from_rid), + F("no such revision '%s'") % from_rid); complete(app, idx(app.revision_selectors, 1)(), to_rid); + N(app.db.revision_exists(to_rid), + F("no such revision '%s'") % to_rid); } else throw usage(name);