Date: Thu, 28 Jan 2021 11:45:22 +0100 From: Milan Obuch <freebsd-git@dino.sk> To: Mark Millard <marklmi@yahoo.com> Cc: freebsd-git@freebsd.org Subject: Re: git setup/usage question Message-ID: <20210128114522.2f2beadd@zeta.dino.sk> In-Reply-To: <B8E0C6D7-CCE2-4A8D-8249-140A326DAD98@yahoo.com> References: <20210126151017.4a9dd711@zeta.dino.sk> <YBHTTg9mMYSRsPKO@acme.spoerlein.net> <00F58366-4178-458E-8865-E1A2E5324EB4@yahoo.com> <20210128073315.44377b29@zeta.dino.sk> <1F06D4FA-D3B0-4B25-AC99-14A0F31C2ABF@yahoo.com> <20210128110857.0ff1db28@zeta.dino.sk> <B8E0C6D7-CCE2-4A8D-8249-140A326DAD98@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 28 Jan 2021 02:28:51 -0800, Mark Millard <marklmi@yahoo.com> wrote: > On 2021-Jan-28, at 02:08, Milan Obuch <freebsd-git at dino.sk> wrote: > > > On Thu, 28 Jan 2021 01:44:48 -0800, Mark Millard <marklmi at > > yahoo.com> wrote: [ snip ] > >> I do fetch and the --ff merge separately. I use the --ff > >> style so that if at some point it can not do a fast-forward > >> it will report that and not do something else. Without the > >> --ff , if such a mess-up happens, then it will instead do > >> something else. In other words: I have it validate the > >> expected type of context actually exists. (Paranoia > >> coverage.) > >> > > > > We do not disagree here. Actually git-merge man page tells --ff is > > the default, --no-ff being used in some special case. I could be > > wrong, but to me it looks mentioned special case does not occur > > when tracking stable branch. If, however, something bad happens, I > > can still throw away damaged worktree and create new one from > > scratch. > > The branch in the .git/ would be "damaged". The problem > would not be limited to a worktree's separate directory tree. > (Unless one uses --no-commit on the merge, I guess.) > We'll see. When you do not commit anything into repository for that branch, I can't think of such a possibility. For such case, change flow (propagation) is 'FreeBSD's git server' ->(git fetch)-> local bare repository ->(git merge)-> local worktree. As long as you do not commit anything for given branch, this is unidirectional. Still worst case scenarion would be throwing away whole repository and starting from scratch. I do not think of a disaster which would require this, short of hardware disk failure, but that's it. [ snip ] > >> FYI: Warner documented using worktrees without using --bare > >> for the FreeBSD git context and stated that he would not > >> document --bare use. I tried what he documented and it > >> worked just fine for my use. > >> > > > > As far as I tested for now, the only difference between standard and > > --bare usage is no implicit repository and (main) worktree linkage. > > There may be something else there not discovered yet, but my ongoing > > testing seems to confirm this is actually the case. > > You indicated earlier that --bare disallowed --origin use. I > used the -o freebsd in my clone and have such an origin. I > can use instructions/documentation that presumes the normal > origin configuration --and do so "as is" in the instructions. > Details covered in my setup description, yet to be published. I found a way to overcome this limitation as I tested how to achieve what I want. [ snip ] > >>> I plan to document my setup soon with simple steps to re-create it > >>> and some explanations as well. I do not still understand > >>> everything in detail, but what I tried makes me confident I can > >>> use git this way effectively. > >>> > >> > >> Cool. Sounds like you and David W. may be providing some > >> support for folks that want to use --bare (examples of > >> a couple of ways of using git with --bare for FreeBSD). > >> > > > > If anybody would like to try something and think they could use my > > help, just ask. I am far from git expert, but as I was forced to use > > git now, I found it actually be easy to use and logically built. > > > > I am not happy with dependencies required by our git port, or, more > > exactly, with number of dependencies (some time in past this > > stopped me from trying when I saw all the ports required to use > > git). I'd like to keep port count minimal, but sometimes it just > > does not work this way. > > I use devel/git@lite to avoid a bunch of dependencies that I do > not need. There is also devel/git@tiny that I've not tried. For > reference: > > OPTIONS_RADIO_PCRE_VERSION= PCRE PCRE2 > OPTIONS_DEFINE= GUI SVN GITWEB CONTRIB P4 CVS HTMLDOCS PERL ICONV > CURL \ SEND_EMAIL NLS SUBTREE > . . . > .if ${FLAVOR:U} == gui > OPTIONS_SLAVE+= GUI > .elif ${FLAVOR:U} == lite > OPTIONS_EXCLUDE= GUI SVN GITWEB CONTRIB P4 CVS PERL > .elif ${FLAVOR:U} == tiny > OPTIONS_EXCLUDE:= ${OPTIONS_DEFINE:NCURL} > ${OPTIONS_RADIO_PCRE_VERSION} OPTIONS_SLAVE= CURL > .endif > I'll try it some time later. Regards, Milan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210128114522.2f2beadd>