mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
CmdDiagnostics: Add broken reference detection
This commit is contained in:
parent
0693f3cfc4
commit
de8c7d230f
10 changed files with 77 additions and 0 deletions
|
@ -377,6 +377,47 @@ int CmdDiagnostics::execute (std::string& output)
|
||||||
<< "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Check all the UUID references
|
||||||
|
|
||||||
|
bool noBrokenRefs = true;
|
||||||
|
out << " Broken ref: "
|
||||||
|
<< format (STRING_CMD_DIAG_REF_SCAN, all.size ())
|
||||||
|
<< "\n";
|
||||||
|
|
||||||
|
for (auto& task : all)
|
||||||
|
{
|
||||||
|
// Check dependencies
|
||||||
|
std::vector <std::string> dependencies;
|
||||||
|
task.getDependencies(dependencies);
|
||||||
|
|
||||||
|
for (auto& uuid : dependencies)
|
||||||
|
{
|
||||||
|
if (! context.tdb2.has (uuid))
|
||||||
|
{
|
||||||
|
out << " "
|
||||||
|
<< format (STRING_CMD_DIAG_MISS_DEP, task.get ("uuid"), uuid)
|
||||||
|
<< "\n";
|
||||||
|
noBrokenRefs = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check recurrence parent
|
||||||
|
std::string parentUUID = task.get ("parent");
|
||||||
|
|
||||||
|
if (parentUUID != "" && ! context.tdb2.has (parentUUID))
|
||||||
|
{
|
||||||
|
out << " "
|
||||||
|
<< format (STRING_CMD_DIAG_MISS_PAR, task.get ("uuid"), parentUUID)
|
||||||
|
<< "\n";
|
||||||
|
noBrokenRefs = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (noBrokenRefs)
|
||||||
|
out << " " << STRING_CMD_DIAG_REF_OK
|
||||||
|
<< "\n";
|
||||||
|
|
||||||
out << "\n";
|
out << "\n";
|
||||||
output = out.str ();
|
output = out.str ();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -502,11 +502,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit"
|
#define STRING_CMD_DIAG_COMMIT "Commit"
|
||||||
#define STRING_CMD_DIAG_FOUND "(found)"
|
#define STRING_CMD_DIAG_FOUND "(found)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(missing)"
|
#define STRING_CMD_DIAG_MISSING "(missing)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
||||||
#define STRING_CMD_DIAG_TESTS "Tests"
|
#define STRING_CMD_DIAG_TESTS "Tests"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
||||||
#define STRING_CMD_DIAG_NONE "-none-"
|
#define STRING_CMD_DIAG_NONE "-none-"
|
||||||
|
|
|
@ -500,11 +500,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit"
|
#define STRING_CMD_DIAG_COMMIT "Commit"
|
||||||
#define STRING_CMD_DIAG_FOUND "(found)"
|
#define STRING_CMD_DIAG_FOUND "(found)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(missing)"
|
#define STRING_CMD_DIAG_MISSING "(missing)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
||||||
#define STRING_CMD_DIAG_TESTS "Tests"
|
#define STRING_CMD_DIAG_TESTS "Tests"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
||||||
#define STRING_CMD_DIAG_NONE "-none-"
|
#define STRING_CMD_DIAG_NONE "-none-"
|
||||||
|
|
|
@ -502,11 +502,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit"
|
#define STRING_CMD_DIAG_COMMIT "Commit"
|
||||||
#define STRING_CMD_DIAG_FOUND "(found)"
|
#define STRING_CMD_DIAG_FOUND "(found)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(missing)"
|
#define STRING_CMD_DIAG_MISSING "(missing)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
||||||
#define STRING_CMD_DIAG_TESTS "Tests"
|
#define STRING_CMD_DIAG_TESTS "Tests"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
||||||
#define STRING_CMD_DIAG_NONE "-none-"
|
#define STRING_CMD_DIAG_NONE "-none-"
|
||||||
|
|
|
@ -510,11 +510,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit" // |esp-ESP|==|eng-USA|
|
#define STRING_CMD_DIAG_COMMIT "Commit" // |esp-ESP|==|eng-USA|
|
||||||
#define STRING_CMD_DIAG_FOUND "(encontrado)"
|
#define STRING_CMD_DIAG_FOUND "(encontrado)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(no encontrado)"
|
#define STRING_CMD_DIAG_MISSING "(no encontrado)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Habilitado"
|
#define STRING_CMD_DIAG_ENABLED "Habilitado"
|
||||||
#define STRING_CMD_DIAG_DISABLED "deshabilitado"
|
#define STRING_CMD_DIAG_DISABLED "deshabilitado"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuración"
|
#define STRING_CMD_DIAG_CONFIG "Configuración"
|
||||||
#define STRING_CMD_DIAG_TESTS "Comprobaciones"
|
#define STRING_CMD_DIAG_TESTS "Comprobaciones"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Exploradas {1} tareas buscando UUIDs duplicados:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Exploradas {1} tareas buscando UUIDs duplicados:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Encontrado duplicado {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Encontrado duplicado {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "No se encontraron duplicados"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "No se encontraron duplicados"
|
||||||
#define STRING_CMD_DIAG_NONE "-ninguno-"
|
#define STRING_CMD_DIAG_NONE "-ninguno-"
|
||||||
|
|
|
@ -502,11 +502,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit"
|
#define STRING_CMD_DIAG_COMMIT "Commit"
|
||||||
#define STRING_CMD_DIAG_FOUND "(found)"
|
#define STRING_CMD_DIAG_FOUND "(found)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(missing)"
|
#define STRING_CMD_DIAG_MISSING "(missing)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
||||||
#define STRING_CMD_DIAG_TESTS "Tests"
|
#define STRING_CMD_DIAG_TESTS "Tests"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
||||||
#define STRING_CMD_DIAG_NONE "-none-"
|
#define STRING_CMD_DIAG_NONE "-none-"
|
||||||
|
|
|
@ -501,11 +501,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit"
|
#define STRING_CMD_DIAG_COMMIT "Commit"
|
||||||
#define STRING_CMD_DIAG_FOUND "(trovato)"
|
#define STRING_CMD_DIAG_FOUND "(trovato)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(mancante)"
|
#define STRING_CMD_DIAG_MISSING "(mancante)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Abilitato"
|
#define STRING_CMD_DIAG_ENABLED "Abilitato"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Disabilitato"
|
#define STRING_CMD_DIAG_DISABLED "Disabilitato"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configurazione"
|
#define STRING_CMD_DIAG_CONFIG "Configurazione"
|
||||||
#define STRING_CMD_DIAG_TESTS "Test"
|
#define STRING_CMD_DIAG_TESTS "Test"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Valutati {1} task per duplicazione UUID:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Valutati {1} task per duplicazione UUID:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Trovato duplicato {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Trovato duplicato {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "Nessun duplicato trovato"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "Nessun duplicato trovato"
|
||||||
#define STRING_CMD_DIAG_NONE "-nessuno-"
|
#define STRING_CMD_DIAG_NONE "-nessuno-"
|
||||||
|
|
|
@ -502,11 +502,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit"
|
#define STRING_CMD_DIAG_COMMIT "Commit"
|
||||||
#define STRING_CMD_DIAG_FOUND "(found)"
|
#define STRING_CMD_DIAG_FOUND "(found)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(missing)"
|
#define STRING_CMD_DIAG_MISSING "(missing)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
#define STRING_CMD_DIAG_ENABLED "Enabled"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
#define STRING_CMD_DIAG_DISABLED "Disabled"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
#define STRING_CMD_DIAG_CONFIG "Configuration"
|
||||||
#define STRING_CMD_DIAG_TESTS "Tests"
|
#define STRING_CMD_DIAG_TESTS "Tests"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Scanned {1} tasks for duplicate UUIDs:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Found duplicate {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "No duplicates found"
|
||||||
#define STRING_CMD_DIAG_NONE "-none-"
|
#define STRING_CMD_DIAG_NONE "-none-"
|
||||||
|
|
|
@ -502,11 +502,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Zatwierdzenie"
|
#define STRING_CMD_DIAG_COMMIT "Zatwierdzenie"
|
||||||
#define STRING_CMD_DIAG_FOUND "(jest)"
|
#define STRING_CMD_DIAG_FOUND "(jest)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(brak)"
|
#define STRING_CMD_DIAG_MISSING "(brak)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Włączone"
|
#define STRING_CMD_DIAG_ENABLED "Włączone"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Wyłączone"
|
#define STRING_CMD_DIAG_DISABLED "Wyłączone"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Konfiguracja"
|
#define STRING_CMD_DIAG_CONFIG "Konfiguracja"
|
||||||
#define STRING_CMD_DIAG_TESTS "Testy"
|
#define STRING_CMD_DIAG_TESTS "Testy"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "Zeskanowano {1} zadań w poszukiwaniu zdublowanych UUIDów:"
|
#define STRING_CMD_DIAG_UUID_SCAN "Zeskanowano {1} zadań w poszukiwaniu zdublowanych UUIDów:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "Znaleziono duplikaty {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "Znaleziono duplikaty {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "Nie znaleziono duplikatów"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "Nie znaleziono duplikatów"
|
||||||
#define STRING_CMD_DIAG_NONE "-brak-"
|
#define STRING_CMD_DIAG_NONE "-brak-"
|
||||||
|
|
|
@ -502,11 +502,15 @@
|
||||||
#define STRING_CMD_DIAG_COMMIT "Commit" // |por-PRT|==|eng-USA|
|
#define STRING_CMD_DIAG_COMMIT "Commit" // |por-PRT|==|eng-USA|
|
||||||
#define STRING_CMD_DIAG_FOUND "(presente)"
|
#define STRING_CMD_DIAG_FOUND "(presente)"
|
||||||
#define STRING_CMD_DIAG_MISSING "(em falta)"
|
#define STRING_CMD_DIAG_MISSING "(em falta)"
|
||||||
|
#define STRING_CMD_DIAG_MISS_DEP "Task {1} depends on nonexistent task: {2}"
|
||||||
|
#define STRING_CMD_DIAG_MISS_PAR "Task {1} has nonexistent recurrence template: {2}"
|
||||||
#define STRING_CMD_DIAG_ENABLED "Ativado"
|
#define STRING_CMD_DIAG_ENABLED "Ativado"
|
||||||
#define STRING_CMD_DIAG_DISABLED "Desativado"
|
#define STRING_CMD_DIAG_DISABLED "Desativado"
|
||||||
#define STRING_CMD_DIAG_CONFIG "Configuração"
|
#define STRING_CMD_DIAG_CONFIG "Configuração"
|
||||||
#define STRING_CMD_DIAG_TESTS "Testes"
|
#define STRING_CMD_DIAG_TESTS "Testes"
|
||||||
#define STRING_CMD_DIAG_UUID_SCAN "UUIDs duplicados em {1} tarefas:"
|
#define STRING_CMD_DIAG_UUID_SCAN "UUIDs duplicados em {1} tarefas:"
|
||||||
|
#define STRING_CMD_DIAG_REF_SCAN "Scanned {1} tasks for broken references:"
|
||||||
|
#define STRING_CMD_DIAG_REF_OK "No broken references found"
|
||||||
#define STRING_CMD_DIAG_UUID_DUP "UUID duplicado {1}"
|
#define STRING_CMD_DIAG_UUID_DUP "UUID duplicado {1}"
|
||||||
#define STRING_CMD_DIAG_UUID_NO_DUP "Nenhum duplicado encontrado"
|
#define STRING_CMD_DIAG_UUID_NO_DUP "Nenhum duplicado encontrado"
|
||||||
#define STRING_CMD_DIAG_NONE "-nenhum-"
|
#define STRING_CMD_DIAG_NONE "-nenhum-"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue