Synopsis: When expanding '%gd' placeholder (reflog selector), git substitutes user-specified --date format, which mangles the reflog. Description: I was writing a script that expects a stash reflog and a date on stdin: % git stash list --format='%gd%n%ad' stash@{0} Sat Aug 5 13:26:30 2017 -0400 stash@{1} Sat Aug 5 13:18:54 2017 -0400 … Since this date is going to be presented to the user, I wanted to apply my own date format: % git stash list --format='%gd%n%ad' --date=format:%Y/%m/%d stash@{2017/08/05} 2017/08/05 stash@{2017/08/05} 2017/08/05 … Unfortunately this mangles the reflog as well (e.g. "stash@{2017/08/05}"), making it useless when passed back to git. Apparently stashes can be referenced by date, which is fine I suppose. But those dates should never be subject to user-defined formatting via --date=format:…. I'd expect the above command to instead output: % git stash list --format='%gd%n%ad' --date=format:%Y/%m/%d stash@{0} 2017/08/05 stash@{1} 2017/08/05 … or at least always use the ISO date format: % git stash list --format='%gd%n%ad' stash@{2017-08-05 13:26:30 -0400} 2017-08-05 13:26:30 -0400 stash@{2017-08-05 13:18:54 -0400} 2017-08-05 13:18:54 -0400 … Steve