isamert · 2022-11-27 01:52
deaddyfreddy · 2022-11-27 15:43
how is it different from [forge](https://github.com/magit/forge)?
isamert · 2022-11-27 21:25
I don't use forge (tried in the past but not got so far with it), so I cant really give a throughout answer but here is a quick summary as far as I know:
forge does not provide any functionality regarding to
- pipelines
- jobs
- projects (like listing owned/group projects and doing actions on them like cloning, printing detailed info etc.)
Please see README for rundown of operations that you can do with aforementioned features.
forge copies remote information into your local, so you need to sync stuff time to time. lab.el retrieves information on demand. This can be a good or bad thing depending on how your workflow is structured.
lab.el have specialized functions, like `lab-list-my-merge-requests` which lists all the merge requests you've opened or assigned to recently. So it is not tied to a single project, you can jump around more easily. There are a few functions like this.
lab.el is structured around `completing-read`. So there is really so little that you need to learn, just call the function, select something and act on them. No complex buffers.
Most of the time, lab.el provides you an easy way to jump to related GitLab page instead of trying to do things in Emacs. For example, I don't see the point of having merge-request comments inside Emacs without the diff like forge does. So lab.el redirects you to GitLab page where-I think-its better to do. If the thing is easier and beneficial to handle in Emacs, lab.el does that. An example for that would be the `lab-act-on-last-failed-pipeline-job` function which shows you the jobs for the latest failed pipeline so that you can act on them (like triggering a retry or dumping the logs into a buffer) right inside Emacs.
forge has a way of dealing with GitLab issues too, lab.el does not provide anything on this end. forge also handles merge-request comments whereas with lab.el you can only create merge-requests inside Emacs, no comment management. (But as I indicated above, I don't find this feature in forge super useful.)
I believe the overall usage and focus is completely different, you need to check it out to see yourself. I may have misinformation about forge on some topics I listed above, please correct me where I'm wrong.