GIT Preparation Utility for woofCE Updates: pgitprep-0.6

Miscellaneous tools
Post Reply
Message
Author
User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

GIT Preparation Utility for woofCE Updates: pgitprep-0.6

#1 Post by rerwin »

To be able to easily contribute my fixes and improvements to woofCE, I created 'pgitprep' to handle the routine but complicated functions, in a local version of a GitHub repository. It uses Xdialog and radio buttons to control operations. I added some 'help' explanations for guidance.

Pgitprep allows you to build a local repo from your online fork of woofCE. It is not for other projects, but might be adaptable. It:
  • - builds your local repo from your GitHub fork repo.
    - creates and manages 'branches' that collect related updates for submission to woofCE.
    - lets you edit and import files consistent with the Git environment.
    - invokes a "compare" utility for verifying your changes.
    - invokes 'git gui' to stage and commit the changes.
    - uploads the "commits" to your GitHub repo.
    - synchronizes your copies of the 'testing' branch or or your own branches.
Online in GitHub, you associate those branch commits with a "pull request", which submits them for integration into the 'testing' branch. The woofCE folks will take it from there.

Although it seems reliable, after a couple of years usage and refinement, I offer it as a 'beta' to encourage users to suggest improvements. I do not intend this to become a polished GUI, but to be functional and reliable for those somewhat familiar with the woofCE/GitHub processes (or willing to become so).

I hope this will assist those of you wanting to contribute to woofCE but are put off by the seemingly complex/confusing (command line) interfaces to Git.

To use pgitprep, you must create your own "fork" of woofCE in the GitHub woofCE project. The URL for getting started with woofCE in GitHub is:
https://github.com/puppylinux-woof-CE/woof-CE

You set up a user ID and password; then you click on a 'fork' button there, to create your fork:
https://github.com/(your user ID)/woof-CE

Pgitprep makes it easy for me to send updates to woofCE, and can probably do the same for you.

Note that you may need to install some necessary and optional packages from an online repository. The required packages are 'git' and 'git-gui'. The devx SFS file contains git, so be sure it is loaded. Git-gui may need to be installed with PPM.

Although a compare package (xfdiff of xfdiff-cut) is probably already installed (but needs devx, too), 'kdiff3' or 'meld' produce side-by-side synchronized difference listings that seem easier to understand. You would do well to install one of those. Meld needs about 36 MB of space, kdiff3 around 36 MB if QT is installed (kdiff-qt) or about 264 MB otherwise.

I work in tahr pup with kdiff3, but have now verified that pgitprep and the above work in xenial, bionic64, upupbb and upupcc. (I have not tried it in slacko.)

Pgitprep also works in dpup-stretch but requires installation of some updated perl packages from PPM. If you search for "perl", a window pops up regarding 5 packages that have been updated since those in stretch. The main one to reinstall is perl-modules, but the others probably should be updated, too (although libperl-dev does not show as being available for installation).
  • SUPERCEDED by next posting:
    While I have verified most of the functions, I need to experiment with the "commit" and "pull request" options of git-gui, because my submissions have been done with 'gitg', which has changed since the version I used. Git-gui seems to do the same things plus can generate a pull request. I need to wait until my next woofCE update to try the git-gui way of submitting commits and pull requests. The pgitprep "Push changes" option has been how I submitted commits, then made the pull requests online.
Richard
Attachments
pgitprep-0.6-beta.pet
Puppy Git Preparation Utility for contributing to the woofCE project
Dependencies: git, git-gui, kdiff3/meld/xfdiff
Fixed: Testing branch sync messaging, branch deletion.
(13.03 KiB) Downloaded 114 times
Last edited by rerwin on Sat 15 Jun 2019, 16:38, edited 6 times in total.

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#2 Post by rerwin »

After finding that the 'commit' function would not work, I corrected the script so that git-gui now creates commits and supports 'pushing' them to GitHub, making the Push option of the 'Maintain code' menu unnecessary. I also improved the 'missing dependencies' window and added the input of an email address, to satisfy git-gui. The result is version 0.5.

If you have already created a local repo, simply run the "Connect remote..." option which will request your (GitHub) user ID and an email address (probably same as your GitHub email ). The 'connect' will fail if you have already done it for that local repo -- OK.

In git-gui, when you 'push' a commit to GitHub, you will be prompted for your GitHub user ID and password.

If you want to explore git-gui's features beyond those needed for committing and pushing changes, install gitk to try the menu bar's "Repository" options.

User avatar
rerwin
Posts: 2017
Joined: Wed 24 Aug 2005, 22:50
Location: Maine, USA

#3 Post by rerwin »

Uploaded new version (0.6) to:
- correct messaging for synchronization of the testing branch at the remote forked repo.
- update retained branch name after branch deletion.

Post Reply