Page MenuHome

Use middleware layer for backend repo storage
AbandonedPublic

Authored by Isaac Weaver (wisaac) on May 29 2017, 12:11 AM.

Details

Summary

This way there is a common interface for adding/committing
files, etc. without being locked into always using svn. It probably needs quite a bit of work to make it flexable
enough to work with other backends but I thought I'd submit it now so I could get some feedback on it.

Diff Detail

Event Timeline

Which versioning systems are you planning on supporting? And how long will you be around to maintain those? Adding extra code just because of some theoretically possible future is a bad idea.

We were actually thinking of even removing SVN support altogether from BAM, since we don't use it ourselves here at the Blender Institute.

I plan on implementing mercurial as a backend. It has fairly good support for binary files and I'm already using it for personal projects (I works out nicely because I can host them on Bit Bucket). I can't give a definite answer for how long I can maintain it, but I plan on staying around for the near future.

This comment was removed by Isaac Weaver (wisaac).

Hi Isaac, thanks for proposing this patch! Are you using it already somewhere? How did you test the current backend functionality?

I've tested it with the svn backend (using a localhost svn server) and it seems to work exactly the same. I've also written a mercurial backend that works as expected. I'd like to use BAM in my own workflow but that requires mercurial support which was the motivation behind this patch.

Hi Isaac,

Just had a review of the patch with Sybren and an overall in-depth chat about the BAM web service. While after some changes your patch would be working well within BAM, we are not satisfied with the current implementation of the whole BAM web service, so it is our preference to not continue with this review.

Our experience with BAM (here at the studio) has shown the limit of this implementation. In order to build an asset manager based on different versioning backends (Subversion or Mercurial), we plan to start from scratch with a different approach. We do not have a timeline for this, but we will likely start working on it before the end of this year.

For now I'm going to close this review and remove the web service part of BAM from this repo.
You are of course free to fork or branch and continue experimenting!