Version control for asset producers
-
We developers use git for our version control needs, no surprise there. But now, the production guys want to start using VCS too, and their needs are very different from ours.
- 100% work done in Windows GUI
- Mostly large binary files (images, videos, raw-s...)
- Moderately technical users (so GUI and simple mental model is a must)
I suggested to the management we put them on SVN. A few game devs I follow are all using SVN for similar purposes. Install TortoiseSVN on the production peoples' boxes, teach them the few right click commands they need, and we are golden.
The request has gone to the administrator to set up an SVN server, and I thought this was a done deal. It seems, however, the admin is heavily protesting the SVN decision. And now he wants a meeting where he'll (I suppose) try to dissuade us from SVN.
Am I missing something? Is there some hidden gotcha with my SVN decision? What VCS would you suggest for my use case?
-
SVN is a good idea. As bad as Git is for version control in general, it's even worse at dealing with binary assets. Like, even people who like Git agree it's bad at binaries. Tell the admin to stop being a derp and install SVN.
-
@cartman82 said in Version control for asset producers:
Is there some hidden gotcha with my SVN decision?
In some people's mind, if it's not Git it's awful and outdated.
@cartman82 said in Version control for asset producers:
What VCS would you suggest for my use case?
Sharepoint?
On a more serious note, what about something like Dropbox that versions files automatically?
-
@jaloopa said in Version control for asset producers:
On a more serious note, what about something like Dropbox that versions files automatically?
We tried to get them on OwnCloud. It didn't work out, it was too slow and flaky. I think this needs to be an atomic operation they trigger after their work is done.
-
@cartman82 SVN sounds perfect for that then. Tortoise makes it really simple
-
@jaloopa said in Version control for asset producers:
Sharepoint?
for large binary blobs? good luck!
-
@luhmann said in Version control for asset producers:
large binary blobs
Do you mean large binary blob objects?
-
SVN doesn't store the whole history locally (as opposed to git, AFAIK), which is pretty helpful once you reach a few tens of GB in repo size. Plus, you can easily check out subsets of a repo (or do a sparse checkout).
-
@jaloopa
files you mean? SharePoint doesn't blob ... it only sputters and halts.
-
@luhmann wouldn't a binary large file be a blf? You know, the sound people make when they learn they have to use sharepoint
-
@jaloopa said in Version control for asset producers:
the sound people make when they learn they have to use sharepoint
-
@cartman82 Isn't there some kind of new git thing for handling binary files?
-
@cartman82 said in Version control for asset producers:
The request has gone to the administrator to set up an SVN server, and I thought this was a done deal. It seems, however, the admin is heavily protesting the SVN decision. And now he wants a meeting where he'll (I suppose) try to dissuade us from SVN.
In favor of what?
Hard to make a case when you don't know what you're up against.
-
@slapout1 said in Version control for asset producers:
@cartman82 Isn't there some kind of new git thing for handling binary files?
Not that I heard of.
-
@blakeyrat said in Version control for asset producers:
In favor of what?
Hard to make a case when you don't know what you're up against.We'll have a meeting with the guy tomorrow, I'll post an update then.
This manager who is passing me this info is NOT reliable (and in fact I suspect he is not long for this employment). It could be there is some kind of miscommunication between me and the admin, as we never spoke directly about this.
-
@cartman82 Ah well. For now the best case you have is "Git is really bad for this", but the problem is SVN is pretty goddamned bad for this, too. All SCMs are really shitty.
If he objects to SVN but knows something better than by all means listen, because it's hard to be worse in this space.
-
@cartman82 Here it is: https://git-lfs.github.com/
-
@cartman82 said in Version control for asset producers:
What VCS would you suggest for my use case?
I haven't needed to track changes in binaries, but I hear Perforce is good at that.
-
@jazzyjosh said in Version control for asset producers:
@cartman82 said in Version control for asset producers:
What VCS would you suggest for my use case?
I haven't needed to track changes in binaries, but I hear Perforce is good at that.
I'd also say Perforce. It was very good at it pre-Git; I haven't used it since, but hopefully they kept their users in mind.
Past that you're looking at what are now called Digital Asset Management systems, and I don't have any experience with any modern ones. (The one sold by a company I worked at long ago was never brought into OS X.) The only one I remember from that time that's still around is Canto Cumulus.
-
@masonwheeler said in Version control for asset producers:
SVN is a good idea. As bad as Git is for version control in general, it's even worse at dealing with binary assets. Like, even people who like Git agree it's bad at binaries. Tell the admin to stop being a derp and install SVN.
I tried that on my photo collection before (well, a copy of it - didn't want to accidentally delete it or anything). It was ...unpleasant. Very unpleasant.
-
@jazzyjosh said in Version control for asset producers:
@cartman82 said in Version control for asset producers:
What VCS would you suggest for my use case?
I haven't needed to track changes in binaries, but I hear Perforce is good at that.
It doesn't actually track changes in binaries. It just gzips them.
-
@tsaukpaetra You also get file locking, etc. provided directly by the Perforce server instead of needing to add yet another plugin to git for that.
Locking is p. necessary for binary files so you can prevent two people working on the same file and needing to merge.
-
@jazzyjosh said in Version control for asset producers:
@tsaukpaetra You also get file locking, etc. provided directly by the Perforce server instead of needing to add yet another plugin to git for that.
Locking is p. necessary for binary files so you can prevent two people working on the same file and needing to merge.
Locking is required because you really can't merge binary files.
-
@tsaukpaetra Oh, you can merge an Excel file. It won't be fun.
-
@tsaukpaetra said in Version control for asset producers:
@jazzyjosh said in Version control for asset producers:
@tsaukpaetra You also get file locking, etc. provided directly by the Perforce server instead of needing to add yet another plugin to git for that.
Locking is p. necessary for binary files so you can prevent two people working on the same file and needing to merge.
Locking is required because you really can't merge binary files.
Oh, you can merge them. Provided you've got a program that is happy to work with byte-level diffs. They're entirely possible to compute as the underlying algorithm for generating differences just works with sequences of comparable items. I wouldn't want to try with compressed input, such as many image formats. ;)
-
@dreikin said in Version control for asset producers:
@masonwheeler said in Version control for asset producers:
SVN is a good idea. As bad as Git is for version control in general, it's even worse at dealing with binary assets. Like, even people who like Git agree it's bad at binaries. Tell the admin to stop being a derp and install SVN.
I tried that on my photo collection before (well, a copy of it - didn't want to accidentally delete it or anything). It was ...unpleasant. Very unpleasant.
What was exactly unpleasant about it?
Did you got lured in with the fickle Import command, which might depending on the implementation work in a non-transactional way? Was it the explicit need of
svn rename
for each file move (something which TortoiseSVN can fix nowadays, though manually)?
-
Small addendum: SVN keeps a copy of the checked out files in the .svn-subdir. So if you have 1GB of stuff checked out, you need ~2GB of space (one for the actual file, and one for the internal copy that SVN keeps around). Something to keep in mind, depending on the amount of data you expect there to be.
-
@jazzyjosh said in Version control for asset producers:
@tsaukpaetra Oh, you can merge an Excel file. It won't be fun.
A .xls file or a .xlsx file? A .xlsx file is just a zip of (mostly) text files, so merging shouldn't be any more difficult than it would be with a directory full of text files.
Of course, those text files are mostly XML, which can be a pain in the ass to diff/merge anyway.
-
@jbert said in Version control for asset producers:
@dreikin said in Version control for asset producers:
@masonwheeler said in Version control for asset producers:
SVN is a good idea. As bad as Git is for version control in general, it's even worse at dealing with binary assets. Like, even people who like Git agree it's bad at binaries. Tell the admin to stop being a derp and install SVN.
I tried that on my photo collection before (well, a copy of it - didn't want to accidentally delete it or anything). It was ...unpleasant. Very unpleasant.
What was exactly unpleasant about it?
Did you got lured in with the fickle Import command, which might depending on the implementation work in a non-transactional way? Was it the explicit need of
svn rename
for each file move (something which TortoiseSVN can fix nowadays, though manually)?No, I was talking about git. Hash calculation on hundreds of raw image files on import takes a while.
-
There was no mention of the meeting with admin on Friday. So this affair is still in limbo.
@slapout1 said in Version control for asset producers:
@cartman82 Here it is: https://git-lfs.github.com/
Ah that thing. Sounds like even worse chance of good and intuitive GUI support than normal git.
@parody said in Version control for asset producers:
I'd also say Perforce. It was very good at it pre-Git; I haven't used it since, but hopefully they kept their users in mind.
Hahahaha. That's not gonna happen.
Their site doesn't have prices directly listed, btw. Only "ask for quote".
Always a sign you are entering the enterprise badlands.@dreikin said in Version control for asset producers:
SVN is a good idea. As bad as Git is for version control in general, it's even worse at dealing with binary assets. Like, even people who like Git agree it's bad at binaries. Tell the admin to stop being a derp and install SVN.
I tried that on my photo collection before (well, a copy of it - didn't want to accidentally delete it or anything). It was ...unpleasant. Very unpleasant.
Incidentally, I also keep my photos in git, and it's.... okay, I guess. Probably because I don't have that many photos to begin with. It's definitely not optimized to deal with that kind of data, though.
Seems like SVN is the best choice, as I suspected. We'll see if that idiot manager moves this thing forward on Monday.
-
@cartman82 said in Version control for asset producers:
Hahahaha. That's not gonna happen.
$740 per user?
If your company's that cheap, Welcome To GitLFS.
They probably already spend way more than $740/user cleaning the toilets.
-
@blakeyrat said in Version control for asset producers:
Hahahaha. That's not gonna happen.
$740 per user?
If your company's that cheap, Welcome To GitLFS.
They probably already spend way more than $740/user cleaning the toilets.I doubt they spend more than $50 per month on cleaners.
There is a long way between 1st world enterprise and 3rd world startup prices.
-
@cartman82 said in Version control for asset producers:
Incidentally, I also keep my photos in git, and it's.... okay, I guess. Probably because I don't have that many photos to begin with. It's definitely not optimized to deal with that kind of data, though.
Well, for size context my photo library at the time was probably 200-500 GB. Current size:
For just the pictures, not including videos. And I think I have about a year's worth on cards that I haven't imported yet (I haven't done much photography at all the last year or two).
-
@jaloopa said in Version control for asset producers:
@cartman82 SVN sounds perfect for that then. Tortoise makes it really simple
There is one thing to consider when using Tortoise*. It relies on "shell overlay icon" to operate intuitively to users. If your business need also need to install things like Dropbox, the file sync state will disappear from user until you manually delete those "other overlays" from registry and restart the shell.
-
@cheong said in Version control for asset producers:
@jaloopa said in Version control for asset producers:
@cartman82 SVN sounds perfect for that then. Tortoise makes it really simple
There is one thing to consider when using Tortoise*. It relies on "shell overlay icon" to operate intuitively to users. If your business need also need to install things like Dropbox, the file sync state will disappear from user until you manually delete those "other overlays" from registry and restart the shell.
Yeah, I was really bummed about that misfeature. Like, sure, it's good not not have bajillions of apps that are running in Explorer, but a limit of ~11-ish is quite sad.
-
@tsaukpaetra said in Version control for asset producers:
@cheong said in Version control for asset producers:
@jaloopa said in Version control for asset producers:
@cartman82 SVN sounds perfect for that then. Tortoise makes it really simple
There is one thing to consider when using Tortoise*. It relies on "shell overlay icon" to operate intuitively to users. If your business need also need to install things like Dropbox, the file sync state will disappear from user until you manually delete those "other overlays" from registry and restart the shell.
Yeah, I was really bummed about that misfeature. Like, sure, it's good not not have bajillions of apps that are running in Explorer, but a limit of ~11-ish is quite sad.
I can't really get why multiple icon handlers in 1 DLL count as that number of entries, having both Dropbox and TortoriseSVN installed and I'm running out of number already.
-
@dreikin said in Version control for asset producers:
Well, for size context my photo library at the time was probably 200-500 GB. Current size:
I am under 1GB. So git works great from my perspective :)
-
@cheong said in Version control for asset producers:
@tsaukpaetra said in Version control for asset producers:
@cheong said in Version control for asset producers:
@jaloopa said in Version control for asset producers:
@cartman82 SVN sounds perfect for that then. Tortoise makes it really simple
There is one thing to consider when using Tortoise*. It relies on "shell overlay icon" to operate intuitively to users. If your business need also need to install things like Dropbox, the file sync state will disappear from user until you manually delete those "other overlays" from registry and restart the shell.
Yeah, I was really bummed about that misfeature. Like, sure, it's good not not have bajillions of apps that are running in Explorer, but a limit of ~11-ish is quite sad.
I can't really get why multiple icon handlers in 1 DLL count as that number of entries, having both Dropbox and TortoriseSVN installed and I'm running out of number already.
I'm assuming they're doing it wrong.
-
@cheong said in Version control for asset producers:
@tsaukpaetra said in Version control for asset producers:
@cheong said in Version control for asset producers:
@jaloopa said in Version control for asset producers:
@cartman82 SVN sounds perfect for that then. Tortoise makes it really simple
There is one thing to consider when using Tortoise*. It relies on "shell overlay icon" to operate intuitively to users. If your business need also need to install things like Dropbox, the file sync state will disappear from user until you manually delete those "other overlays" from registry and restart the shell.
Yeah, I was really bummed about that misfeature. Like, sure, it's good not not have bajillions of apps that are running in Explorer, but a limit of ~11-ish is quite sad.
I can't really get why multiple icon handlers in 1 DLL count as that number of entries, having both Dropbox and TortoriseSVN installed and I'm running out of number already.
TIL. So that's why it works briefly and then the folders are never shown correctly ever again.
Another vote for SVN and Tortoise here in spite of overlay weirdness. I use SVN for everything (including CAD projects) and I've never had a major issue with it, or accidentally hosed my data as seems to be a problem with Git.
-
@cartman82 said in Version control for asset producers:
OwnCloud. It didn't work out, it was too slow and flaky
Seafile is has better performance than OwnCloud and also has differential updates (only the changed part of the file is transmitted).
Probably not the best choice as a version control system (which needs an atomic operation), but I like it for syncing documents or photos.
-
@cheong said in Version control for asset producers:
There is one thing to consider when using Tortoise*. It relies on "shell overlay icon" to operate intuitively to users. If your business need also need to install things like Dropbox, the file sync state will disappear from user until you manually delete those "other overlays" from registry and restart the shell
And the really annoying thing about Dropbox - it will reorder those overlays to make sure it always has an overlay. I would go into the registry to make sure the overlays I wanted were active. And DB would fuck it up every time. Goodbye Dropbox (well the desktop install).
-
For those of you who were on pines and needless waiting for this to resolve, here's an update.
As I predicted, the manager who was supposed to organize this long awaited call got canned. He is supposed to work until the end of the week, but he pretty much checked out already.
So I went out and organized the call with the admin myself.
Turns out the admin had no idea what kind of usage we were expecting from the version control (one of this manager's many weak spots - communication skills). His complaints against SVN were:
- Difficult branching (don't need it)
- Difficult merging (yeah, nothing will merge binaries anyway)
- Slow download (maybe, but he had no arguments which VCS-s are better at that)
Once he knew the full score, he had no viable alternative to SVN (he also scoffed at perforce pricing).
He's now off hunting for a dedicated server to buy.
-
In slightly related news, holy shit, self hosted free SVN server landscape is a fucking wasteland.
So far, I've found:
-
Visual SVN
We used this back when it was a Windows desktop app. Now it's a Windows desktop AND web app. It looks appropriately enterprisey, but we don't do Windows any more, so...
-
RhodeCode
This is one of those OSS + enterprise kind of deals, that supports all 3 major VCS-s. I've never heard of it before, but it does look to be the best of the bunch.
-
SCM Manager
Also multi-VCS, but seems to be fully open source. Looks like it too, that UI doesn't seem to have been updated since the 90-ies.
-
....
???
That's it.
3 solutions. That's all that's left of the SVN empire.
I wish gitlab or gogs supported SVN, but I can see why they wouldn't bother.
-
-
@cartman82 said in Version control for asset producers:
Visual SVN
That's what I use at home. But an old version. Cause my server is Windows Home Server. Meaning basically Server 2003. Visual SVN no longer supports that.
edit: Maybe I should check out some of those others... bleh. work. What I have is doing what I need for now...
-
@cartman82 GitHub supports SVN natively, so I assume GitHub Enterprise would too.
-
@cartman82 said in Version control for asset producers:
Slow download (maybe, but he had no arguments which VCS-s are better at that)
Is the server going to be on the local network with the users? If so, speed shouldn't be that much of an issue.
-
@ben_lubar said in Version control for asset producers:
@cartman82 GitHub supports SVN natively, so I assume GitHub Enterprise would too.
Looking for self hosted thing.
@deadfast said in Version control for asset producers:
Is the server going to be on the local network with the users? If so, speed shouldn't be that much of an issue.
We were planning on leasing a dedicated, but I guess we could do it locally too.
I don't know how much maintenance burden will that be, though. And if we even have a spare server with 10+ TB of RAID-ed space (if we buy a new one, it will take it years to out-cheap the leased one).
-
@cvi said in Version control for asset producers:
Small addendum: SVN keeps a copy of the checked out files in the .svn-subdir. So if you have 1GB of stuff checked out, you need ~2GB of space (one for the actual file, and one for the internal copy that SVN keeps around). Something to keep in mind, depending on the amount of data you expect there to be.
Yes, this is a necessary precondition for any version control. It's significantly better than Git, which keeps a copy of the entire revision history cluttering up your drive space.
-
@cartman82 said in Version control for asset producers:
For those of you who were on
pinespins and needless waiting for this to resolveFTFY
-
@ben_lubar said in Version control for asset producers:
@cartman82 GitHub supports SVN natively, so I assume GitHub Enterprise would too.
No it doesn't. It pretends to, until you try to do any non-trivial operation, and then it barfs all over everything.