Anton: I appreciate this. All: I've highlighted one important point for each method, embedded below.
On Thu, Aug 10, 2023 at 9:02 PM Anton Shestakov <a...@dwimlabs.net> wrote: > Secret phase works really well when only one person has access to the > secrets (: > > To clarify, the situation in this thread is that two developers want to > occasionally share some commits, but only between themselves and not > with the main development repo. Secret phase is not very convenient in > this situation (although nothing says it can't be used), because, AFAIU, > this is what needs to happen every time they want to exchange work: > > - someone needs to pick specific secret changesets and make them draft > in their repo > - push/pull these changesets > - turn these changesets back into secret (forcefully), to prevent them > from being exchanged with the main dev repo > - make sure the other developer turns them to secret as well > - everyone now has to be aware that secret changesets may become draft > on exchange and need to understand what happened > > Just to highlight for this scenario, even though we've already discussed, when the draft changeset is "pushed", the *target *repo that is being pushed into will need to have off the auto publishing of draft changesets. [phases] publish = false > To elaborate on the last point, if your currently-secret commit exists > in a different repo that someone else controls, it might become draft or > public for you after exchange with that repo. If that happens, you have > to communicate with that other person to see if they wanted this to > happen to the commit in your repo or not. You can imagine that this is > not exactly convenient. > > So to prevent pushing some of the changesets to the main development > repo by default, but still being able to push/pull from coworkers > without too much hassle (demonstrated above), you can e.g. always > push/pull specific revisions by hand, or set up a different pushrev > sub-option for a specific path: > > [paths] > main = ... > main:pushrev = <almost nothing> > colleague = ... > colleague:pushrev = <pretty much everything> > This would only likely work if the colleague would himself agree to have a limited main:pushrev > _______________________________________________ > Evolve-testers mailing list > evolve-test...@lists.mercurial-scm.org > https://lists.mercurial-scm.org/mailman/listinfo/mercurial-evolve-testers >
_______________________________________________ Evolve-testers mailing list evolve-test...@lists.mercurial-scm.org https://lists.mercurial-scm.org/mailman/listinfo/mercurial-evolve-testers