On Fri, Nov 22, 2019 at 10:39 AM sebb <seb...@gmail.com> wrote:
>
> On Fri, 22 Nov 2019 at 14:26, Sam Ruby <ru...@intertwingly.net> wrote:
>
> > On Fri, Nov 22, 2019 at 5:47 AM sebb <seb...@gmail.com> wrote:
> > >
> > > On Thu, 21 Nov 2019 at 17:00, Sam Ruby <ru...@intertwingly.net> wrote:
> > >
> > > > On Thu, Nov 21, 2019 at 10:11 AM sebb <seb...@gmail.com> wrote:
> > > > >
> > > > > That still causes issues for bundler.
> > > > > Turns out this is caused by the line
> > > > >       - $HOME:/root
> > > > > which causes bundler to use the wrong path.
> > > > > I think it's unnecessary now anyway.
> > > >
> > > > That was an oversight, I meant to delete it.  But if we were to
> > > > symlink the home directory, I suspect that would have been useful to
> > > > you as I gather you had symlinks in your /srv directory (presumably to
> > > > locations within your home directory)?
> > > >
> > > >
> > > Yes, my  /srv/svn directory has links to some existing checkouts under my
> > > home directory.
> > > [That would require mounting $HOME:$HOME to preserve links, not
> > $HOME:/root]
> > >
> > > But I was actually testing a separate docker workspace with its own SVN
> > > checkout, as suggested in DOCKER.md
> > >
> > > > If I remove the line, SVN does now find the CA
> > > > > I can interactively update SVN, however I am prompted for the
> > password.
> > > > > This means that  'rake svn:update' fails when logged in to the
> > container
> > > > > interactively.
> > > > > And of course it does not work from the host as part of 'rake
> > > > docker:update'
> > > >
> > > > Presuming that the subversion file system versions are compatible, you
> > > > can do the svn:update and git:pull steps from the host.
> > > >
> > > >
> > > Not really.
> > >
> > > If you are using a separate workspace for the container, the easiest way
> > to
> > > set it up is to run rake svn:update in the container
> > > Running the command on the host will default to updating the host
> > version.
> > >
> > > Once the checkouts have been set up, it would of course be possible to
> > run
> > > "svn up" separately on each of them on the host.
> > >
> > >
> > > > > Somehow we need to get the password across to the container.
> > > >
> > > > Maybe not.  Except for the few places where the whimsysvn user is used
> > > > to enable access from non ASF-members, the password provided in the
> > > > HTTP authentication is used.
> > > >
> > >
> > >
> > > > > Note: it's probably not necessary to mount the whole of HOME
> > > > > One could mount just .subversion,.git and .ssh:
> > > > >       - $HOME/.subversion:$HOME/.subversion
> > > > >       - $HOME/.gitconfig:$HOME/.gitconfig
> > > > >       - $HOME/.ssh:$HOME/.ssh
> > > > >
> > > > > Maybe then replace the corresponding /root mounts with links.
> > > >
> > > > Done.
> > > >
> > >
> > > Thanks!
> > > That works for SVN and git when logged into the container.
> > >
> > > However there is now no rake command to populate the container /srv/svn.
> > > Was that intentional?
> >
> > I'm not fully understanding the behavior you are seeing.  I gathered
> > from your previous email that svn checkout would require some sort of
> > prompting to you, and the container was not set up to prompt you.
> > Specifically, you said "Somehow we need to get the password across to
> > the container."  Is that problem solved?
> >
> >
> No, the problem is not solved.
>
> I have set up SVN to use the macOS keychain.
> So I don't have to enter a password when running SVN on the host (except
> sometimes when the keychain seems to forget that I have allowed SVN to use
> it).
>
> However when running in the container, SVN needs the password to be
> provided.
> This is fine when running 'svn up' etc, but I get an error when running
> 'rake svn:update' in the container:
>
> root@xxx:/srv/whimsy# rake svn:update
>
> /srv/svn/Bills
> #!: failed!
> #!: Updating '.':
> #!: svn: E170013: Unable to connect to a repository at URL '
> https://svn.apache.org/repos/private/financials/Bills'
> #!: svn: E215004: No more credentials or we tried too many times.
> #!: Authentication failed
> #!: will retry in 10 seconds
>
> The same happens if using docker to pass the command to the container.

This appears to be a regression introduced in
https://github.com/apache/whimsy/commit/891674d13f7967321bdf507a7cafd11ba5222fef,
which overrides stdin.  I've attempted to provide a fix:
https://github.com/apache/whimsy/commit/5306a99a1a0ba8eefca9cba2c56ae548e0bef231

> > So I intended to go the other way - have you do your svn up on on the
> > host.  My oversight was that I did not add a step (presumably to
> > update ~/.whimsy) to configure where svn and git directories should be
> > placed.  I can rectify that, but first I want confirmation that I
> > understand what you are seeing.
> >
> > Does svn checkout and svn up work as you would expect in the
> > container?
>
> Individual svn commands do now work; I no longer get the missing CA issue.
> But SVN prompts for the password.

I gather that svn on ubuntu doesn't support svn passtype keychain.  It
looks like there are other password stores (e.g. gpg-agent) that may
work on both macOS and Ubuntu:

https://subgit.com/documentation/auth-book.html#chapter-26-using-svn-credentials-cache

> Also 'rake svn:update' does not work.
>
>   If so, we can go that way.  Otherwise I can update the
> > code and instructions to have you configure the location of the host
> > directory.
> >
> >
> The instructions originally envisaged a separate workspace with separate
> SVN/Git checkouts.
> I think this relied on being able to map /srv to the workspace when running
> in the container.
> Thus 'rake svn:update' would use the new workspace when run in the
> container.
>
> If 'rake svn:update' is only run on the host, then somehow it would need to
> use two different locations for the git/svn checkouts depending where it
> was run from.
>
> Is that possible?
> If possible, would it be useful?
> Or is it just more complication?

The following commit should do that.  Note the need to do a `touch
.whimsy` in the home directory.  You are, of course, welcome to put
additional configuration overrides into this file, but its mere
existence is all that is necessary to establish a root directory.

https://github.com/apache/whimsy/commit/e150d91a0fddcf16e9368616cffe3d3690142c8a

- Sam Ruby

> - Sam Ruby
> >
> > > > - Sam Ruby
> > > >
> > > > > On Thu, 21 Nov 2019 at 13:49, Sam Ruby <ru...@intertwingly.net>
> > wrote:
> > > > >
> > > > > > On Thu, Nov 21, 2019 at 8:01 AM sebb <seb...@gmail.com> wrote:
> > > > > > >
> > > > > > > Might work better if the home directory was mounted directly as
> > well?
> > > > > >
> > > > > > Give it a try
> > > > > >
> > > >
> > https://github.com/apache/whimsy/commit/b4c7bc2f10a21078e44d0c8e528eab00da296ab2
> > > > > >
> > > > > > - Sam Ruby
> > > > > >
> > > >
> >

Reply via email to