-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Best Practice for version-controlling artistic/design projects? #75
Comments
Git is designed to manage text files, so, if your files are svg or otherwise text based, Git is very efficient. If your files are binaries, like audio files, Git will still handle them, but diffing becomes meaningless and Git cannot keep file sizes small. There is a Git extension Git-lfs for large files. Perforce is another VCS that apparently handles such files better. Storage is cheap these days, and if you have fast internet it is probably easiest just to use Git as is. I too thought there would be a strong need by designers for version control. However, that does not seem to be the case at least in the commercial design world. There used to be version control service for designers called Layer Vault but there did not seem to be the demand, so it shut down. |
I'm definitely up for participating in a "best practices" or "good suggestions" for collaborative design git repos. This could start by:
But I'm going to stop here. Maybe we should start a shared document for this. Or a temporary Etherpad file to gather ideas. |
@cameralibre: What about using something like nextcloud? They have versioning and use is far easier than the ready-for-linux-kernel-development git use. |
@jdittrich how would you see Nextcloud working in a situation like I described - with multiple language versions which all need to be updated (automatically, if possible) as improvements are added? I use Nextcloud myself, especially for sharing finished work with clients, but I haven't really looked into its versioning capabilities in detail. @studiospring thanks for the suggestions - do you know of any creative projects using Git-lfs or Perforce already? I also looked into boar as an option, but settled on plain ol' git in the end, as the only files getting regular updates are the SVG and .sif files, which are text-based.
I don't know if that means designers don't want to use version control, it sounds like they had a good product but it wasn't a good fit for the VC-backed startup model? @xuv - yes, let's start a document. I'm new here, can anyone tell me if there is there a preferred place/tool for this? |
@cameralibre: This means, you have an in depended language file with the translations and you want the animations to update automatically if you change the translations? |
@jdittrich Well, that's one part of it, but a bit more than that: when I improve a character's animation, or change the design in, say, the Swedish version, this design/animation change should be updated in the German and Hungarian versions too, though version-specific color palettes and assets (like the Reichstag image in the German vs the Országház in the Hungarian) remain the same. At the moment I plan to use Git hooks for this, though I have no specific plan for folder/branch structure laid out yet. |
Hey @cameralibre welcome, nice to see you here. Neat project / tool / use case.
I remember seeing and liking Layer Vault a lot as it was the best "git like"
thing I had seen for designers.
My intuitive feeling with what you're trying to do with the animation stack / toolchain
you're building (which is pretty amazing, BTW is there is no proper tool /
platforms that meet those needs (yet).
I could envision a mixture of components like:
- Config files that stored in git version control
- Use of existing multi-language tools (.pot files, etc..)
- Structure for saving / replicating video files
- Rendering layer / app (something like Jekyll / output format)
- Rendering "view" standard (for previous items)
Would be cool to hangout sometime and see your workflows in real life to get
a better picture of it all :)
|
@bnvk great suggestions, and I think many of your thoughts can be generalised to any design medium, not just animation. |
@cameralibre Thank you for the mention! Just want to clarify that RenderChan is not only rendering tool, but it also extend to some helper of managing your animation files. We also plan to extend it more to deep integration with file sharing platforms and file managing solution We have first prototype alive that enriches functionality of Pydio with RenderChan rrendering features - https://sources.morevnaproject.org/ Notice, you can click any synfig/blender file and choose "download with dependencies" function. THis will fetch the file together with all files required to work with it. This is one of the features delivered from RenderChan file management features. |
@morevnaproject cool! :)
If you want to integrate more with Nextcloud you’re very welcome! Just come over to #nextcloud-dev in IRC and let us know if you need anything. |
@jancborchardt Thank you for the invitation! At the moment the main problem with NextCloud is that it doesn't support upload/download resume for big files. In my region internet bandwidth is starving and connection often gets broken. This is a serious issue, especially considering the size of our projects. Second issue is that upload for big amounts of data (especially with many small files) is generally slow (I didn't tested for NextCloud, but that was the case for OwnCloud). For those two reasons we, unfortunately, have abandoned Own Cloud as synchronization solution. |
@morevnaproject please feel free to open an issue in our tracker at https://github.com/nextcloud/server/issues about that. :) Or let me know if we should continue on an issue tracker of your project. |
Hello @jancborchardt! Thank you for answer and apologies for delayed answer. Regarding the first issue, I found it is already submitted for your tracker (for upload) - nextcloud/server#673 Regarding the resume of download: I would like to ask first - is it supported with current version of NextCloud? I.e., if I download big files, then connection gets broken and restored again - will it start downloading file from the start? If this isn't supported, I will be happy to submit an issue. (Last time I tried this with OwnCloud this wasn't worked). Regarding the issue with uploading many small files - I have found one issue very similar to what I as experiencing - nextcloud/server#3574 |
Hey I've been fiddling with this kind of thing today on my own project: https://github.com/jcklpe/BrandingToolkitTemplate/tree/twc-branch I was wondering if ya'll's thought processes had evolved on this stuff at all in the last couple of years? I actually found this thread because after implementing gitlfs in my repo today I wondered if it would have some kind of tie in I could use with nextcloud. I already have a self hosted nextcloud server anyway actually. How's ya'll's process with this gone though? |
Just for info @jcklpe since the thread is already a bit older: We mostly moved from using GitHub for communication like this to our forum at https://discourse.opensourcedesign.net – be welcome there and feel free to open a thread about it there. :) (We do still use GitHub, but for specifically working on the website.) |
Hi, I've recently joined the group and I've been reading through the website and conversations - I'm not used to Github so I'm just getting my head around the group structure, but I'm really impressed with what has been going on so far :)
One resource that I would love to have available is some set of guidelines for how to set up a collaborative version-controlled artistic/design project - I've found plenty of resources on how to use git, but so much of it is tied to software that it can be difficult for people without coding experience to translate it to their own design work.
Does anything like this exist? Or could we start to gather ideas to make it?
I'm thinking of something like the linked Git Smart article from the resources page, but really focused on collaborating on design.
These could be very simple tips, like putting images in your README, or (more useful) could be about ways to approach commiting, branches, and using issues etc within a design project, with examples.
For example, right now I'm struggling with the issue of how to deal with internationalized projects - I have a repository for an animation with versions (in different stages of completion) in German, English, Swedish and Hungarian, and plan many more. With each new version I plan to update the earlier versions with any improvements to the sound mix, animation, design, etc.
I have no idea how to best organise a git repo for this, and haven't seen too many good examples of this outside of software to learn from.
@xuv et al linked to a couple of example projects in their Design with Git project, and I think this issue ties in a bit with the question of #71, on designers using Github for their portfolios.
But beyond listing projects, maybe we can start to draw out ideas and approaches that seem to work well from the few project examples that exist. What do you think?
The text was updated successfully, but these errors were encountered: