[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.
- Re: [lmi] Proposed workflow for proprietary repository,
Greg Chicares <=