git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/6] Port git to Plan 9

From
Kyohei Kadota <lufia@lufia.org>
Date
Aug 4, 2019, 02:22 UTC
Message-ID
<CAFMepcm6QVH+5H6on2hoWiMXd=Zoyi5MYP1GAt0WwixZN9oE_Q@mail.gmail.com>
In-Reply-To
<20190804003816.GE118825@genre.crustytoothpaste.net>
2019-08-04(Sun) 9:38 brian m. carlson <sandals@crustytoothpaste.net>:
Show 39 quoted lines
>
> On 2019-08-03 at 23:52:08, KADOTA, Kyohei via GitGitGadget wrote:
> > I ported git, and git subcommands only written in C to Plan 9. This pull
> > request contains patches for existing codes, and new files to build git in
> > Plan 9.
> >
> > All build options such as NO_PERL are not supported yet, and also some git
> > subcommands written not in C is not available yet. But git can synchronize
> > to remote repository with git pull and git push via HTTPS.
> >
> > This pull request don't contain a part of Git toolchain for example
> > git-credential-store, etc. So I'm going to port other parts of Git toolchain
> > too in the future.
>
> This series seems to build a whole new build system that uses Plan 9
> tools. Typically the way ports to non-POSIX platforms (such as Windows)
> have been handled is that the Unix tools, including GNU make, have been
> ported to those platforms, and the POSIX (or POSIX-ish) environment used
> there.
>
> I'm concerned that by introducing a whole bunch of new, Plan 9-specific
> build code, we're going to have it fall behind with features or bug
> fixes, because none of the main developers test on Plan 9, and most
> contributors will not have the Plan 9 skills or systems to maintain the
> code.
>
> In addition, the editor used by git commit and other commands invokes
> "sh", but you've set this to "rc". That's completely different from the
> way that all other environments work, and it means that Git on Plan 9
> operates in a totally different, incompatible way there. We also use a
> POSIX shell for the testsuite, and we rely on it quite heavily. rc is
> not going to cut it there.
>
> Plan 9 has a POSIX environment, and I think it might be a better idea to
> require that as a condition for building and running Git. It will likely
> be a lot easier, at least.
> --
> brian m. carlson: Houston, Texas, US
> OpenPGP: https://keybase.io/bk2204

I think it is possible to replace rc with ape/sh, ape/sh is POSIX shell in Plan 9.

However Plan 9 don't have recent versions of Unix tools, such as gcc, g++, autotools, gmake or perl, so it is VERY hard to use Makefile instead of mkfile.

Previous: brian m. carlsonNext: Jonathan Nieder
Message 12 of 17 in “Port git to Plan 9”
  1. 0/6 Port git to Plan 9KADOTA, Kyohei via GitGitGadget, Aug 3, 2019
  2. 2/6 Fix C syntactic errors for the Plan 9 C compilerlufia via GitGitGadget, Aug 3, 2019
  3. 4/6 Port generate-cmdline.sh to rclufia via GitGitGadget, Aug 3, 2019
  4. 1/6 Change HOME, PATH, and .gitconfig paths to be customizablelufia via GitGitGadget, Aug 3, 2019
  5. 3/6 GIT-VERSION-GEN: Use sed instead of exprlufia via GitGitGadget, Aug 3, 2019
  6. Junio C HamanoAug 5, 2019
  7. 5/6 Add plan9/wrap.clufia via GitGitGadget, Aug 3, 2019
  8. brian m. carlsonAug 4, 2019
  9. Kyohei KadotaAug 4, 2019
  10. 6/6 Add mkfile to build git and subcommands for Plan 9lufia via GitGitGadget, Aug 3, 2019
  11. brian m. carlsonAug 4, 2019
  12. Kyohei KadotaAug 4, 2019
  13. Jonathan NiederAug 4, 2019
  14. 0/3 Port git to Plan 9KADOTA, Kyohei via GitGitGadget, Aug 27, 2019
  15. 1/3 Change HOME, PATH, and .gitconfig paths to be customizablelufia via GitGitGadget, Aug 27, 2019
  16. 2/3 Fix C syntactic errors for the Plan 9 C compilerlufia via GitGitGadget, Aug 27, 2019
  17. 3/3 Support Plan 9 dialectlufia via GitGitGadget, Aug 27, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.