back to home

catpuppyapp / PuppyGit

An android git client

View on GitHub
721 stars
129 forks
15 issues

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing catpuppyapp/PuppyGit in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/catpuppyapp/PuppyGit)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

简体中文 PuppyGit PuppyGit is A Git Client for Android, Open Source and No Ads and Free to use Author PuppyGit made by Bandeapart1964 of catpuppyapp Star + Donate , it will help me continuously maintenance this app! I appreciate every donator and user, especially donators! You give me faith! I hope have a day I can got 1M users and many donators! XD Demo Video: Clone A Repo Obsidian + PuppyGit Markor + PuppyGit Markdown Preview Switch DarkMode and Chinese Resolve Conflicts/Squash Commits Auto Sync Obsidian Vault PuppyGit + Tasker Download PS:If you are an old user, maybe you was saw "PuppyGit Pro",and now it's disappeared, Don't worry, No Difference Of "PuppyGit Pro" and "PuppyGit", just changed the name for simple. PuppyGit + Notes App = A new way to sync your notes on Android! Not only sync codes, You can use PuppyGit sync your notes repository create by note-taking apps like: Obsidian / Markor or Other! also see: Auto Sync Obsidian Vault Tasker You can call PuppyGit by Tasker via Http Request, check the demo video: PuppyGit + Tasker 2fa If your github/gitlab or other platforms account enabled 2fa, you may need create a personal access token instead your password see: github create personal access token gitlab create personal access token Screenshots Features • fetch • merge • pull • push • files explorer • simple file editor (only utf8 supported) • commit history (git log) • shallow clone(git clone with depth) • rebase • cherry-pick • patch • reflog • tags • stashes • remotes • branches • submodules • squash commits • reset • resolve conflicts • markdown preview • auto pull/push when enter/exit specified apps(useful for auto sync note taking app like obsidian/markor) • call pull/push/sync by tasker or other automation tools via http service Editor Due to PuppyGit's Editor very basic and I have no plan to implement a complex editor for now. so I recommend some editors I was tried: code editor: https://github.com/massivemadness/Squircle-CE , markdown editor: https://github.com/gsantner/markor After installed, you can use PuppyGit's "Open As" feature to launch them in PuppyGit. About ssh when first time connect to an unknown host, PuppyGit will ask you allow/reject as default, its more safety, also, if you want, you can allow unknown hosts by default, just checkout the Settings page. note: PuppyGit only require private key and passphrase for connect to remote repo by ssh, it doesn't support generate ssh keys, if you want to generate ssh keys on android, try another app of mine: Ssh Key Man About signing commit/tag see: https://github.com/catpuppyapp/PuppyGit/issues/4 About PC version see: https://github.com/catpuppyapp/PuppyGit/issues/11 Build import project to Android Studio, then build, that's all. (android NDK is required) if you want to build libs by your self The workflow describe how to build libs and the apk Security I recommend every user set a master password, it will used to encrypt password/passphrase of your credentials, you can set it on Settings screen. If you don't set master password, will use a public default password encrypt your credential, it is not enough safe cause it is public and actually no way hidden it. Help translate if your language added • find the in the • update it • send pr if your language not added • Download strings.xml • Translate the file's values to your language, e.g. to • Create an issue attaching the file you was translated, the issue should tell which language you translated to Then I'll add your language into PuppyGit in further version, after added, if have new strings need translate, you can simple update existed in the PuppyGit project then send a pr to update it. The placeholder I haven't use the default placeholder, because if it missed in the xml file, may cause app crashed, in my , The strings like "ph_a3f241dc_NUMBER" are the placeholders, the last NUMBER is order, e.g. a string resource , will replaced when running, it maybe will show as: , if you have mistake with the order number, e.g. , it may cause app show wrong text like I recommend • use "…" as ellipsis sign, rather than "...", because the former actually is shorter, only 1 char • don't delete the strings which need not translate, if you deleted, the origin english strings.xml will got a lot of err on the ide, so keep the english elements in your strings.xml even you don't need translate them. How I update existed languages If I need add some simple words, I'll use AI translate to existed languages, if you found anything words wrong, you can fork my repo and update it, then send a pr. If I need add some complex and long sentence, I'll create an issue and notice the translators, then the translators can fork my repo and update the strings.xml of their language, then send a pr to me. Contributors username will display in the About screen of PuppyGit, if you don't want to your name presence in the list, you can send an email to me or create an issue to tell me. btw. you can find my email by click "Contact Author" in the About screen of PuppyGit Comments in code this project has many chinese comments, and some comments are out-of-date or nonsense, I have no plan to clean them, but if you read the codes, and you wonder know some comments meaning, try translator or ask me is ok Credits Logo The PuppyGit logo designed by Bandeapart1964(myself) The Git Logo in PuppyGit logo is created by Jason Long, is licensed under the Creative Commons Attribution 3.0 Unported License. ( The Git Logo ) Libs The built from libgit2 1.9.2 ( LICENSE ) The built from libssh2 1.11.1 ( LICENSE ) The 's source code is edited from Git24j and A fork of Git24j ( LICENSE )(I've sent pr after I made changes and tested) The and built from openssl 3.6.1 ( LICENSE ) The Editor of PuppyGit is modified from kaleidot725's text-editor-compose ( LICENSE ) Other Files The Log class changed from: changyiqiang's blog The related util classes copied from ZhangHai's Material Files ( LI…