[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: commit failed due to "backwards-sliding source views" - what do I do?

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Wed, 29 Apr 2020 12:23:18 +0200

On Wed, Apr 29, 2020 at 12:11 PM Daniel Shahaf <d.s_at_daniel.shahaf.name> wrote:
>
> Johan Corveleyn wrote on Wed, 29 Apr 2020 11:04 +0200:
> > On Wed, Apr 29, 2020 at 7:14 AM Chaya <chaya.s1010_at_gmail.com> wrote:
> > >
> > > 1. Unfortunately, it's not a public repository.
> > > 2. The SVN project repo is actually file based. So I had to convert it to
> > > svn protocol before cloning to git.
> > > 3. Using latest version of svn (version 1.13.0 (r1867053)) and git ( version
> > > 1.13.0 (r1867053))
> > >
> > > --
> > > Sent from: http://subversion.1072662.n5.nabble.com/Subversion-Users-f84423.html
> >
> > You're using "git svn", which is part of git (sorry, I thought git-svn
> > was a separate project, but it seems to be simply part of git itself
> > now, as a subcommand):
> > https://git-scm.com/docs/git-svn
> >
> > From what I understand 2.26.2 is the latest release of git currently
> > (see https://git-scm.com/).
> >
> > IMHO you'll need to ask the git community for support on the "git svn"
> > command. I have no idea what kind of svn-like operations the "git svn"
> > tool really performs under the hood. Maybe there are certain
> > pre-conditions you need to make sure of, before running "git svn" on a
> > repository (those should be documented at
> > https://git-scm.com/docs/git-svn, or if not you should ask the git
> > community).
> >
> > Maybe one more suggestion: you say in (2) that you "had to convert it
> > to svn protocol before cloning to git". What do you mean with "convert
> > it to svn protocol"? Did you first use it as a file-based repository
> > (in SVN with a file:// URL), and before using "git svn" you had to set
> > up and "svnserve" process to serve it? Perhaps the (file-based)
> > repository you started from is in a very old format which isn't
> > supported well by "git svn". In that case, perhaps you should first
> > try to "svnadmin upgrade $REPO" with your svn tools, before trying to
> > run "git svn" on it. It's worth a try...
>
> Johan, what do you mean by 'a very old format which isn't supported well
> by "git svn"'?

For instance an svn repository that was created by svnadmin 1.0, with
BDB backend. Or a pretty old version of FSFS or something like that.

> How would you tell, over the svn:// protocol, whether
> a repository is of a 'very old format'? I'd expect the server to hide
> these details from the client — assuming the version of svnserve is new
> enough, at least. [Well, one thing the server won't hide is the
> "mergeinfo" capability, which depends on the backend format number, but
> that's probably not related to the case at hand.]

I assumed, because Chaya said the "SVN project repo is actually file
based", that she would have control over it as an admin, and perhaps
would know more about its history and / or exact version, setup, etc.
But maybe I was a bit too terse there, so thanks for chiming in and
adding some concrete commands which could give us some more
information :-).

> In any case, Chaya, could you run `svnserve --version -q` and `svnadmin
> info /path/to/repos` and post the output here? In addition to Johan's
> direction, there's a svn_txdelta_parse_svndiff() call in BDB that I'd
> like to rule out. In fact, I wish I had a backtrace of the error (it's
> generated by us: see subversion/libsvn_delta/svndiff.c:write_handler),
> but I don't even know whether to ask you to debug svnserve(8) on the
> server or svn(1) or git-svn(1) on the client… as Johan said, we really
> need the git-svn folks to look into this first and come back to us with
> a reproduction recipe in terms of our APIs.
>
> Also, could you try creating an svnsync mirror of the repository, and
> let us know whether that succeeded or errored?
>
> Cheers,
>
> Daniel

-- 
Johan
Received on 2020-04-29 12:23:37 CEST

This is an archived mail posted to the Subversion Users mailing list.