Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO checklist for git #67

Closed
2 of 10 tasks
matu3ba opened this issue Feb 9, 2021 · 3 comments
Closed
2 of 10 tasks

TODO checklist for git #67

matu3ba opened this issue Feb 9, 2021 · 3 comments

Comments

@matu3ba
Copy link
Contributor

matu3ba commented Feb 9, 2021

I am unsure about the naming though. What do you think? Is there stuff for data retrieving missing, which has no user interaction?

checklist

  1. get_gitignore (in scandir.lua)
  2. interpret_gitignore (in scandir.lua)
  3. show pretty logs (WIP git module)
  4. run git tag: should be commented (WIP git module)
  5. git branch --all (WIP git module)
  6. git remote -v
  7. git status -s uses colors => instead use git --porcelain. Only porcellain has a stability guarantee. usage.
  8. is_git_repo naming? git uses is-in-work-tree (too long)
  9. get_git_root
  10. git stash list => would be extremely useful, if people use proper messages for stashing => 2d array of stashindex = 0..n with content x=name of branch y=short description of commit

NONGOALS

  • for example is_submodule with this approach and related functionality is too brittle and depends on user setup => job of a plugin to try to process the information (might decide later to include, once "it simply works" for plugins)
  • things that break due to specific settings
  • complex parsing or data processing
@Conni2461
Copy link
Collaborator

I am not sure what this issue trying to tell me? Do you want or need a mature git module. Because kinda abandon it for now. You could have commented this on the PR. You can also pick up the PR if you want to :)

interpret_gitignore (in scandir.lua)

Isn't done yet. It doesn't work for more advanced cases like this:

bin/
!bin/super_important

# Or i think this should also not work
**/asdf

@matu3ba
Copy link
Contributor Author

matu3ba commented Feb 9, 2021

I am not sure what this issue trying to tell me? Do you want or need a mature git module. Because kinda abandon it for now. You could have commented this on the PR. You can also pick up the PR if you want to :)

Ok.Yeah, I do see luagit is a very WIP. So that does not look feasible/useful. Closing.

@matu3ba matu3ba closed this as completed Feb 9, 2021
@Conni2461
Copy link
Collaborator

Conni2461 commented Feb 10, 2021

So that does not look feasible/useful.

If you need some git functions. You should just define them yourself currently with plenary.job similar to whats happening in the PR. That is way more specific and will bring you to your goal way faster :)

About plenary.git i am not sure how to continue. Writing general plenary.job wrapper might not be that helpful. There is https://github.com/libgit2/luagit2 which need a lot of work until its usable for us because it currently only supports libgit2 v0.17.0. Alternative would be to write libgit2 ffi bindings but that also takes a lot of time and would be a nightmare with the different libgit2 versions. Ubuntu 18.04 is different to 20.04 which is different to last version, etc ... So we would need to ship the binary and write the bindings for that binary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants