Daniel Shahaf wrote: > Julian Foad wrote on Fri, 25 Aug 2017 21:42 +0100: >> Let's clarify. We can mean two possible things when we say 'a series of >> patches': >> >> 1. "patch versions": a series of successively better patches, all >> attempting the same logical thing, all from the same base, and only one >> of which is applied at any time; >> >> 2. a series of patches, each providing a different logical change, >> where each patch is based on the result of applying the previous one. >> ("quilt" is a tool for managing path series of this kind. My 'option 3' >> (local repository) design for checkpointing could also be used in this >> way, in a primitive way, but would not support revising earlier patches >> in the series which is a key strength of what "quilt" can do.) >> >> I am talking about definition 1 ("patch versions"). >> [...] >> >> I propose that we should not attempt to provide any special support for >> definition 2 within this "shelving" feature; users can manage that >> themselves by simply remembering which feature names depend on which >> other ones, or by including some other numbering system within the names. > > Could you explain how you see this working? In use-case #2, later patches > in the series typically depend on earlier patches. I don't see how that > use-case > can be addressed if the patches are all implemented against deltas against > the same base (for example, because if patch #2 in a 5-patch series is edited, > all later patches would have to be regenerated).
This kind of shelving (with simple checkpointing add-ons) would *not* help with use case #2: in particular it would not provide any support for editing an earlier patch and rebasing the later patches. All I meant is that you would still be free to use (manually) any naming/numbering system you wish to help you remember how the patches that you shelve are related. - Julian