GothenburgBitFactory / taskwarrior

Taskwarrior - Command line Task Management
https://taskwarrior.org
MIT License
4.42k stars 300 forks source link

[TW-610] Prompts for confirmation to wait tasks when confirmation is set off #645

Closed taskwarrior closed 6 years ago

taskwarrior commented 6 years ago

Bryce Harrington on 2012-02-11T21:04:45Z says:

Not sure if it's a bug or I'm just doing something wrong:

humber:~$ task rc.confirmation=off rc.bulk=1000 804 modify wait:1d Modifying task 804 'run piglit manually against current Ubuntu devel on one machine'. This is a recurring task. Do you want to modify all pending recurrences of this same task? (yes/no) ^C

humber:~$ task _version 2.0.0.beta4

humber:~$ task show

Config Variable Value
_forcecolor no abbreviation.minimum 2 active.indicator * alias._query export alias.burndown burndown.weekly alias.export.json _query alias.export.vcalendar export.ical alias.ghistory ghistory.monthly alias.history history.monthly alias.rm delete annotations none
avoidlastcolumn no blanklines true
bulk 2
burndown.bias 0.666 calendar.details sparse calendar.details.report list calendar.holidays sparse
calendar.legend yes calendar.offset no calendar.offset.value -1 color on color.active black on green
color.alternate
color.blocked white on black
color.burndown.done on green
color.burndown.pending on red
color.burndown.started on yellow
color.calendar.due white on red
color.calendar.due.today bold white on red
color.calendar.holiday bright green on bright yellow
color.calendar.overdue black on bright red
color.calendar.today black on bright blue
color.calendar.weekend bright green on white
color.calendar.weeknumber bold blue
color.debug blue
color.due green
color.due.today red
color.footnote blue
color.header blue
color.history.add black on red
color.history.delete black on yellow
color.history.done black on green
color.overdue bold red
color.pri.H bold black
color.pri.L white
color.pri.M black
color.pri.none color.project.none color.recurring blue
color.summary.background on bright white
color.summary.bar on green
color.sync.added green
color.sync.changed color11
color.sync.rejected red
color.tag.none color.tagged green
color.undo.after green
color.undo.before red
column.padding 1 complete.all.projects no complete.all.tags no confirmation yes curses on
data.location /srv/Shared/Tasks/
dateformat m/d/Y dateformat.annotation m/d/Y dateformat.holiday YMD dateformat.report m/d/Y debug no default.command ls
defaultheight 24 defaultwidth 80 dependency.confirmation on dependency.indicator D dependency.reminder on detection on displayweeknumber yes dom on due 7 echo.command yes edit.verbose no
exit.on.missing.db no export.ical.class PRIVATE
expressions on extensions off fontunderline yes gc on holiday.christmasday.date 20111225
holiday.christmasday.name Christmas Day
holiday.columbusday.date 20111010
holiday.columbusday.name Columbus Day
holiday.independenceday.date 20110704
holiday.independenceday.name Independence Day
holiday.laborday.date 20110905
holiday.laborday.name Labor Day
holiday.martinlutherkingday.date 20110117
holiday.martinlutherkingday.name Birthday of Martin Luther King, Jr.
holiday.memorialday.date 20110530
holiday.memorialday.name Memorial Day
holiday.newyearsday.date 20110101
holiday.newyearsday.name New Year's Day
holiday.newyearseve.date 20111231
holiday.newyearseve.name New Year's Eve
holiday.patriotsday.date 20110419
holiday.patriotsday.name Patriots' Day
holiday.presidentsday.date 20110221
holiday.presidentsday.name Washington's Birthday
holiday.thanksgiving.date 20111124
holiday.thanksgiving.name Thanksgiving Day
holiday.veteransdays.date 20111111
holiday.veteransdays.name Veterans Day
hooks off
hyphenate on indent.annotation 2 indent.report 0 journal.info on journal.time no journal.time.start.annotation Started task journal.time.stop.annotation Stopped task json.array off list.all.projects no list.all.tags no locale locking on merge.autopush ask nag Good work, keep it up.
next 2
patterns on recurrence.indicator R recurrence.limit 1 regex no report.active.columns id,project,priority,due,start.active,entry.age,description report.active.description Lists active tasks matching the specified criteria report.active.filter status:pending start.any: report.active.labels ID,Project,Pri,Due,Active,Age,Description report.active.sort due+,priority-,project+
report.all.columns id,project,priority,entry,start.active,wait,start,due,recur,due.countdown,entry.age,tags,descrip- tion
report.all.description Lists all tasks matching the specified criteria
report.all.filter status.not:deleted report.all.labels ID,Project,Pri,Added,start.active,Wait,Started,Due,Recur,Countdown,Age,Tags,Description
report.all.sort due+,priority-,start.active-,project+
report.blocked.columns id,depends,project,priority,due,start.active,entry.age,description report.blocked.description Lists all blocked tasks matching the specified criteria report.blocked.filter status:pending depends.any: report.blocked.labels ID,Deps,Project,Pri,Due,Active,Age,Description report.blocked.sort due+,priority-,start-,project+,description+ report.completed.columns end,project,priority,entry.age,description report.completed.description Lists completed tasks matching the specified criteria report.completed.filter status:completed report.completed.labels Complete,Project,Pri,Age,Description report.completed.sort end+,priority-,project+
report.downstairs.columns id,project,priority,description
report.downstairs.description Minimal listing of all tasks matching the specified criteria
report.downstairs.filter status:pending depends.none: tags:downstairs
report.downstairs.labels ID,Project,Pri,Description
report.downstairs.sort priority-,project+
report.list.columns id,project,priority,due,start.active,entry.age,description report.list.description Lists all tasks matching the specified criteria report.list.filter status:pending report.list.labels ID,Project,Pri,Due,Active,Age,Description report.list.sort due+,priority-,start.active-,project+
report.long.columns id,project,priority,entry,start,due,recur,due.countdown,entry.age,tags,description
report.long.description Lists all task, all data, matching the specified criteria
report.long.filter status:pending report.long.labels ID,Project,Pri,Added,Started,Due,Recur,Countdown,Age,Tags,Description
report.long.sort due+,priority-,project+
report.ls.columns id,project,priority,description report.ls.description Minimal listing of all tasks matching the specified criteria report.ls.filter status:pending depends.none:
report.ls.labels ID,Project,Pri,Description report.ls.sort priority-,project+
report.minimal.columns id,project,description
report.minimal.description A really minimal listing report.minimal.filter status:pending report.minimal.labels ID,Project,Description report.minimal.sort project+,description+ report.newest.columns id,project,priority,due,start.active,entry.age,description report.newest.description Shows the newest tasks report.newest.filter status:pending limit:10 report.newest.labels ID,Project,Pri,Due,Active,Age,Description report.newest.sort id- report.next.columns id,project,priority,due,start.active,entry.age,description
report.next.description Lists the most urgent tasks report.next.filter status:pending limit:page report.next.labels ID,Project,Pri,Due,Active,Age,Description
report.next.sort due+,priority-,start.active-,project+
report.oldest.columns id,project,priority,due,start.active,entry.age,description report.oldest.description Shows the oldest tasks report.oldest.filter status:pending limit:10 report.oldest.labels ID,Project,Pri,Due,Active,Age,Description report.oldest.sort id+ report.overdue.columns id,project,priority,due,start.active,entry.age,description report.overdue.description Lists overdue tasks matching the specified criteria report.overdue.filter status:pending due.before:today
report.overdue.labels ID,Project,Pri,Due,Active,Age,Description report.overdue.sort due+,priority-,start.active-,project+
report.recurring.columns id,project,priority,due,recur,until,start.active,entry.age,due.countdown,description
report.recurring.description Lists recurring tasks matching the specified criteria report.recurring.filter status:pending parent.any: report.recurring.labels ID,Project,Pri,Due,Recur,Until,Active,Age,Countdown,Description
report.recurring.sort due+,priority-,start.active-,project+
report.unblocked.columns id,depends,project,priority,due,start.active,entry.age,description report.unblocked.description Lists all unblocked tasks matching the specified criteria report.unblocked.filter status:pending depends.none: report.unblocked.labels ID,Deps,Project,Pri,Due,Active,Age,Description report.unblocked.sort due+,priority-,start-,project+,description+ report.uuids.columns uuid,id,description
report.uuids.description Tabulate current mapping of uuids to ids
report.uuids.labels UUID,ID,Description
report.waiting.columns id,project,priority,wait,entry.age,description report.waiting.description Lists all waiting tasks matching the specified criteria report.waiting.filter status:waiting report.waiting.labels ID,Project,Pri,Wait,Age,Description report.waiting.sort wait+,priority-,project+
row.padding 0 rule.precedence.color due.today,active,blocked,overdue,due,keyword,project,tag,recurring,pri,tagged,completed,deleted search.case.sensitive yes shell.prompt task> tag.indicator + undo.style side urgency.active.coefficient 4.0 urgency.annotations.coefficient 1.0 urgency.blocked.coefficient -8.0 urgency.blocking.coefficient 9.0 urgency.due.coefficient 7.0 urgency.next.coefficient 10.0 urgency.priority.coefficient 6.0 urgency.project.coefficient 3.0 urgency.tags.coefficient 2.0 urgency.waiting.coefficient 5.0 verbose yes weekstart Sunday xterm.title no

Your .taskrc file contains these unrecognized variables: blanklines curses export.ical.class hooks next

taskwarrior commented 6 years ago

Migrated metadata:

Created: 2012-02-11T21:04:45Z
Modified: 2014-02-09T02:06:30Z
taskwarrior commented 6 years ago

Bryce Harrington on 2012-02-11T21:40:18Z says:

I also tested current git and is still affected the same way.

taskwarrior commented 6 years ago

Bryce Harrington on 2012-02-13T17:38:11Z says:

I have a workaround for this added to taskhelm that I can ship with if you decide you'd like to postpone this bug from 2.0.0.

taskwarrior commented 6 years ago

Paul Beckingham on 2012-02-20T05:39:02Z says:

I'm rejecting this. That is not to say it isn't inconsistent, or unexpected, but here is the reason:

Confirmation in general is when taskwarrior asks for permission to do something that can modify data unexpectedly. That is overridable using rc.confirmation.

This case is a little different. It is taskwarrior asking whether or not it can escalate a change from one task to many tasks. Data is modified regardless of the answer, and so is in a different category. I'm reluctant to provide a way for this to be automated (easily) because it is dangerous, and the undo operation contains multiple steps.

Bryce has a workaround, which is the only reason why I can reject this - thanks for letting us know. I want taskhelm to work, but not at the expense of changing something I feel is important.

taskwarrior commented 6 years ago

Bryce Harrington on 2012-02-20T09:27:55Z says:

Hmm, here's an idea.

The issue you've stated is the riskiness of allowing escalation in situations that may cause too much data to be changed.

That's actually exactly the issue I'm trying to avoid (and perhaps failed to properly explain in my original report.) Whereas 'rc.confirmation=off' essentially is saying, "Assume 'yes' in all cases of just ordinary data change", what we want is something to "Assume 'no' in all cases of escalation". Sort of a 'rc.escalate=off' option.