Workflow idea
Kevin Smith
yarcs at qualitycode.com
Mon Jun 13 11:32:02 UTC 2005
Matt Mackall wrote:
> On Sun, Jun 12, 2005 at 10:21:53AM -0400, Kevin Smith wrote:
>
>>I have a proposal for a mechanism that would make it much easier for
>>people to submit small, well-ordered patches, such as would be accepted
>>by the kernel, git, or mercurial maintainers.
>>
>>Fundamentally, I propose that any repository allow a floating tag-like
>>marker to indicate the point at which all changesets after it have not
>>yet been finalized. Anyone doing an update from that repo would, by
>>default, not receive anything after this marker.
>
>
> I think this is effectively identical to:
>
> "hg push <x> ssh://publicserver/repo/"
>
> where x is your marker.
Well, that's part of it. But given a local working repo that has a
single patch, how am I supposed to split that into two patches? Based on
mailing list traffic, this is a VERY common situation. Let's say I want
to split the last patch in the log. It seems like today I would have to
do something like:
1. Create another local working repo that contains all the patches up to
but not including the last one.
2. Manually re-make half my source code changes in the new tree, and commit.
3. Manually re-make the other other half of my source changes in the new
tree, and commit.
4. Undo the final patch in my working directory (which would be unsafe
if the original monolithic patch had been pushed or pulled anywhere else
already).
5. Merge the cloned repo back into my working directory.
Under my proposal, it would be possible to make that change in-place,
safely. A tool coould pretend to do the changes in-place while actually
creating temp repos, but I don't think it could be safe without the
feature I proposed.
Kevin
More information about the Mercurial
mailing list