Scoped-delete semantics for --filter + --delete-unmatched

Abierto
#275 2 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
azure, typescript
Área
api, cli

Línea de trabajo

Comienza con el comando apiops publish y hasMutuallyExclusivePublishOptions; después, revisa el issue #215 para consultar el comportamiento fail-fast existente. Define la semántica de scoped-delete para árboles de artefactos filtrados, incluidas las dependencias compartidas, y documenta o implementa el comportamiento acordado para que las solicitudes filtradas de Create, Update y Delete se orquesten correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

type:feature
Problem or use case

In #215, combining --filter with --delete-unmatched was intentionally left to fail fast until
scoped-delete semantics are designed:

Combining --filter with --delete-unmatched should fail fast with a clear error until
scoped-delete semantics are designed.

Designing and enabling that combination would allow deletion tracking for a filtered subset of the
artifact tree, rather than requiring a full-tree --delete-unmatched run just to track any
deletions at all.

Proposed solution

Is there a plan or timeline for designing scoped-delete semantics, or a place to follow along?

As a workaround, expanding the following:

 export function hasMutuallyExclusivePublishOptions(
   deleteUnmatched: boolean,
   _commitId?: string,
   hasFilter = false
 ): boolean {
-  return deleteUnmatched && hasFilter;
+  return deleteUnmatched && hasFilter && !_commitId;
 }

produced correctly-scoped create/update/delete requests when tested against a simple,
self-contained API with no shared dependencies, but this doesn't address resources with shared dependencies that would need more thoughtful deletion orchestration.

Affected command

apiops publish

Lenguaje dominante
TypeScript
Estrellas
29
Forks
10
Merge medio
1 d 14 h
PR fusionados (30 d)
22

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Azure/apiops-cli

Todos los issues de Azure/apiops-cli

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.