moving non publishing changesets between secret and draft phases and back to secret
Anton Shestakov
av6 at dwimlabs.net
Thu Aug 10 18:02:08 UTC 2023
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
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>
More information about the Evolve-testers
mailing list