lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] Proposed workflow for proprietary repository


From: Greg Chicares
Subject: Re: [lmi] Proposed workflow for proprietary repository
Date: Tue, 6 Aug 2019 21:40:57 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1

[not at all urgent--no speedy reply sought]

[...using git bundles to maintain a proprietary repository of source files
that generate product-database files...]

On 2017-11-10 22:16, Vadim Zeitlin wrote:
> On Fri, 10 Nov 2017 17:59:09 +0000 Greg Chicares <address@hidden> wrote:
> 
> GC> On 2016-03-20 19:50, Greg Chicares wrote:
> GC> [...]
> GC> > Here's how to create a bundle to share by email. Make any number of
> GC> > changes to the local repository, and commit them in whatever groups
> GC> > make sense:
> GC> > 
> GC> >   cd /opt/lmi/proprietary
> GC> >   git commit --all -m"One set of changes"
> GC> >   git commit --all -m"Another set of changes"
> GC> > 
> GC> > When it's ready to share, do this:
> GC> > 
> GC> >   cd /opt/lmi/proprietary
> GC> >   git bundle create YourBundleName ^origin/master HEAD --branches
>                                          ^^^^^^^^^^^^^^^^^^^
>  This is off-topic, but I'd just like to note that now that you're aware of
> Git "A..B" notation, you could replace this part with "origin/master..HEAD"
> which is a bit a more understandable IMHO as closer to the standard
> interval notation (except in Git intervals are open-closed semi-intervals).

That has worked just great for a couple years. Whenever I want to share
a bundle, I just copy this command out of 'gwc/develop2.txt':

git bundle create /opt/lmi/blessed/$(date -u +'%Y%m%dT%H%MZ')-gwc.bundle 
origin/master..HEAD --branches

But today I tried unsuccessfully to adapt it to an unusual situation:
 - I had shared two separate bundles of ten commits each
 - I also had four unpushed local commits
 - Kim thus had my HEAD~24..HEAD~4 as her HEAD~20..HEAD
 - She discovered a mistake in my HEAD~4 (her HEAD)
 - I had already fixed it in my HEAD~3, which I hadn't shared
Therefore, I wanted to send a new bundle that would bring her working
copy from my (broken) HEAD~4 to my (correct) HEAD~3, preferably without
sending my three other unpushed commits at the same time. I tried using
the same trusty command quoted above, but with the refspec changed thus:
-  origin/master..HEAD
+  origin/master..HEAD~3
and it seemed to work, except that I couldn't pull it myself:

git bundle create /opt/lmi/blessed/$(date -u +'%Y%m%dT%H%MZ')-gwc.bundle 
origin/master..HEAD~3 --branches
git bundle verify /opt/lmi/blessed/20190806T1710Z-gwc.bundle
git pull --dry-run /opt/lmi/blessed/20190806T1710Z-gwc.bundle
fatal: Couldn't find remote ref HEAD

This is not urgent, as we did find a way around it: I fell back on the
unmodified trusty command, and then 'pull --dry-run' worked. But that
was inconvenient for Kim, so I'd like to know how to modify the command
correctly.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]