| Readme: | Short: Native git client for MorphOS (clone/commit/pull/push) Author: Anders Kjeldsen <kjeldsenanders@gmail.com> Uploader: Anders Kjeldsen <kjeldsenanders@gmail.com> Type: dev/misc Version: 0.12.2 Requires: MorphOS 3.x Architecture: ppc-morphos
am-git is a native git client for MorphOS, written in AmLang. It speaks the git smart protocol directly over TCP/TLS.
Commands: init, clone, fetch, pull, push, commit, add, unstage, rm, mv, status, log, diff, show, branch, tag, checkout, merge, rebase, cherry-pick, revert, reset, merge-base, config and more. Clone/fetch/push/pull work over https:// and http:// remotes (validated byte-for-byte against reference git output on GitHub and a local git http-backend). TLS is linked in statically - no extra libraries to install.
ssh remotes are NOT supported in this MorphOS build yet - use an https:// remote instead (GitHub: use a personal access token as the password).
Per-host credentials can be kept in ENV:AM_GIT_NETRC (netrc format), with AM_GIT_USERNAME/AM_GIT_PASSWORD as a simple single-login fallback.
Set stack to at least 100000 before running.
This is the first MorphOS release of am-git. It matches the m68k AmigaOS release (am-git.lha) feature-for-feature, except for the ssh transport noted above.
Changes in 0.12.2 (large-repo clones and stability): - checkout is now safe like real git: it refuses to overwrite local changes (commit or reset first) and preserves untracked files - previously a branch switch silently clobbered modified files and DELETED untracked ones. reset --hard also keeps untracked files now. - Cloning big repositories works now. Pack indexing is streamed the way real git's index-pack does it - one object at a time instead of unpacking the entire history into RAM - which fixes crashes/corruption when cloning multi-megabyte packs (e.g. from GitHub). Progress is printed while indexing so long clones no longer look hung. - Fixed a batch of crashes on empty/fresh repositories: the first commit in a new repo, diff/reset/merge with an unborn or detached HEAD, and pull without an explicit branch or remote URL.
Changes in 0.12.1 (performance and fixes): - Packed repositories are much faster. am-git now writes a small index (.amidx) next to each packfile, so commands read only the objects they need instead of parsing the whole pack on every run. - status/diff no longer re-hash unchanged files: they use the index's stored size and timestamp (the same trick real git uses), so status is quick even on large trees. - Reading large files is dramatically faster (bulk reads instead of one byte at a time). - Fixed: files that are tracked but sit under a .gitignore'd directory were wrongly reported as deleted; they are now handled like real git. - commit reads user.name / user.email from .git/config and ~/.gitconfig, not just environment variables, so it works on an already-configured repo. - New command: unstage <path> - the inverse of add (like git restore --staged / git reset HEAD <path>). - show <commit>:<path> now prints a file's contents at that commit, and log accepts a start ref (log <branch|tag|commit>).
See am-git_mos.txt in the archive for full usage, the complete command set and credential setup.
|