Re: jgit standalone client on OpenVMS works (somewhat)

From: Ben Armstrong <hidden>
Date: 2016-06-15 22:46:41

Shawn O. Pearce wrote:
quoted
I'm talking to some folks who are trying to put JGit into Maven.
They want to move a lot of egit.core down into JGit, which should
make it easier to add more commands to the jgit wrapper, making a
more functional command line tool.
Certainly without at least commit (and diff would be nice) I can't go
any further with jgit on VMS today.  We will have to use jsvn for the
interim (our repositories are currently in svn anyway, and jsvn is
reasonably full-featured and functional on VMS).  But it's nice to have
a migration path in the offing.
quoted
Can you write a subclass of our FS class that can identify a
VMS host and use that VMS specific subclass?
Should I return to jgit, I could look into this (though I am not a Java
programmer).
quoted
If so, we could add a method, e.g.:

  boolean canBeLooseRef(String name)

and on VMS when the name falls into that "ODS-5_Syntax
Interpretation_of_Period" rule set above, we could return false.
This would then permit a simple change in RefDatabase where we always
store such refs in the packed-refs file, instead of as a loose file.

It also means we'd have to forgo the ref log, or mangle the reflog
name.

But it seems to me we could reasonably work around this without
too much trouble.
Glad to hear it.  I have taken note in case I revive this effort later.

Before I sign off entirely, I'd like to mention also that I tried using
the ssh protocol without success:

A:BG.WORK> git clone ssh://ben@bgpc.dymaxion.ca/home/ben/git/myrepo.git
Initialized empty Git repository in /DSA0/BG/WORK/myrepo/.git
java.lang.NullPointerException
        at com.jcraft.jsch.Session.disconnect(Session.java)
        at
org.spearce.jgit.transport.SshSessionFactory.releaseSession(SshSessionFactory.java)
        at org.spearce.jgit.transport.SshTransport.close(SshTransport.java)
        at org.spearce.jgit.pgm.Clone.runFetch(Clone.java)
        at org.spearce.jgit.pgm.Clone.run(Clone.java)
        at org.spearce.jgit.pgm.TextBuiltin.execute(TextBuiltin.java)
        at org.spearce.jgit.pgm.Main.execute(Main.java)
        at org.spearce.jgit.pgm.Main.main(Main.java)

$ dir [.myrepo.^.git...]

Directory DSA0:[BG.WORK.myrepo.^.git]

branches.DIR;1      config.;3           HEAD.;1
objects.DIR;1
refs.DIR;1          remotes.DIR;1

Total of 6 files.

Directory DSA0:[BG.WORK.myrepo.^.git.objects]

info.DIR;1          pack.DIR;1

Total of 2 files.

Directory DSA0:[BG.WORK.myrepo.^.git.refs]

heads.DIR;1         tags.DIR;1

Total of 2 files.

Grand total of 3 directories, 10 files.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help