Bug#1050713: mixed team workflows incl. --overwrite, split brain

2024-03-20 Thread Sean Whitton
Hello,

On Wed 20 Mar 2024 at 06:12pm GMT, Ian Jackson wrote:

> Control: severity -1 important
>
> Having thought about it, I propose the following changes to try to
> help with this:
>
> 1. Provide an alias for --overwrite (without version) called
>something like --trust-changelog, and make that be the primary name.
>That's really what --overwrite (without version) does.

Nice.

> 2. Provide a new option --collab-sceptics [1] which implies
>--split-view=always --trust-changelog.
>
> [1] I'm very unusre of the right name.  This option should be used in
> two situations:
>
>  (a) The package is team maintained, and you are doing a team upload;
>  your teammates don't use dgit (and object to the .dsc import
>  commits that can happen in the dgit history (so the maintainer
>  history doesn't have the .dsc imports).  So you must hide the
>  .dsc imports (which are in the dgit view) and trust the
>  changelog.
>
>  (b) You are doing an NMU, and you're doing it from maintainer git,
>  but the maintainer doesn't use dgit.  Nevertheless the maintainer
>  wants your git commits.  So you want to provide a git branch that
>  doesn't have the .dsc import commits (and you must truxt the
>  changelog).

How about --with-non-dgit ?

-- 
Sean Whitton


signature.asc
Description: PGP signature


Bug#1050713: mixed team workflows incl. --overwrite, split brain

2024-03-20 Thread Sean Whitton
Hello,

On Thu 21 Mar 2024 at 10:16am +08, Sean Whitton wrote:

>
> How about --with-non-dgit ?

Or, combining suggestions, --collab-non-dgit .

-- 
Sean Whitton


signature.asc
Description: PGP signature


Bug#1050713: mixed team workflows incl. --overwrite, split brain

2024-03-20 Thread Ian Jackson
Control: severity -1 important

Having thought about it, I propose the following changes to try to
help with this:

1. Provide an alias for --overwrite (without version) called
   something like --trust-changelog, and make that be the primary name.
   That's really what --overwrite (without version) does.

2. Provide a new option --collab-sceptics [1] which implies
   --split-view=always --trust-changelog.

[1] I'm very unusre of the right name.  This option should be used in
two situations:

 (a) The package is team maintained, and you are doing a team upload;
 your teammates don't use dgit (and object to the .dsc import
 commits that can happen in the dgit history (so the maintainer
 history doesn't have the .dsc imports).  So you must hide the
 .dsc imports (which are in the dgit view) and trust the
 changelog.

 (b) You are doing an NMU, and you're doing it from maintainer git,
 but the maintainer doesn't use dgit.  Nevertheless the maintainer
 wants your git commits.  So you want to provide a git branch that
 doesn't have the .dsc import commits (and you must truxt the
 changelog).

The common factors are:

 i.Sharing git history with the maintainer - ish
 ii.   Previous uploader(s) didn't use dgit
 iii.  The maintainer(s) don't want .dsc imports and pseudomerges
   (this isn't a *strictly* necessary condition but it is
   simpler to have one option that does all of this).

Suggestions for names very welcome.  Ideas I had for relevant words:

  [dgit] sceptic
  mixed
  team
  collaborate
  maintainer git

(Some of these eg "mixed" are poor on their own because they've
vague.)

This proposal may still result in .gitignore presence in the .dscs
"flapping": dgit uploads will include it, but many non-dgit maintainer
workflows would exclude it.  See #908747.  I think this is unavoidable
(even, it is desirable that dgit's uploads should include it).

Also, see #933044 (which I don't understand).  I'll reply there.

Ian.  

-- 
Ian JacksonThese opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.