[Top][All Lists]

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

[Bug-gnu-arch] Re: [bug #5112] Rework replay command-line processing

From: Miles Bader
Subject: [Bug-gnu-arch] Re: [bug #5112] Rework replay command-line processing
Date: 07 Sep 2003 13:22:22 +0900

[I'm sending this via email because the bug-tracking system is just too
painful (and unreadable) for a message this long... I wish the
bug-tracking system would give a valid reply address and accept email

address@hidden writes:
> Formerly,
>   tla replay REVISION
> would replay all revisions from the one just past the most recent
> revision my tree already has, up to REVISION.

Did it really do that?!?  The docstring doesn't mention it, and the
code didn't _seem_ to do anything like that:

   In the old code, the default (without extra options) was always
   arch_replay_op_missing, and that just did:

       version = arch_parse_package_name (arch_ret_non_archive, 0, src_spec);
       revisions = arch_whats_missing (tree_root, arch, version);
       ... replay revisions ...

   In arch_whats_missing, I see this:

       has = arch_log_ls (tree_root, arch->name, version, 0);
       needs = arch_archive_revisions (arch, version, 0);
       answer = rel_join (2, rel_join_output (2,0, -1), 0, 0, has, needs);

   Does `arch_archive_revisions' do something magic along those lines?
   I got a bit lost trying to trace how things happen below that, but as
   far as I can see it just ignores any patch-level specified.

The one feature I _did_ remove was that if you specified `--exact VERSION'
it would replay just the _last_ patch-level in VERSION; this was
undocumented, and didn't seem particularly useful (maybe the intent was
to use it in conjunction with --reverse?)

> How do I do this after these changes?

You can't.  I think the cleanest way to do this sort of thing would be
an `--until REVISION' option.

Then you could do `tla replay --until REVISION' which seems very

> The `update' command invokes the `replay' command.   
> Does that still work correctly?

As far as I can tell.  update just uses `tla replay --new VERSION' and
my change shouldn't effect that usage; update explicitly makes sure that
VERSION doesn't contain a patch-level:

   version = arch_parse_package_name (arch_ret_package_version, 0, rvsnspec);
   arch_call_cmd (arch_cmd_replay, argv[0], "--new", "-A", archive, "--dir", 
dest, version, 0);

Would you like fries with that?

reply via email to

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