fork-dev / TrackerWin

Bug and issue tracker for Fork for Windows
459 stars 10 forks source link

Lock selected button in place of the previous Unlock selected #2094

Closed Murazaki closed 6 months ago

Murazaki commented 8 months ago

I see you changed the Lock dialog. And I discovered it in a very bad way.

So now the list show ALL the files instead of just the locked ones ? This is a big change and it would have been nice to show us it happened.

Can we have two different buttons instead of one that changes state as it likes ? When selecting the complete list, the only available option is : Lock. Yes. Lock them all, this is not an action that will take ages and that we would want to revert. Or that we would want to stop in a panic and that we won't have any button to revert, as the only button goes to lock when selected files contains at least one unlocked files.

I guess you didn't finish, since there's less info than before, but could you at least not make a button so small, change to it's complete inverse behavior with a so tiny change in icon ? I'm pretty sure we can go for two buttons and solve this whole thing.

Murazaki commented 8 months ago

I'm gonna share how to fix that by unlocking all while the team does, for people that might stumble on this :

You can type that in the shell (there's a shell button in your UI):

# unlock all
git lfs locks | xargs -l bash -c 'git lfs unlock $0'

# force unlock all
git lfs locks | xargs -l bash -c 'git lfs unlock --force $0'

This is custom commands you can use (add to .fork/custom-commands.json) :

{
  {
    "name": "Unlock all previously locked files",
    "target": "repository",
    "action": {
      "type": "sh",
      "script": "\"$git\" lfs locks | xargs -l bash -c '\"$git\" lfs unlock $0' || true && echo \"Remaining locked files :\" && \"$git\" lfs locks",
      "showOutput": true,
      "waitForExit": true
    }
  },
  {
    "name": "Force unlock all previously locked files",
    "target": "repository",
    "action": {
      "type": "sh",
      "script": "\"$git\" lfs locks | xargs -l bash -c '\"$git\" lfs unlock --force $0' || true && echo \"Remaining locked files :\" && \"$git\" lfs locks",
      "showOutput": true,
      "waitForExit": true
    }
  }
}
DanPristupov commented 8 months ago

Can we have two different buttons instead of one that changes state as it likes ?

Yes