Skip to content

operations

Ganesh Bakkera edited this page Aug 11, 2026 · 1 revision

Operations, Updating & Maintenance

Running URGithub in production, upgrading it, and resetting registrations safely.

Recommended production setup

For a machine containing important repositories, do not immediately enable every automatic trigger. Use this staged progression:

flowchart TD
    A[Stage 1: manual scan] --> B[Stage 2: manual sync]
    B --> C[Stage 3: verify reports]
    C --> D[Stage 4: enable scheduled sync]
    D --> E[Stage 5: enable file watching]
    E --> F[Stage 6: enable startup integration]
    F --> G[Stage 7: enable shutdown quick-push]
Loading

This validates behavior before allowing automation to operate continuously.

Updating URGithub

Before updating:

  1. Finish or stop active URGithub operations.
  2. Verify repository state.
  3. Review the current report.
  4. Back up important configuration/runtime data if required.
  5. Update the URGithub source code.
  6. Run the version command.
  7. Run the environment checks.
  8. Perform a manual scan.
  9. Perform a manual synchronization.
  10. Reinstall/update scheduled integrations if required by the release.
python urgithub.py --version

After a major release, read the release notes before enabling automation again.

Resetting a registration

Configuration, registry information, journals, reports, and managed-repository metadata live in the configured base location. Do not delete the base directory simply to solve an individual repository problem.

Prefer the supported commands:

python urgithub.py --forget NAME   # remove one repository from the registry
python urgithub.py --prune         # remove all stale registry entries

Use python urgithub.py --help to confirm the commands supported by your installed version.

Removing automatic scheduling

python urgithub.py --schedule uninstall
python urgithub.py --schedule status

Removing the scheduled tasks does not delete your repositories or runtime data. It only removes the operating-system scheduling integration managed by URGithub.

Quick verification checklist

After installation, all of the following should be true:

[ ] Python 3.10+ installed
[ ] Git installed
[ ] Git identity configured
[ ] GitHub CLI installed
[ ] GitHub CLI authenticated
[ ] Required repository access available
[ ] URGithub registered
[ ] Base directory created
[ ] Repositories discovered
[ ] Initial scan successful
[ ] Repository verification successful
[ ] First synchronization completed
[ ] report.html generated
[ ] Scheduled triggers tested
[ ] Control Center tested
[ ] File watcher tested if enabled

A production installation should not be considered complete until the manual workflow succeeds.

Reporting a problem

When reporting a problem, include:

Operating system:
Python version:
Git version:
GitHub CLI version:
URGithub version:
Trigger used:
Command executed:
Expected behavior:
Actual behavior:
Relevant report.html information:
Relevant error output:

Do not include GitHub tokens, passwords, private keys, personal access tokens, secrets, or private repository contents. Redact sensitive information before opening an issue.

What URGithub should never be expected to do

URGithub is an automation and safety layer around Git operations. It is not a replacement for Git, GitHub, GitHub authentication, repository backups, source-control understanding, code review, or release management. Important repositories should still have appropriate backups and recovery procedures.

URGithub

URGithub Wiki
The safe, automatic Git repository manager

Version Python License Platform


Getting started

  • Home — overview, pipeline, quick start
  • Installation — requirements, setup wizard, first run

Concepts

Operation

Help


Quick reference

  • --setup · one-time registration wizard
  • --scan · discover repositories (never syncs)
  • --sync · full safe synchronization
  • --report · regenerate report.html
  • --schedule install · install Windows scheduling
  • --run manual · run the manual trigger

Repository ↗ · Issues ↗ · Releases ↗

v0.1.0 · MIT License · © 2026 Ganesh Bakkera

Clone this wiki locally