On Tue, 19 Nov 2019 at 17:49, Sam Ruby <ru...@intertwingly.net> wrote:

> On Tue, Nov 19, 2019 at 9:15 AM sebb <seb...@gmail.com> wrote:
> >
> > On Tue, 19 Nov 2019 at 13:34, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > > On Tue, Nov 19, 2019 at 8:17 AM sebb <seb...@gmail.com> wrote:
> > > >
> > > > On Tue, 19 Nov 2019 at 12:26, sebb <seb...@gmail.com> wrote:
> > > >
> > > > > docker:update had issues pulling down various svn repos, e.g.
> > > > >
> > > > > svn: E170013: Unable to connect to a repository at URL  ...
> > > > > svn: E125009: Invalid config: unable to load certificate file
> > > > > '/Users/sebb/.subversion/Thawte_Premium_Server_CA.pem'
> > > > >
> > > > > I was able to remove the Invalid config error by changing
> /Users/sebb
> > > =>
> > > > > /root
> > > > > However I then got the error:
> > > > >
> > > > > svn: E000111: Error running context: Connection refused
> > > > >
> > > > > I assume that is because my SVN is set to grab passwords from the
> macOS
> > > > > keychain
> > > > >
> > > > >
> > > > Turns out that SVN was down at the time.
> > > >
> > > > Once I copied the cert to the expected place it worked OK.
> > > >
> > > > I've just realised that the /srv/svn directory is mounted from the
> host
> > > OS.
> > > > So checkouts in the image actually update the host working directory.
> > > > Given that, it seems to me it would make more sense to do the
> check-out
> > > on
> > > > the host under /srv, and mount that instead.
> > >
> > > Two issues:
> > >
> > > 1) From time to time subversion makes changes to the file format.  It
> > > could be the case that the version of subversion you have on the host
> > > is not compatible with the version of subversion in the container.
> > >
> >
> > In which case having the checkout on the host filing system is risky.
> > It would be safer to have the data all within the container, and not
> > accessible from the host.
> > AFAICT it should not take any more space overall.
>
> It's complicated, and a lot depends on what the use cases we intend to
> support are.
>
> For now, I've updated the Dockerfile to install a compatible version
> of subversion, and updated DOCKER.md to explain the constraints.
>
> I actually developed these files using the /srv directory from the
> MACOSX instructions.
>
> My thoughts are that most people would feel more comfortable doing
> their browsing and updates in the host environment, so a shared mount
> would be in order.
>
>
OK


> I definitely would not want to put repository data in images as those
> are frozen (i.e., updates would be done in separate layers and would
> take up more space).  Similarly, I would not want to put repository
> data in container space as those go away when the container exits.
>

I see.


> Putting this data into a docker volume would work (and may be faster),
> but may be less convenient for people that want to access the data
> from their host.
>
> These constraints are particularly true for the whimsy directory.  I'm
> comfortable exec'ing into the container and editing the files using
> vim, but others may want to use their Mac IDEs.
>
>
Good point.


> > But for those who can cope with the possible issue, there could be
> another
> > build that uses host data under /svn
>
> I do most of my whimsy work on my Ubuntu desktop machine, but I
> recently updated the MACOSX instructions and have this working on my
> laptop.  I'm more likely to use those instructions than the container
> instructions, but being able to share a /srv directory would be
> convenient for me, allowing me to switch between the two.
>
> > 2) Doing the checkout on the host only defers the problem.  A number
> > > of whimsy processes access svn (checkouts and commits).
> > >
> > >
> > It might be useful to be able to disable commits for testing purposes.
> > This is also true of LDAP.
>
> Agreed, though for testing purposes I have defined a locally hosted
> subversion repository for the board agenda tests, allowing commits to
> be tested.
>
> > Regarding the SVN checkouts, maybe it would make sense to start by
> checking
> > out only the top-level files/directories for some of the less-used/larger
> > trees.
>
> The largest are iclas, cclas, grants, and member-apps.  I believe that
> these are only used by one tool, and primarily to determine if there
> is a collision.  In these days of terabyte hard drives, it isn't a
> huge issue for me, but may be for others.
>
>
It's also a lot of data to download, and there might need to be a separate
copy if the host version cannot be shared.

In the case of iclas, I wrote a script to list the SVN repo contents and
create empty files/directories locally.
This works well with an empty checkout.


> > Also there does not seem to be a visual editor included in the docker
> > > build.
> > > > > (I had to use sed)
> > > > > It would be useful to have vi(m) or such.
> > >
> > > I've been doing an "apt install vim" when needed, but, yes, it would
> > > be nice to have vim already installed.  There probably are a lot of
> > > affordances that would be helpful.  At one point I tried an "apachectl
> > > status" and that failed as there wasn't a browser installed that it
> > > could use to fetch the status.  I no longer recall what other commands
> > > I tried to use to check network status and the like only to find that
> > > they weren't installed.
> > >
> > > - Sam Ruby
> > >
> > > P.S.  Thanks for helping work through this!
>
> - Sam Ruby
>

Reply via email to