Commit Graph

49 Commits

Author SHA1 Message Date
Folke Lemaitre d5686efbd0
feat: added `opts.git.cooldown` to allow updating plugins on slow connections. Fixes #1656 2024-07-23 13:31:25 +02:00
Folke Lemaitre d731a6b005
feat(git): added git network throttle to limit network related git ops per interval. Closes #1635 2024-07-16 16:50:31 +02:00
Andre Toerien 72c0dc9462
fix(git): local plugin fixes (#1624)
## Description

As I described in
https://github.com/folke/lazy.nvim/pull/1512#issuecomment-2212474372,
this makes it so that local plugins will only show as needing updates if
the local branch is behind the upstream branch. This is done by checking
the output of the `git log` command, and only setting `plugin._.updates`
if the output is not empty.

This seems to solve my issue where local plugins with unpushed changes
always show as needing updates, but if there's a easier/better way of
doing it then please feel free to edit/close this. Or if you don't agree
that the current behaviour is a bug, then that's also fine - it's not a
big deal and I can easily just ignore the "updates available" notice.

I also came across a minor issue where the plugin diff view (press `d`)
compares the wrong commits for local plugins, because
[lua/lazy/view/init.lua](c771cf4928/lua/lazy/view/init.lua (L268))
always uses `get_target`. I fixed this by moving `get_local_target` into
`get_target` - I think this is simpler and more straightforward than the
alternative of adding a ternary everywhere `get_target` is called.

This second bugfix is a very small change, so I've just included it
here, but I'm happy to make a second PR if you'd like.

## Related Issue(s)

Related PR: #1512
2024-07-07 17:13:49 +02:00
Folke Lemaitre 81d2bfffdc
fix(git): only check for new commits for local plugins. Closes #1512 2024-07-07 08:42:21 +02:00
Folke Lemaitre c7ed87f9ca
perf: automatically suspend the scheduler when all threads are waiting (#1591)
* perf: automatically suspend the scheduler when all threads are waiting

* ci: fix ci

* test: cleanup
2024-06-30 08:48:03 +02:00
Folke Lemaitre 6c7ef7e27a
refactor: logging 2024-06-26 18:31:31 +02:00
Folke Lemaitre 28e435b7f3
fix(git): fetch commit from origin or local to check if branch was changed. See #1549 2024-06-26 07:15:12 +02:00
Folke Lemaitre d2a4ce22dc
fix(git): force `autocrlf=false`. Fixes #1055 2024-05-13 08:34:39 +02:00
Folke Lemaitre 9e157df077
feat: refactor all vim.loop -> vim.uv and add a shim when needed 2024-03-22 08:58:36 +01:00
Maria José Solano 4446fdb9af
feat(ui): check pinned packages that can't be updated (#1139)
* style: fix filter types

* feat: check outdated pinned plugins
2023-10-23 07:52:54 +02:00
Folke Lemaitre 58e5726592
feat(git): show help on how to remove local changes 2023-10-10 11:53:00 +02:00
Folke Lemaitre 736529d097
fix(git): automatically restore doc/tags when modified 2023-10-10 11:42:01 +02:00
Folke Lemaitre 43e9165994
feat(git): show error for local changes during check/update 2023-10-10 11:42:01 +02:00
Folke Lemaitre 22bf6ae04b
style: sort requires 2023-10-09 11:25:42 +02:00
Sean Baildon 53be2c0ee1
fix(git): always set origin name when cloning (#622)
* fix(git): force origin name

* Revert "fix(git): honor clone.defaultRemoteName. Fixes #602"

This reverts commit 5af93806aa.
2023-03-05 14:09:15 +01:00
Folke Lemaitre 77223786aa
fix(git): properly deal with failed clones. Fixes #571 2023-02-28 11:51:16 +01:00
Folke Lemaitre 0d3f2c4042
feat(git): `Plugin.submodules = false` will now skip fetching git submodules 2023-02-12 12:56:42 +01:00
Folke Lemaitre 3d2dcb2d5e
fix(log): properly check if plugin dir is a git repo before running git log 2023-02-01 08:26:20 +01:00
Folke Lemaitre 26a67e3c48
feat(config): added option to disable git filter. NOT recommended. Fixes #442 2023-01-23 19:19:00 +01:00
Folke Lemaitre 615781aebf
feat(git): lazy now detects origin changes and will fix it on update. Fixes #346. Fixes #331 2023-01-08 08:32:03 +01:00
Folke Lemaitre dc9c92a9b3
fix(git): properly compare git commits with short refs 2023-01-03 09:36:43 +01:00
Folke Lemaitre 277a2ab10b
fix(git): better errors when a branch/tag/version could not be found. Fixes #276 2023-01-02 19:01:02 +01:00
Folke Lemaitre 34e2c78e06
feat(ui): show new version that is available instead of general message 2022-12-31 16:08:09 +01:00
Folke Lemaitre a9de5910f2
fix(fetch): always fetch latest origin tags. Fixes #264 2022-12-31 16:08:09 +01:00
Folke Lemaitre 865ff414c7
feat(git): added support for packed-refs. Fixes #260 2022-12-31 09:32:44 +01:00
Folke Lemaitre 6c0b803999
fix(git): add --no-show-signature. Fixes #218 2022-12-29 01:02:05 +01:00
Folke Lemaitre 488b48779c
fix(git): remove --also-filter-submodules. Fixes #86 #83 2022-12-22 08:08:07 +01:00
Folke Lemaitre 7f6f31d66f
fix(git): make sure we properly fetch git submodules. Fixes #72 2022-12-21 23:13:18 +01:00
Folke Lemaitre bbace14dc9
fix(git): only mark a plugin as dirty if an update changed the commit HEAD. Fixes #62 2022-12-21 14:45:32 +01:00
Tsakiris Tryfon a939243639
fix(checker): allow git checks only for non-pinned plugins (#61) 2022-12-21 14:39:08 +01:00
Folke Lemaitre 7be46bceef
style: removed unused requires 2022-12-20 22:32:16 +01:00
Folke Lemaitre 9d12cdcc06
fix(git): don't run git log for submodules. Fixes #33 2022-12-20 19:58:56 +01:00
Folke Lemaitre 4cfe0b5315
refactor: `Plugin.uri` => `Plugin.url` 2022-12-13 10:10:17 +01:00
Folke Lemaitre 65cd28e613
feat(ui): added update checker 2022-12-05 20:49:23 +01:00
Folke Lemaitre ae379a62dc
fix(git): fixed branch detection, get target commit from origin and always checkout a tag or commit so we dont need to use git merge 2022-12-02 11:26:07 +01:00
Folke Lemaitre 1e2f5273bb
fix: show proper installed/clean state for local plugins 2022-11-30 23:15:26 +01:00
Folke Lemaitre 69cdb718f8
refactor: rename Plugin.lock => Plugin.pin to prevent confusion with the lockfile 2022-11-29 20:19:07 +01:00
Folke Lemaitre 3e4f84640e
feat: git log config 2022-11-29 15:25:09 +01:00
Folke Lemaitre 32fa5f8441
fix: when just cloned, never commit lock 2022-11-29 14:27:32 +01:00
Folke Lemaitre 0774f1bc25
feat: added support for Plugin.lock (wont update) 2022-11-29 12:36:07 +01:00
Folke Lemaitre 54a82ad695
feat: default log is last 10 entries 2022-11-29 10:55:49 +01:00
Folke Lemaitre 5bcdddc0ec
fix(tasks): always set updated on checkout. Change default logging to 3 days 2022-11-29 10:30:45 +01:00
Folke Lemaitre 63cf2a52bd
feat: added "Lazy check" to check for updates without updating 2022-11-29 08:23:23 +01:00
Folke Lemaitre 4384d0e6d9
feat: added lockfile support 2022-11-29 00:15:13 +01:00
Folke Lemaitre fb84c081b0
feat: lots of improvements to pipeline runner and converted all tasks to new system 2022-11-28 22:03:44 +01:00
Folke Lemaitre 3768256956
refactor: pipelines now always run sequential 2022-11-28 13:10:59 +01:00
Folke Lemaitre 2abdc681fa
feat: new git module to work with branches, tags & versions 2022-11-28 11:36:12 +01:00
Folke Lemaitre 28af1e1ac3
refactor: moved all plugin state to Plugin._ 2022-11-28 11:19:50 +01:00
Folke Lemaitre ab1b512545
feat: new task pipeline runner 2022-11-28 11:04:32 +01:00