From owner-freebsd-git@freebsd.org Wed Dec 23 19:30:14 2020 Return-Path: Delivered-To: freebsd-git@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 771D94C9696 for ; Wed, 23 Dec 2020 19:30:14 +0000 (UTC) (envelope-from naddy@mips.inka.de) Received: from mail.inka.de (mail.inka.de [IPv6:2a04:c9c7:0:1073:217:a4ff:fe3b:e77c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4D1NZs5YfPz3sLy for ; Wed, 23 Dec 2020 19:30:13 +0000 (UTC) (envelope-from naddy@mips.inka.de) Received: from mips.inka.de (naddy@[127.0.0.1]) by mail.inka.de with uucp (rmailwrap 0.5) id 1ks9pl-002yIG-5r; Wed, 23 Dec 2020 20:30:05 +0100 Received: from lorvorc.mips.inka.de (localhost [127.0.0.1]) by lorvorc.mips.inka.de (8.16.1/8.16.1) with ESMTP id 0BNJTCah086560 for ; Wed, 23 Dec 2020 20:29:12 +0100 (CET) (envelope-from naddy@lorvorc.mips.inka.de) Received: (from naddy@localhost) by lorvorc.mips.inka.de (8.16.1/8.16.1/Submit) id 0BNJTCaY086559 for freebsd-git@freebsd.org; Wed, 23 Dec 2020 20:29:12 +0100 (CET) (envelope-from naddy) Date: Wed, 23 Dec 2020 20:29:12 +0100 From: Christian Weisgerber To: freebsd-git@freebsd.org Subject: Following src with got (sic!) Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 4D1NZs5YfPz3sLy X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of naddy@mips.inka.de has no SPF policy when checking 2a04:c9c7:0:1073:217:a4ff:fe3b:e77c) smtp.mailfrom=naddy@mips.inka.de X-Spamd-Result: default: False [-2.05 / 15.00]; ARC_NA(0.00)[]; RBL_DBL_DONT_QUERY_IPS(0.00)[2a04:c9c7:0:1073:217:a4ff:fe3b:e77c:from]; FREEFALL_USER(0.00)[naddy]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-git@freebsd.org]; TO_DN_NONE(0.00)[]; AUTH_NA(1.00)[]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[2a04:c9c7:0:1073:217:a4ff:fe3b:e77c:from:127.0.2.255]; RCVD_COUNT_THREE(0.00)[3]; DMARC_NA(0.00)[inka.de]; SUBJECT_HAS_EXCLAIM(0.00)[]; NEURAL_HAM_SHORT(-0.95)[-0.948]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:202113, ipnet:2a04:c9c7::/32, country:DE]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-git] X-BeenThere: freebsd-git@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussion of git use in the FreeBSD project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2020 19:30:14 -0000 Got is a nascent version control system that uses the git repository format and thus has some degree of interoperability with git. http://gameoftrees.org/ People who don't need the full git experience may be able to use got to check out the FreeBSD src repository. There has been some talk of importing got into base as a successor to svnlite. Meanwhile, there's a devel/got port. If you feel overwhelmed by the flood of magic command lines and configuration file sections that are being posted for git... Well, here are some less imposing magic command lines that will also be easier to make sense of from the got(1) man page: Clone the repository: $ cd /somewhere $ got clone -a ssh://anongit@git.freebsd.org/src.git Check out stable/12: $ cd /usr $ got checkout -b stable/12 /somewhere/src.git I verified with "diff -uNr -x .got -x .svn -I '\$FreeBSD.*\$'" that this is indeed identical to a svn checkout. Update your source: $ cd /usr/src $ got fetch $ got update -b origin/stable/12 $ got rebase stable/12 This is the standard configuration which allows you to have changes on a local branch distinct from the upstream origin/* one. If you are sure you don't need this, you can simplify things by cloning a mirror of the original repository: $ got clone -a -m ssh://anongit@git.freebsd.org/src.git ... and updating your checked out source will simply be: $ cd /usr/src $ got fetch $ got update You may also want to give the tog(1) repository browser a spin. Very handy to figure out who, say, probably broke wcwidth()... Check it out! (pun intended) - - - - - At this time, got does not yet support cloning/fetching over https, pushing to a remote repository, or garbage collection. Git can be used to supply missing functionality for the time being. -- Christian "naddy" Weisgerber naddy@mips.inka.de