Because SF.net is so awkward, I wanted to make sure if these patches would be accepted before I submit them.
If it's likely that they'd be merged, I'd clean it up and submit them with tests.
Thanks!
Last edit: Joachim Ansorg 2023-12-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've cleaned my commits and made sure that all tests are passing.
I had to repair a few, the commits should contain the details. Some failures were related to a new version of pygmentize. I wasn't sure which version is expected to run the tests.
Yes, please submit these, to the extent we can, I would prefer the code bases to be as close as possible.
As for the changes due pygments changing things from time to type, my view is that this is fragility in testing . Testing should be done without pygmentizing output.
There should be tests just to see that pygments does something, but that test needs to be crafted more carefully so that it does not rely too heavily on specific kinds of formatting that is likely to change. For example it might detect that listings vary the output, and maybe even check that keywords have tagging. around them.
I am going to be busy until Jan 9th or so. After that I will probably have a lot more time to devote to open-source kinds of things.
Last edit: Rocky Bernstein 2023-12-17
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@rockyb Thanks!
I've submitted most of the commits as merge requests. There's one against 4.4 and one against 5.1 where applicable.
I've kept most PRs to just one commit to help with the review.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am using Termux in Android without root, and my understanding of Bash is rather rudimentary, but I would like to help. I am a keen learner. I noted that the documentation didn't mention the ’git clone' download option, but I used it successfully: ’git clone https://git.code.sf.net/p/bashdb/code bashdb-code’. The ’INSTALL' instructions in my local directory are a bit esoteric for me considering I am running Android without root, so I have parked them for the time being. I even tried using Bing Copilot, Google Bard and both shell-gpt and code-interpreter in the Termux commandline to help me iterate the code, but it was still too esoteric for me to action.
If I can assist in any simple way with this project to start with, please let me know. I can definitely test the new version to see if it works on Android and I can assist with updating documentation. I note the comments that a person recently updated the install script to represent their system's version of Bash, and they said that after doing this, the install script worked on their system. I am running Bash 5.2.15(1) and am just working on customising the install script for my system, but am having a bit of difficulty, because it is a bit beyond my skill level.
I want to help with this project, as I am principally using Zsh in my host shell, but use Bash in my proot-distro alias of Debian, and it was in that isolated environment that I tried to install ’bashdb’ with ’apt’ but couldn't, as I wanted to use it to debug an issue with my .dircolorsrc file with which I am having problems. Upon searching, first in GitHub and then at SourceForge, I noticed that ’bashdb’ hadn't been updated for quite some time, but that there were very recent comments on the project, so I resolved to offer my assistance.
👍
1
Last edit: Jokerwild 2024-01-13
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@Jokerwild - I have created a github repository for this and copied all of the code there.
If you have a github account, please suggest changes from the above as Pull Requests (PR's) there.
Here is a suggestion for something to do that is both needed and will get understanding the code better. Look at https://github.com/rocky/zshdb/ and the more recent changes there. See if these can be applied to bashdb.
When this project was started, there wasn't much in the way of linters for shell code. In the past I have used ksh -n which offers some checks. Nowadays there is "ShellCheck" .
For BashSupport Pro, I have made a few changes to my fork of bashdb which were not yet submitted.
https://github.com/BashSupport-Pro/bashdb/commits/bashsupport-5.1 for the 5.1 branch and https://github.com/BashSupport-Pro/bashdb/commits/bashsupport-4.4 for the 4.4 branch.
Commits like https://github.com/BashSupport-Pro/bashdb/commit/389ad7668318ed6866d4fde32b820c1e321302dc are most likely only useful for the use in BashSupport.
For example, there's https://github.com/BashSupport-Pro/bashdb/commit/f0bda0c2d67515444c2dcda18f7228f000c53d75, which makes "info variables" faster (should be O(1) instead of O(n) now, I think) and keeps bash's escapes in the output to support linefeeds and spaces in the output.
Because SF.net is so awkward, I wanted to make sure if these patches would be accepted before I submit them.
If it's likely that they'd be merged, I'd clean it up and submit them with tests.
Thanks!
Last edit: Joachim Ansorg 2023-12-13
Thanks - I will look at the changes this weekend to let you know.
I've cleaned my commits and made sure that all tests are passing.
I had to repair a few, the commits should contain the details. Some failures were related to a new version of pygmentize. I wasn't sure which version is expected to run the tests.
Commits to bash-5.1, which may be useful:
- https://github.com/BashSupport-Pro/bashdb/commit/89f60e890ad7dbc904e61cd8861f74a643162958
- https://github.com/BashSupport-Pro/bashdb/commit/d83d7dc913fc66521926cfb3a689c3b9f6708f0a
- https://github.com/BashSupport-Pro/bashdb/commit/2d25b38290d317161efeb5c080e02184d3f5959d
- https://github.com/BashSupport-Pro/bashdb/commit/49d6c4379be1c5fd4d4e9089e718575b5d96380a
- https://github.com/BashSupport-Pro/bashdb/commit/084d95d5447182151efc51cf324015b1ce5b4d7e
- https://github.com/BashSupport-Pro/bashdb/commit/1eea0c01bbdaba0585deecfc9c61fe11640f9175
- The latest 3 commits fix pollution with global variables. I wasn't able to fix all of them. https://github.com/BashSupport-Pro/bashdb/commits/bashsupport-5.1
Commits to bash-4.4, mostly the same as above:
- https://github.com/BashSupport-Pro/bashdb/commit/1cf584c9cdb7255c411572e953beb9b615687045
- https://github.com/BashSupport-Pro/bashdb/commit/4e76fda17466bae06cd7bef028645b199d95b028
- https://github.com/BashSupport-Pro/bashdb/commit/b74a8f09725754e1264aa732692b75e2bb7d42b2
- https://github.com/BashSupport-Pro/bashdb/commit/a9ef0772dbe2c761cf5e8614ceb82ab19f0cf0af
- https://github.com/BashSupport-Pro/bashdb/commit/6b0837c1ccf866b7f6c904f51559127cb5692f5d
Last edit: Joachim Ansorg 2023-12-14
Yes, please submit these, to the extent we can, I would prefer the code bases to be as close as possible.
As for the changes due pygments changing things from time to type, my view is that this is fragility in testing . Testing should be done without pygmentizing output.
There should be tests just to see that pygments does something, but that test needs to be crafted more carefully so that it does not rely too heavily on specific kinds of formatting that is likely to change. For example it might detect that listings vary the output, and maybe even check that keywords have tagging. around them.
I am going to be busy until Jan 9th or so. After that I will probably have a lot more time to devote to open-source kinds of things.
Last edit: Rocky Bernstein 2023-12-17
@rockyb Thanks!
I've submitted most of the commits as merge requests. There's one against 4.4 and one against 5.1 where applicable.
I've kept most PRs to just one commit to help with the review.
Starting next week my time will finally free up. for open-source things. The top priority will be whatever is needed for bashdb and zshdb.
I am using Termux in Android without root, and my understanding of Bash is rather rudimentary, but I would like to help. I am a keen learner. I noted that the documentation didn't mention the ’git clone' download option, but I used it successfully: ’git clone https://git.code.sf.net/p/bashdb/code bashdb-code’. The ’INSTALL' instructions in my local directory are a bit esoteric for me considering I am running Android without root, so I have parked them for the time being. I even tried using Bing Copilot, Google Bard and both shell-gpt and code-interpreter in the Termux commandline to help me iterate the code, but it was still too esoteric for me to action.
If I can assist in any simple way with this project to start with, please let me know. I can definitely test the new version to see if it works on Android and I can assist with updating documentation. I note the comments that a person recently updated the install script to represent their system's version of Bash, and they said that after doing this, the install script worked on their system. I am running Bash 5.2.15(1) and am just working on customising the install script for my system, but am having a bit of difficulty, because it is a bit beyond my skill level.
I want to help with this project, as I am principally using Zsh in my host shell, but use Bash in my proot-distro alias of Debian, and it was in that isolated environment that I tried to install ’bashdb’ with ’apt’ but couldn't, as I wanted to use it to debug an issue with my .dircolorsrc file with which I am having problems. Upon searching, first in GitHub and then at SourceForge, I noticed that ’bashdb’ hadn't been updated for quite some time, but that there were very recent comments on the project, so I resolved to offer my assistance.
Last edit: Jokerwild 2024-01-13
@Jokerwild - I have created a github repository for this and copied all of the code there.
If you have a github account, please suggest changes from the above as Pull Requests (PR's) there.
Here is a suggestion for something to do that is both needed and will get understanding the code better. Look at https://github.com/rocky/zshdb/ and the more recent changes there. See if these can be applied to bashdb.
When this project was started, there wasn't much in the way of linters for shell code. In the past I have used
ksh -n
which offers some checks. Nowadays there is "ShellCheck" .Another suggestion is to take the individual patches suggested in https://sourceforge.net/p/bashdb/discussion/206895/thread/9c6c4fd536/#53ac and turn these into PRs.
Last edit: Rocky Bernstein 2024-01-13
Rocky, sure, I will have a look at zshdb on GitHub, as you suggest.