From owner-freebsd-git@freebsd.org Sat Nov 28 11:13:02 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 7F4E147D721 for ; Sat, 28 Nov 2020 11:13:02 +0000 (UTC) (envelope-from uqs@freebsd.org) Received: from acme.spoerlein.net (acme.spoerlein.net [IPv6:2a05:fc87:1:5::15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "www.spoerlein.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Cjpkk0hcSz3jtN for ; Sat, 28 Nov 2020 11:13:01 +0000 (UTC) (envelope-from uqs@freebsd.org) Received: from localhost (acme.spoerlein.net [IPv6:2a05:fc87:1:5:0:0:0:15]) by acme.spoerlein.net (8.16.1/8.15.2) with ESMTPS id 0ASBCnkw010239 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sat, 28 Nov 2020 12:12:51 +0100 (CET) (envelope-from uqs@freebsd.org) Date: Sat, 28 Nov 2020 12:12:49 +0100 From: Ulrich =?utf-8?B?U3DDtnJsZWlu?= To: Dan Langille Cc: Warner Losh , freebsd-git@freebsd.org Subject: Re: git vs svn for vendor/bc/dist Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.0.1 (2020-11-14) X-Rspamd-Queue-Id: 4Cjpkk0hcSz3jtN X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[freebsd.org]; ASN(0.00)[asn:39540, ipnet:2a05:fc87::/32, country:CH] 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: Sat, 28 Nov 2020 11:13:02 -0000 On Fri, 2020-11-27 at 14:03:14 -0500, Dan Langille wrote: >On Fri, Nov 27, 2020, at 1:57 PM, Warner Losh wrote: >> Hey Dan, >> >> On Fri, Nov 27, 2020 at 11:25 AM Dan Langille wrote: >>> I am trying to understand how git handled this subversion commit: >>> >>> https://svnweb.freebsd.org/base?view=revision&revision=368062 >>> >>> The file paths are vendor/bc/dist/.gitignore etc. >>> >>> On git, we have https://github.com/freebsd/freebsd/commit/982c17586e39a3d0655b62da43a5642b69ab2af0 >>> >>> It looks to be the same list of files, but without the vendor/bc/dist/ prefix. >>> >>> The files all seems to be in the base directory. >>> >>> Can anyone explain this for me please? Should they not have the same path? >> >> git and svn are different in how they handle labeling interesting bits of the tree. >> >> subversion has one large tree as its name space. So all tags and branches are done in the context of that tree via copy commands. Creation / changing of tags also consumes a subversion revision. >> >> git has two name spaces, though. One for tall the files, and a separate one for tags and branches. Tags and branches are not versioned in git, so they don't create a new hash. >> >> The upshot of all this is that the vendor branch in git looks somewhat different than a vendor branch in subversion, and this is what you are seeing. >> >> After the holiday weekend, I should have the 'how to do vendor branches in git' written up and, if I did my job right, it should become more clear. > >From a FreshPorts point of view, I need to be able to tell where the files are located. > >My usual git queries gave the 'wrong' answers. The files are located in the vendor/bc/dist branch, and they just sit there at the "top-level", if you will. This is similar to the CVS days basically, it's only SVN that is "weird" in this regard. The prefixes were undone with the "flattening the vendor area" commits post SVN conversion, and I wonder whether we need to bring back the contrib/foo prefixes for all the vendors, to de-confuse git's merging. Warner and Ed should know better if that would help. hth Uli