TSE: File: Version: Control: Git

8 views
Skip to first unread message

knud van eeden

unread,
Nov 24, 2022, 12:26:56 PM11/24/22
to SemWare TSE Pro Text Editor
Hello,

So Guy (Rouillier), if I may ask,, what is the current state of your efforts in regard of using Git in TSE?

Thanks
with friendly greetings
Knud van Eeden

Guy Rouillier

unread,
Nov 25, 2022, 2:34:00 AM11/25/22
to SemWare TSE Pro Text Editor
Knud, I haven't done anything regarding using git in TSE.  I think you are probably referring to one of two threads from earlier this year:

"Edit with a specific profile" where I raised the desire to specify TSE settings to specific open source projects I work on - mostly formatting options.

'Macro repository" where we discussed using a version control system for storing TSE macros, so we could maintain history.  The email thread mentioned both git and Subversion.

You mention using git *in* TSE, and not get *for* TSE.  If that was intentional, I don't really think trying to integrate git directly into TSE is a good use of time.  I use SmartGit for managing git repos.  It's an excellent tool, and Syntevo has invested tremendous effort to consistently improve it.  Of course, there are many other git client tools available.  I'm a firm believer of using the appropriate tool for the job.

Thanks.

--
Guy Rouillier
--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/semware/1278895814.4468141.1669310812886%40mail.yahoo.com.

knud van eeden

unread,
Nov 25, 2022, 5:21:46 AM11/25/22
to Semware TSE Pro
> Guy wrote:

> I haven't done anything regarding using git in TSE.  

OK

> I think you are probably referring to one of two threads from earlier this year:

Yes, indeed.

> "Edit with a specific profile" where I raised the desire to specify TSE settings to specific open source projects I work on - mostly formatting options.

Indeed, e.g. this thread.

> Macro repository" where we discussed using a version control system for storing TSE macros, so we could maintain history.  The email thread mentioned both git and ?
> Subversion.

Yes also.

> You mention using git *in* TSE, and not get *for* TSE.  If that was intentional, I don't really think trying to integrate git directly into TSE is a good use of time.  

Always using a 3rd party Git, from within TSE.

> I use SmartGit for managing git repos.  It's an excellent tool, and Syntevo has invested tremendous effort to consistently improve it.  Of course, there are many other git client tools available.  

OK, indeed.

> I'm a firm believer of using the appropriate tool for the job.

Agreed.

knud van eeden

unread,
Nov 25, 2022, 7:08:59 PM11/25/22
to Semware TSE Pro

>> You mention using git *in* TSE, and not get *for* TSE.  If that was intentional, I don't really think trying to integrate git directly into TSE is a good use of time.  

>Always using a 3rd party Git, from within TSE.

---

>> I use SmartGit for managing git repos.  It's an excellent tool, and Syntevo has invested tremendous effort to consistently improve it.  Of course, there are many other 
>> git  client tools available.  

---

I downloaded, 
installed 
and did run SmartGit
But it is basically a GUI based program with only a few command line options

---

I plan therefore mention to SmartGit as a download option 
and plan that one can run the SmartGit GUI,
but that is about it.

---

Instead planning to choosing thus for working from within TSE 
(typically acting upon the current file loaded, otherwise some directory)
then using preferably 

 Git-SCM

which is more command line based.

---

I generalized the functionality for Notepad++ after I saw demonstrated
that they have a comparison plugin.

So a file version control using Git-SCM is also used in Notepad++ as a plugin.

So I made a remark to somebody that it should be possible to version
control in Notepad++

So checking that statement I started to try using that in Notepad++, 
it did not work, tried everything, so analyzed it pretty deeply,
but it kept not not working with only some cryptic error message all the time.

So the developer made some changes now e.g. in the error messages.

I got the drift when looking at this implementation, so implemented it similarly also for
TSE but a bit more friendly and very much extended and much more commands.

---

I plan further to test how far Cygwin Git could be used also.

But the Cygwin Git version I use is a bit older, I maybe have to update Cygwin some day
(I had issues running the then latest Cygwin version earlier, so reverted to an earlier version).

---

Guy Rouillier

unread,
Nov 25, 2022, 7:47:41 PM11/25/22
to Semware TSE Pro
I'm not clear on what you are trying to accomplish with git from within TSE.  However, perhaps you would be best served by using a simple, purely command-based version of git, and then invoking that from within TSE for whatever you want to do.  Indeed, that is what SmartGit itself does.  You can find git.exe in SmartGit\git\bin.  So, if you find SmartGit useful, then simply use that version of git.exe for the purposes you choose within TSE.

If you want to get really fancy, you can use the dialog functions that Antos used in his grep to provide a nice way for end-users to interact with git from within TSE.  

--
Guy Rouillier
--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.

knud van eeden

unread,
Nov 25, 2022, 8:05:57 PM11/25/22
to Semware TSE Pro
> Guy wrote

> I'm not clear on what you are trying to accomplish with git from within TSE.  

* For example putting a file which you edit from within TSE under file version control.

* For example Carlo has created similar in his git.s macro

* Think thus about e.g. clone, fetch, pull, push your work to and from remote repository from within TSE.

* And similarly add, commit, ... to a local repository of the currrently edited TSE file.

---

> However, perhaps you would be best served by using a simple, purely command-based version of git, 
 > and then invoking that from within TSE for whatever you want to do.  
> Indeed, that is what SmartGit itself does.  
> You can find git.exe in SmartGit\git\bin.  
> So, if you find SmartGit useful, then simply use that version of git.exe for the purposes you choose within TSE.

That is very useful information, that version will be included also and maybe tested with is the plan.

---

> If you want to get really fancy, you can use the dialog functions that Antos used in his grep 
> to provide a nice way for end-users to interact with git from within TSE.  

That is also very useful information, I plan to also check Chris Antos' grep.s again for that functionality.

Interesting.

knud van eeden

unread,
Nov 25, 2022, 8:49:40 PM11/25/22
to Semware TSE Pro
>> Guy wrote:
>> If you want to get really fancy, you can use the dialog functions that Antos used in his grep 
>> to provide a nice way for end-users to interact with git from within TSE.  

> That is also very useful information, I plan to also check Chris Antos' grep.s again for that functionality.

OK, I checked Chris Antos' grep3230.zip 

from the year 2002.

I had the impression that Git was implemented in it, but Git was thus released in the year 2005, so was already a bit surprised.

But it were thus indeed the 'dialog' functions you pointed at. 

Similar to the dialog boxes which Dieter Koessl implemented using Delphi earlier.

No, that I would include, that only complicates matters, when trying to keep things as simple as possible. 

Thus using e.g. List(), Ask(), Warn(), YesNo(), ...

===

Further, I included SmartGit git.exe now also in the options. I use the tse.ini for the parameters so that is just adding an extra line and enabling that line to make it active and test with,
like

// executableGitS=g:\versioncontrol\git\smartgit\git\bin\git.exe
// executableGitS=g:\cygwin\bin\git.exe
executableGitS=g:\versioncontrol\git\gitscm\bin\git.exe

Thanks

Guy Rouillier

unread,
Nov 25, 2022, 9:33:20 PM11/25/22
to Semware TSE Pro
I'm curious how you will support the functions you mentioned you'd like to include:

* Think thus about e.g. clone, fetch, pull, push your work to and from remote repository from within TSE.

* And similarly add, commit, ... to a local repository of the currrently edited TSE file.

That's a lot of diverse capability. You'll need to allow the user to select which action he/she would like to take; that's too much to assign to different keystrokes.  And then you'll need to enable them to enter the appropriate data for each of those actions.  If you look at SmartGit for those actions, there are numerous options.  How do you plan to allow the user to specify those options without some sort of data entry fields, drop down lists, etc?  I would definitely use this if it were easy to use and presented in an understandable fashion.

But I would again suggest you limit your scope.  Various git clients like SmartGit are available at no cost for personal, non-commercial use; most developers that are working on non-trivial projects will probably have one installed.  So, the capabilities you provide within TSE should only address those cases that are simple and quick, such that a developer would prefer to perform the action in TSE rather than mouse-click over to a full Git client.

As a point of reference, when I was working, I used Eclipse for development work with Java.  Eclipse has Git capabilities available.  But I didn't bother with them because I was already proficient with SmartGit.

--
Guy Rouillier
--

---
You received this message because you are subscribed to the Google Groups "SemWare TSE Pro text editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to semware+u...@googlegroups.com.

knud van eeden

unread,
Nov 25, 2022, 10:07:40 PM11/25/22
to Semware TSE Pro
> Guy wrote:
>I'm curious how you will support the functions you mentioned you'd like to include:
>> * Think thus about e.g. clone, fetch, pull, push your work to and from remote repository from within TSE.
>> * And similarly add, commit, ... to a local repository of the currrently edited TSE file.
> That's a lot of diverse capability. 
> You'll need to allow the user to select which action he/she would like to take; that's too much to assign to different keystrokes.  
> And then you'll need to enable them to enter the appropriate data for each of those actions.  
> If you look at SmartGit for those actions, there are numerous options.  
> How do you plan to allow the user to specify those options without some sort of data entry fields, drop down lists, etc?  
> I would definitely use this if it were easy to use and presented in an understandable fashion.

Input editing of parameters (git executable, current local repository directory, remote repository directory (GitHub, GitLab, ...) is in tse.ini

I have basically 2 TSE programs.

One with single commands, like git add, git commit, git fetch, git pull, git push, , create a directory, choose a directory, read information, ... (see first screenshot).

The other program (see second screenshot) with composite commands. It calls the other program with the single commands.

Because for example when cloning one first needs to have an empty directory, then pull from the remote directory, so at least 2 single commands, in a certain order.

The single steps, basically a simplest program thus, are stored in a string like "s010 s015 s009 ..."

It steps then through the actions s010, s015, s009, ... step by step. by extracting the steps one by one from the left to the right.

The idea that it is a very simple wizard program thus.

---

> But I would again suggest you limit your scope.  Various git clients like SmartGit are available at no cost for personal, non-commercial use; most developers that are working 
> on non-trivial projects will probably have one installed.  So, the capabilities you provide within TSE should only address those cases that are simple and quick, such that a 
> developer would prefer to perform the action in TSE rather than mouse-click over to a full Git client.

Sure, but that is then an AND AND, you can use and TSE and that external program.

---

> As a point of reference, when I was working, I used Eclipse for development work with Java.  Eclipse has Git capabilities available.  
> But I didn't bother with them because I was already proficient with SmartGit.

Yes, Eclipse has many possibilities, I use it too sometimes. 

But in general all such programs have so many options, all non-linearly spread through the program which you really need to know, or lookup what to do e.g. on Google, ask somebody else, ...

The best thing would be to have a kind of a wizard which steps you through the necessary steps.


with friendly greetings
Knud van Eeden

Inline image

Inline image


Reply all
Reply to author
Forward
0 new messages