wiagit

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Post Reply
Message
Author
wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

wiagit

#1 Post by wiak »

I haven't tested this much as yet - usual disclaimers apply regarding it not being guaranteed for any purpose and use at your own risk etc.

wiagit requires gtkwialog 0.8.5 or above
It also depends on git, and optionally, gitk visualiser (which itself depends on tcl/tk that wiagit otherwise doesn't


For Puppy dotpet versions you may need to update your Puppy Package Manager database to install git and optional gitk. Also since gtkwialog contains all gtkdialog functionality and more you can replace legacy gtkdialog with gtkwialog and make gtkdialog (gtkdialog3 etc) symlink(s) to the installed gtkwialog binary (though you can keep both on your system if you wish).

For more advanced git users now includes button for wiagit mini gui (provides more screen realestate and not so many tabs needing clicked...).

Installing: Remember to remove old ~/.wiagit config before installing.
and Remember to install gtkwialog if not already on your system (legacy gtkdialog will not work with wiagit). On XenialDog64 at least, re-installing gtkdialog will work since that particular gtkdialog deb actually contains correct gtkwialog internally (with gtkdialog a symbolic link to that). Indeed, if wiagit doesn't seem to be working, almost certainly you have forgotten to install gtkwialog and made sure gtkdialog is a symlink to that. As an alternative to DDog repo, correct version of gtkwialog can also be found at this following forum post (but you have to create the symlink from /usr/bin/gtkdialog to it yourself):

http://www.murga-linux.com/puppy/viewtopic.php?p=998797

EDIT: Of course, if you've stored your own combobox command lists, you should back these up for re-insertion.

The programs: wiagit and wiagit-mini (wiagitm) can be run from either the Start -> Development menu on Dogs (will probably be under Utilities for the dotpet version) or from the command line. wiagit-mini can also be activated from wiagit-mini button on main wiagit gui. Note that you can have more than one instance of wiagit/wiagitm running (though they share the same combo cmd_lists).

wiagit now also has improved terminal handling; including my attempt to position the terminal more appropriately. Note that program auto-detects your available terminals and chooses roxterm as first priortiy if found. You can also start the program from a terminal and keep that terminal type; to do so you should add a t to the end of the program name. For example, start it with wiagitt rather than wiagit. You can also start the mini version separately with wiagitm (or wiagitmt if wanting to use original start up terminal for the outputs).

Overview

I needed a frontend for git commands for programming projects (or for general document-management/version-control). Hence the birth of wiagit.

wiagit is a GUI frontend for git, git documentation and
a general purpose user-editable commandline storage program.

Uploading here in case anyone else finds it useful for learning and using git along with a place to store away your favourite command lines (editable combobox lists).

deb file attached along with some screenshots. Developed and tested on XenialDog64 but should work on most systems that have git, and gtkwialog installed.

EDIT: I didn't actually really understand how to use git/github prior to writing this app. Hence when I created DebianDog gtkwialog repo all I was able to do at that stage was copy all my new sources there. But that's hopeless since it loses all the previous gtkdialog tracking history. Now I can redo the fork to address that previous inability of mine...

wiak
Attachments
wiagit-0.0.3-all.pet
For Puppy - tested on XenialPup32 but fine for Xenial64 and Bionic too
(17.82 KiB) Downloaded 176 times
wiagit_0.0.3_all.deb.tar
Remove old ~/.wiagit and dummy tar before install
(13.25 KiB) Downloaded 182 times
wiagit_minu_screenshot.jpg
(30.85 KiB) Downloaded 319 times
wiagitTab1.jpg
(43.24 KiB) Downloaded 536 times
wiagitTab2.jpg
(50.36 KiB) Downloaded 492 times
wiagitTab3.jpg
(35.93 KiB) Downloaded 494 times
wiagitOtherCMDtab.jpg
(43.92 KiB) Downloaded 476 times
Last edited by wiak on Sun 05 Aug 2018, 08:42, edited 30 times in total.

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#2 Post by wiak »

Very basic Intro on how to create and track a local repo.

1. Run wiakgit. Put the startup terminal on top window layer and position it so it can be seen whilst you run the commands in wiakgit.

2. In Start tab: START working with Git
Using the directory chooser, 'Create' a new folder/directory somewhere you wish and call it testrepo.

3. Press the Home button and File Manager will open in testrepo directory.

4. Create a new file named file1 in that testrepo directory, edit it by putting in content text: "This is the first version". Save the edited file.

5. In Initialise tab:
a. If not already done, fill in values for --global user.name, user.email, core.editor. If editor is geany, you need to enter geany -i (the -i means new instance of geany will always be used, which git requires).

Press button: [RUN above git config commands]

b. Enter commit message as "First commit" and then:

Press button: [RUN above commands once only per directory you want tracked by git]

As you should be able to see in Initialise tab, the above actually runs commands:

Code: Select all

git init
git add .
git commit -m "First commit"
and prints some info output with:

Code: Select all

git config --list
git log
Congratulations, the testrepo directory contents is now being tracked by git on your local system.

6. To CHECK your tracked testrepo status do the following:

a. In Local3 tab: [RUN command]: git status | tee /dev/tty. Result should be:
On branch master
nothing to commit, working directory clean.
b. You can also press button [RUN gitk visualizer] to get an illustrated graph view of your commit history.

7. Let's now a) modify file1, and b) add it to your git staging area (index) so that it is ready to be commited:

a. Edit file testrepo/file1 and append line "First mod of file1". Save the file.
b. In Local2 tab: [RUN command]: git add file1 | tee /dev/tty (you need to manually type into the visible git status combobox entry so that it contains that exact command).

That command stages (indexes) the modified file1 ready to be committed.

c. CHECK your tracked testrepo master branch status again via Local3 tab RUN command: git status | tee /dev/tty
You should see that the "Changes to be committed" are/is the "modified: file 1".

8. In Local2tab: now commit it with [RUN command] commit | tee /dev/tty

Your editor should open up with the cursor in position for you to enter your commit message. Let's simply add message "My second file1 commit". As soon as you exit the editor (make sure you save) the commit should happen.
(Alternatively you could have modifed the commit command to "commit -m "My second file1 commit" | tee /dev/tty; then no editor is needed since commit message already provided).

9. CHECK result again via Local3 tab RUN status command, and/or can also use [RUN gitk visualizer]

10. You can also view the HISTORY of all you commits using History tab: [RUN command] git log | tee /dev/tty

That's a start... I haven't included how to push your repo up to github in this simple introduction.

For that and more, you have to read some git tutorials...

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#3 Post by wiak »

Second method of using wiagit is to simply use it as a documentation and command-store helper application and run the actual commands in a separate terminal altogether. I personally find that easier (once I mastered git basics) since I don't have a particularly large screen and it is faster than having to jump between tabs once I know what I am doing.

Eventually, I may change the interface once I have determined the advantages/disadvantages of the arrangement. Then again, I may never get round to any such update...

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#4 Post by wiak »

I re-uploaded wiagit to first post of thread. Just a minor cosmetic change but didn't want to package as a new version. Just had trouble seeing some of the git command modes so added a bold highlight so that I could visually locate them quicker.

Only testing would reveal what changes would make wiagit more useful/user-friendly (I was doing a little testing...).

EDIT: I found another good git guide you might like to add to your wiagit "More Docs" combobox (under Start tab):

A Visual Git Reference

http://marklodato.github.io/visual-git- ... ex-en.html

wiak

darry19662018
Posts: 721
Joined: Sat 31 Mar 2018, 08:01
Location: Rakaia
Contact:

#5 Post by darry19662018 »

@Wiak - Wiki entry here: http://puppylinux.org/wikka/Wiagit

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#6 Post by rockedge »

very cool....will come in handy and at the right moment too!

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

wiagit 0.0.2 uploaded

#7 Post by wiak »

New version (0.0.2) uploaded to first post of this thread. Easier to use GUI and improved terminal sizing/positioning.

IMPORTANT Before installation of this new version (which has some additional combobox cmd_lists) you need to remove your old $HOME/.wiagit folder (apt purge wiagit doesn't remove that automatically).

This new version has much improved terminal handling as well as a quicker to use mini-gui version for more experienced users.

Summary:
For more advanced git users now includes button for wiagit mini gui (more screen realestate and not so many tabs needing clicked...). Also improved terminal handling; including my attempt to position the terminal more appropriately.

Note that program auto-detects your available terminals and chooses roxterm as first priortiy if found. You can also start the program from a terminal and keep that terminal type; to do so you should add a t to the end of the program name. For example, start it with wiagitt rather than wiagit. You can alsos start the mini version separately with wiagitm (or wiagitmt if wanting to use original start up terminal for the outputs).

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#8 Post by wiak »

Re-uploaded wiagit version 0.0.2 since I had made a minor mistake...

wiak

Per previous post:

This new version has much improved terminal handling as well as a quicker to use mini-gui version for more experienced users.

Summary:
For more advanced git users now includes button for wiagit mini gui (more screen realestate and not so many tabs needing clicked...). Also improved terminal handling; including my attempt to position the terminal more appropriately.

Note that program auto-detects your available terminals and chooses roxterm as first priortiy if found. You can also start the program from a terminal and keep that terminal type; to do so you should add a t to the end of the program name. For example, start it with wiagitt rather than wiagit. You can alsos start the mini version separately with wiagitm (or wiagitmt if wanting to use original start up terminal for the outputs).

wiak

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#9 Post by rockedge »

thank you for the work wiak

this is working better than expected.

I would like to use it also for https://notabug.org/ which uses the same git commands

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#10 Post by wiak »

Just post any bugs etc that you find here.

I'm already working on 0.0.3 version but won't upload till something major added (Currently just moved 'open git repo folder' button on to General Control bar so always available, and wiagitm (mini gui) now saving the Repo Directory entry (only main wiagit used to do that).

Actually, the folder I develop wiagit in has now been made into a local git repo by wiagit itself, so I'm using it to track progress (including cherrytree docs I store in same folder to track my personal Git learning notes. Mainly just involves three or four of the main commands (so mainly using mini-gui version):

1. First, made the dir into a git repo (using button on Initialise tab of wiagit), and made first commit from there (from another single button push on wiagit Initialise).

2. Then after a few file mods (including any changes to my cherrytree notes), I just press "status" button to see what I've been doing and add (stage) and commit the mods with inbuilt combobox command:

Code: Select all

commit -a -m "whatever commit message I want to use" | tee /dev/tty
3. If I add a new file (that isn't therefore yet being tracked), I first arrange its tracking (i.e. stage it in the git index) with:

Code: Select all

git add .
i.e. I just stage 'everything' in the folder (tho I could instead replace dot with the actual filename). Then run the above commit command again (and check status if I want to).

4. To get back old versions, I just run 'git log' to see all the previous commits and get back any one of them via the SHA 'name' the log output gives me, via command:

Code: Select all

git checkout SHAhash_name | tee /dev/tty
It almost seems like magic that that command changes the files in the directory being tracked back to how they were (but all versions remain stored away in its .git directory).

Then when I want to get back to latest version, I just run:

Code: Select all

git checkout master
which auto-magically puts the main (working) directory back to latest files.

Simple as that most of the time. (Though can of course 'tag' any commit with an easy to remember name, or 'start' a separate branch at anywhere along the line of progress - just another reference name really...)

Could do all the above straight from terminal commandline of course - but nice to have it all set up in wiagit/wiagitm - especially since there are lots of other commands and help resources there for when I wish to push to (or pull from; i.e. syncing) an online repo on github or wherever.

Of course, I don't really need github or similar; I can just backup the resulting .git dir onto my google drive or similar since .git contains the whole database including its history.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#11 Post by wiak »

wiagit/wiagitm ver 0.0.3 deb file uploaded

# License: MIT (aka X11 license)
# Depends: bash, gtkwialog 0.8.5+, git
# Change log:
# 0.0.1 (YMD) 2018/06/31: first version
# 0.0.2 (YMD) 2018/08/02: added quick General Controls, and wiagitm mini version
# 0.0.3 (YMD) 2018/08/05: moved open home dir button to General Controls, fixed config passing to wiagitm

Remember to remove old ~/.wiafit config before installing.
and Remember to install gtkwialog if not already on your system (legacy gtkdialog will not work with wiagit). On XenialDog64 at least, re-installing gtkdialog will work since that particular more recent gtkdialog deb actually contains gtkwialog internally (with gtkdialog a symbolic link to that). Indeed, if wiagit doesn't seem to be working, almost certainly you have forgotten to install gtkwialog and made sure gtkdialog is a symlink to that. Correct version of gtkwialog can be found at following post:

http://www.murga-linux.com/puppy/viewtopic.php?p=998797

EDIT: Of course, if you've stored your own combobox command lists, you should back these up for re-insertion.

The programs: wiagit and wiagit-mini (wiagitm) can be run from either the Start -> Development menu on Dogs (will probably be under Utilities for the dotpet version) or from the command line.

EDIT: Note that tcl/tk is installed as dependencies for gitk visualiser. The main wiagit/wiagitm programs don't themselves need that, so if you don't want tcl/tk included just remove gitk as a dependency (only the otherwise optional gitk visualiser button wouldn't do anything then of course).

I plan to also upload dotpet for this and also gtkwialog in the next few days.

Please let me know if you find any bugs etc.

EDIT: I quickly re-uploaded with minor change that simply displays message if gtkwialog not found. One person had already downloaded prev upload, but functionality is otherwise identical.

wiak

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

#12 Post by wiak »

Dotpets for many Puppy systems now also released for this latest wiagit 0.0.3 version. Find attached, with details on use, in first post of this thread. For best experience I suggest installing Roxterm on Pups since that terminal seems to position itself correctly according to program-start-script-provided geometry settings. Otheriwise you may need to size and position the terminal used manually so you can see the wiagit outputs as you use it. xterm on XenialPup32, for example, only gets the size part correct (presumably it isn't the real xterm but a symlink to something else). Also it is extremely useful to be able to easily copy and paste from the terminal and roxterm provides right-click copy and paste functionality (but not ctrl-C for copy since that is by default used for SIGINT interrupt).

For Pup systems, program can be started from JWM menu -> Utility -> wiagit (or wiagitm for the mini-gui version). Also can be started from any terminal (from which it will autostart its own terminal for outputs; roxterm gets priority there). Finally, you can get outputs on terminal of your choice by simply starting it from that terminal but with a t added to end of program name (e.g. wiagitt instead of wiagit; wiagitmt instead of wiagitm).

Since it uses gtkwialog, wiagit will run fine on systems that use either ash, or dash, or bash (etc) as their underlying system shells. You need to also install git program itself of course for the underlying git command functionality. On XenialPup32 system I tested wiagit on, I first had to update the Puppy Package Manager Ubuntu databases before I could find git to install it. I also recommend installing the optional gitk GUI visualiser program (though that does install extra deps such as tcl/tk - if you don't want that, just don't install gitk part...)

wiak

Post Reply