D
Daniel Pitts
I know this isn't strictly Java, but I'm using SVNKIT, which is Java 
Our deployment process includes building a tag in SVN, which is "mostly"
the contents of an old tag, but with a couple of files copied from the
trunk instead.
I'm trying to build a tool which will do two things: One, it will list
the files that differ between trunk and the "source" tag. This is easy
with SVNKIT, just use the SVNDiffClient.doDiffStatus().
The second part seems to be more difficult. I want to produce a list of
commits that are different. Basically, I want to warn someone if are two
or more authors committed to the file that's being deployed, and also
give them a quick change-log.
I've written code that does this, which basically does a svn log of the
file both in the source tag and trunk, and then which trunk revisions
aren't already present in the tag. The problem is that this is a really
slow process, taking up to 30 seconds per file.
I'm using SVNKIT, I was using version 1.3.2, and recently upgraded to
1.7.4, which is somewhat faster, but still to slow.
Our current setup only allows http(s) connections to the repository (not
svn: or direct file access), so I'm not sure if that accounts for some
of the speed, but I doubt thats the entire problem. I don't have shell
access to the SVN server, so I can't really see whats going on there
without involving our admins.
The current revision number is r788228, so we have a lot of revisions.
Short of moving the revision history into my own DB (to cache the data),
is there any other approach you might consider taking to solve this
problem? Even questions/ideas I can take to our admins are fine, but
this is kind of a side-project for me, so I wouldn't expect a lot from them.
Thanks,
Daniel.
Our deployment process includes building a tag in SVN, which is "mostly"
the contents of an old tag, but with a couple of files copied from the
trunk instead.
I'm trying to build a tool which will do two things: One, it will list
the files that differ between trunk and the "source" tag. This is easy
with SVNKIT, just use the SVNDiffClient.doDiffStatus().
The second part seems to be more difficult. I want to produce a list of
commits that are different. Basically, I want to warn someone if are two
or more authors committed to the file that's being deployed, and also
give them a quick change-log.
I've written code that does this, which basically does a svn log of the
file both in the source tag and trunk, and then which trunk revisions
aren't already present in the tag. The problem is that this is a really
slow process, taking up to 30 seconds per file.
I'm using SVNKIT, I was using version 1.3.2, and recently upgraded to
1.7.4, which is somewhat faster, but still to slow.
Our current setup only allows http(s) connections to the repository (not
svn: or direct file access), so I'm not sure if that accounts for some
of the speed, but I doubt thats the entire problem. I don't have shell
access to the SVN server, so I can't really see whats going on there
without involving our admins.
The current revision number is r788228, so we have a lot of revisions.
Short of moving the revision history into my own DB (to cache the data),
is there any other approach you might consider taking to solve this
problem? Even questions/ideas I can take to our admins are fine, but
this is kind of a side-project for me, so I wouldn't expect a lot from them.
Thanks,
Daniel.