[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
followups!]
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
intuitive.
> 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);
-Miles
--
Would you like fries with that?