From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20181 invoked from network); 17 May 2021 05:18:53 -0000 Received: from 1ess.inri.net (216.126.196.35) by inbox.vuxu.org with ESMTPUTF8; 17 May 2021 05:18:53 -0000 Received: from 5ess.inri.net ([107.191.111.177]) by 1ess; Mon May 17 01:13:12 -0400 2021 Received: from [127.0.0.1] ([104.59.85.219]) by 5ess; Mon May 17 01:13:11 -0400 2021 Date: Mon, 17 May 2021 01:13:10 -0400 From: Stanley Lieber To: 9front@9front.org In-Reply-To: References: Message-ID: <369A65E4-CFFE-4BE9-83E8-1F7E41905B32@stanleylieber.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: private advanced dependency-scale wrapper locator Subject: [9front] Fwd: [9front-commits] ori: hg/plan9front: git: got git? Reply-To: 9front@9front.org Precedence: bulk right on=2E sl -------- Original Message -------- From: The Computer Sent: May 16, 2021 9:50:31 PM EDT To: 9front-commits@9front=2Eorg Subject: [9front-commits] ori: hg/plan9front: git: got git? details: http://code=2E9front=2Eorg/hg/plan9front/rev/d48388affe2e changeset: 8459:d48388affe2e user: Ori Bernstein date: Sun May 16 18:49:45 2021 -0700 description: git: got git? Add a snapshot of git9 to 9front=2E diffstat: sys/man/1/git | 643 +++++++++++++++++ sys/man/4/gitfs | 112 +++ sys/src/cmd/git/add | 39 + sys/src/cmd/git/branch | 109 ++ sys/src/cmd/git/clone | 115 +++ sys/src/cmd/git/commit | 150 ++++ sys/src/cmd/git/compat | 158 ++++ sys/src/cmd/git/conf=2Ec | 97 ++ sys/src/cmd/git/delta=2Ec | 219 +++++ sys/src/cmd/git/diff | 37 + sys/src/cmd/git/export | 89 ++ sys/src/cmd/git/fetch=2Ec | 316 ++++++++ sys/src/cmd/git/fs=2Ec | 853 ++++++++++++++++++++++ sys/src/cmd/git/git=2Eh | 303 ++++++++ sys/src/cmd/git/import | 99 ++ sys/src/cmd/git/init | 38 + sys/src/cmd/git/log=2Ec | 329 ++++++++ sys/src/cmd/git/merge | 47 + sys/src/cmd/git/mkfile | 57 + sys/src/cmd/git/objset=2Ec | 67 + sys/src/cmd/git/ols=2Ec | 170 ++++ sys/src/cmd/git/pack=2Ec | 1712 ++++++++++++++++++++++++++++++++++++++= ++++++++ sys/src/cmd/git/proto=2Ec | 459 ++++++++++++ sys/src/cmd/git/pull | 82 ++ sys/src/cmd/git/push | 51 + sys/src/cmd/git/query=2Ec | 196 +++++ sys/src/cmd/git/rebase | 92 ++ sys/src/cmd/git/ref=2Ec | 677 ++++++++++++++++++ sys/src/cmd/git/repack=2Ec | 85 ++ sys/src/cmd/git/revert | 19 + sys/src/cmd/git/rm | 3 + sys/src/cmd/git/save=2Ec | 401 ++++++++++ sys/src/cmd/git/send=2Ec | 272 +++++++ sys/src/cmd/git/serve=2Ec | 558 ++++++++++++++ sys/src/cmd/git/util=2Ec | 321 ++++++++ sys/src/cmd/git/walk=2Ec | 333 ++++++++ 36 files changed, 9308 insertions(+), 0 deletions(-) diffs (truncated from 9488 to 300 lines): diff --git a/sys/man/1/git b/sys/man/1/git new file mode 100644 --- /dev/null +++ b/sys/man/1/git @@ -0,0 +1,643 @@ +=2ETH GIT 1 +=2ESH NAME +git, git/conf, git/query, git/walk, git/clone, git/branch, +git/commit, git/diff, git/init, git/log, git/merge, git/push, +git/pull, git/rm, git/serve +\- Manage git repositories=2E + +=2ESH SYNOPSIS +=2EPP +=2EB git/add +[ +=2EB -r +] +=2EI path=2E=2E=2E +=2EPP +=2EB git/rm +=2EI path=2E=2E=2E +=2EPP +=2EB git/branch +[ +=2EB -adns +] +[ +=2EB -b +=2EI base +] +=2EI newbranch +=2EPP +=2EB git/clone +[ +=2EI remote +[ +=2EI local +] +] +=2EPP +=2EB git/commit +[ +=2EB -re +] +[ +=2EB -m msg +] +[ +=2EI file=2E=2E=2E +] +=2EPP +=2EB git/compat +=2EPP +=2EB git/conf +[ +=2EB -r +] +[ +=2EB -f +=2EI file +] +=2EI keys=2E=2E=2E +=2EPP +=2EB git/diff +[ +=2EB -c +=2EI branch +] +[ +=2EB -s +] +[ +=2EI file=2E=2E=2E +] +=2EPP +=2EB git/revert +[ +=2EB -c +=2EI commit +] +=2EI file=2E=2E=2E +=2EPP +=2EB git/export +[ +=2EI commits=2E=2E=2E +] +=2EPP +=2EB git/import +[ +=2EI commits=2E=2E=2E +] +=2EPP +=2EB git/init +[ +=2EB -b +] +[ +=2EI dir +] +[ +=2EB -u +=2EI upstream +] +=2EPP +=2EB git/log +[ +=2EB -c +=2EI commit +=2EB | -e +=2EI expr +] +[ +=2EB -s +] +[ +=2EI files=2E=2E=2E +] +=2EPP +=2EB git/merge +=2EI theirs +=2EPP +=2EB git/rebase +[ +=2EB -ari +] +[ +=2EB onto +] +=2EPP +=2EB git/pull +[ +=2EB -f +] +[ +=2EB -q +] +[ +=2EB -a +] +[ +=2EB -u +=2EI upstream +] +=2EPP +=2EB git/push +[ +=2EB -a +] +[ +=2EB -u +=2EI upstream +] +[ +=2EB -b +=2EI branch +] +[ +=2EB -r +=2EI branch +] +=2EPP +=2EB git/serve +[ +=2EB -w +] +[ +=2EB -r +=2EI path +] +=2EPP +=2EB git/query +[ +=2EB -pcr +] +=2EI query +=2EPP +=2EB git/walk +[ +=2EB -qc +] +[ +=2EB -b +=2EI branch +] +[ +=2EB -f +=2EI filters +] +[ +=2EI [files=2E=2E=2E] +] + +=2ESH DESCRIPTION +=2EPP +Git is a distributed version control system=2E +This means that each repository contains a full copy of the history=2E +This history is then synced between computers as needed=2E + +=2EPP +These programs provide tools to manage and interoperate with +repositories hosted in git=2E + +=2ESH CONCEPTS + +Git stores snapshots of the working directory=2E +Files can either be in a tracked or untracked state=2E +Each commit takes the current version of all tracked files and +adds them to a new commit=2E + +This history is stored in the +=2EI =2Egit +directory=2E +This suite of +=2EI git +tools provides a file interface to the +=2EI =2Egit +directory mounted on +=2EI /mnt/git=2E +Modifications to the repository are done directly to the +=2EI =2Egit +directory, and are reflected in the file system interface=2E +This allows for easy scripting, without excessive complexity +in the file API=2E + +=2ESH COMMANDS + +=2EPP +=2EB Git/init +is used to create a new git repository, with no code or commits=2E +The repository is created in the current directory by default=2E +Passing a directory name will cause the repository to be created +there instead=2E +Passing the +=2EB -b +option will cause the repository to be initialized as a bare repository= =2E +Passing the +=2EB -u +=2EI upstream +option will cause the upstream to be configured to +=2EI upstream=2E + +=2EPP +=2EB Git/clone +will take an existing repository, served over either the +=2EI git:// +or +=2EI ssh:// +protocols=2E +The first argument is the repository to clone=2E +The second argument, optionally, specifies the location to clone into=2E +If not specified, the repository will be cloned into the last path compon= ent +of the clone source, with the +=2EI =2Egit +stripped off if present=2E + +=2EPP +=2EB Git/push +is used to push the current changes to a remote repository=2E +When no arguments are provided, the remote repository is taken from +the origin configured in +=2EI =2Egit/config, +and only the changes on the current branch are pushed=2E +When passed the +=2EI -a +option, all branches are pushed=2E +When passed the +=2EI -u upstream +option, the changed are pushed to +=2EI upstream +instead of the configured origin=2E +When given the +=2EI -r +option, the branch is deleted from origin, instead of updated=2E + +=2EPP +=2EB Git/revert +restores the named files from HEAD=2E When passed the -c flag, restores f= iles from +the named commit=2E + +=2EPP +=2EB Git/pull +behaves in a similar manner to git/push, however it gets changes from +the upstream repository=2E +After fetching, it checks out the changes into the working directory=2E +When passed the +=2EI -f +option, the update of the working copy is suppressed=2E +When passed the +=2EI -u upstream +option, the changes are pulled from +=2EI upstream +instead of the configured origin=2E + +=2EPP +=2EB Git/serve +serves repositories using the +=2EI git:// +protocol over stdin=2E +By default, it serves them read-only=2E