feature request: replicate stripping of revisions
Georg
gwk.rko at googlemail.com
Fri Nov 30 16:07:49 UTC 2007
This is a request for a feature useful in a star-collaboration workflow.
Consider you have an "authoritative" shared team repository where all team
members can push. This is a little like the Mercurial crew repository.
As time goes on, team members push their changes to the repository for
review by others and integration. Some contributions get integrated, some
don't.
So those that don't get integrated stay behind as garbage and accumulate
over time.
Every once in a time you may want to purge the shared repository of the
garbage. Technically no problem, you can use hg strip or hg clone -r.
BUT, you really don't have only one copy to purge. Every team member has
her/his own copy, quite possibly several of them. As soon as anyone pushes
back to the team repository, it will push in the garbage again :-(
Yes, you can instruct team members to discard all their copies and do a
fresh pull. It's inconvenient. It's error prone, at least one repository
will remain unpurged (Murphys law).
Yes, you can instruct team member to /never ever/ do a plain push, but only
push -r instead. So they don't carelessly push old stuff, they only push
their particular change. This has two drawbacks. First, the team member's
repository will still contain the garbage locally, second every once in a
while someone will do a full push w/o -r. Murphys law.
What I thought might help is a feature for replicating stripping. You would
strip the garbage in the shared repository. As soon as team members pulled
from the shared, they would "pull the stripping", the same stripping would
be applied at their local clone.
If this looks too dangerous, then what do you think about keeping and
replicating a list of "obsoleted" versions, and having a manual command like
"apply obsoletes". That command would read the list of obsoleted versions,
and if any of them still exist locally, it would hg strip it.
What do you think.
--
Regards,
Georg.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20071130/c54d1579/attachment-0001.html>
More information about the Mercurial
mailing list