Version control solutions for Office documents?
March 10, 2016 8:10 AM
I work with a remote team that needs to edit office files (primarily documents and presentations) simultaneously, and we're collapsing under emailed file versions or multiple versions with updates saved to a shared drive. I am wondering if there are functional workflows for using version control software like Git to save and share files. I am not looking for Track Changes, which is still too limited for our use cases. I need a solution that supports branching and merging, not just saving binary files.
I've tried using LibreOffice and putting the flat file under VCS, but the VCS encounters conflicts when attempting even simple merges, and the resulting file is unable to be opened.
The kinds of things we want to do include having multiple people working on a document simultaneously, with different people editing different sections, and then pulling all of those changes into a single document. On the slide deck side, we might have multiple people working on different parts of the presentation, and a separate person is editing the slide masters while they work.
I've tried using LibreOffice and putting the flat file under VCS, but the VCS encounters conflicts when attempting even simple merges, and the resulting file is unable to be opened.
The kinds of things we want to do include having multiple people working on a document simultaneously, with different people editing different sections, and then pulling all of those changes into a single document. On the slide deck side, we might have multiple people working on different parts of the presentation, and a separate person is editing the slide masters while they work.
Using version control tools for text on these might be hackable, but I can't recommend it.
If you need the end results to be Office compatible, the Office 365 is the Microsofty way to do this. SharePoint would also give you this, but at a much bigger commitment in time and money.
posted by advicepig at 9:24 AM on March 10, 2016
If you need the end results to be Office compatible, the Office 365 is the Microsofty way to do this. SharePoint would also give you this, but at a much bigger commitment in time and money.
posted by advicepig at 9:24 AM on March 10, 2016
Agree that for the Word documents you'd be far better off using Google Docs - Word just isn't designed for this type of workflow. All the version control systems I've ever used relied on restricting access to one person at a time by having people "check out" a document. In Google Docs you can all work in the same document at the same time, so you don't need to merge anything.
That's probably not going to solve your presentation problems, as Google Slides sadly has nowhere near the functionality that PowerPoint does. The only solution I've found is just to be strict about tracking who is working on which slides, and then manually copy-pasting it all back together. If you come up with a better solution I'll probably steal it!
posted by une_heure_pleine at 9:24 AM on March 10, 2016
That's probably not going to solve your presentation problems, as Google Slides sadly has nowhere near the functionality that PowerPoint does. The only solution I've found is just to be strict about tracking who is working on which slides, and then manually copy-pasting it all back together. If you come up with a better solution I'll probably steal it!
posted by une_heure_pleine at 9:24 AM on March 10, 2016
You can do this in MS Office with Sharepoint or Office365, but that's a big expense and headache if they aren't already deployed for your company.
posted by mattamatic at 10:29 AM on March 10, 2016
posted by mattamatic at 10:29 AM on March 10, 2016
I've used Google Docs and I've used Office 365. Both are good.
posted by Ruthless Bunny at 11:04 AM on March 10, 2016
posted by Ruthless Bunny at 11:04 AM on March 10, 2016
You're definitely going to have to switch to using something that supports having multiple editors, like Google Docs.
Git definitely does not and cannot support what you're trying to do, because you're working with binary files; it's not possible for Git to manage changes to them the way it does with text files. Common office document formats are compressed and will be turned into garbage if you attempt to manipulate them like text files.
If you really want branching and merging, you need to be working with text. Realistically, however, you should probably settle for Google Docs or Office 365.
posted by mister pointy at 5:36 PM on March 10, 2016
Git definitely does not and cannot support what you're trying to do, because you're working with binary files; it's not possible for Git to manage changes to them the way it does with text files. Common office document formats are compressed and will be turned into garbage if you attempt to manipulate them like text files.
If you really want branching and merging, you need to be working with text. Realistically, however, you should probably settle for Google Docs or Office 365.
posted by mister pointy at 5:36 PM on March 10, 2016
Yep; git won't help you with binary files. It works strictly on text files, by determining which lines have been added / deleted / changed. Binary files just aren't structured that way—no merge tool will give you reliable results on binary files unless it's specifically designed for the binary format you're working with.
One option (though probably not a realistic one) is to ask your team to use a text format such as Markdown. Then, git will work just fine.
But, yeah—unless the team in question is pretty technical, it won't be realistic to expect them to learn Markdown and git. Google Docs is the simple solution.
posted by escape from the potato planet at 8:36 PM on March 10, 2016
One option (though probably not a realistic one) is to ask your team to use a text format such as Markdown. Then, git will work just fine.
But, yeah—unless the team in question is pretty technical, it won't be realistic to expect them to learn Markdown and git. Google Docs is the simple solution.
posted by escape from the potato planet at 8:36 PM on March 10, 2016
But, yeah—unless the team in question is pretty technical, it won't be realistic to expect them to learn Markdown and git. Google Docs is the simple solution.
I'll second that conclusion. But people are overstating the case to say that it's impossible for git to work with binary files. A quick google search will turn up lots of people doing it. At its core git just stores files, and it can do that just as well with binary files. Poor delta compression may make it inefficient, but it won't turn files into garbage. It can even support diff and merge on non-text files if you tell it how.
And, again, google for "git word documents" and you'll even find people attempting that, generally by doing Markdown under the covers with some more-or-less transparent translation to word.
Which sounds pretty scary to me, so really I agree with the consensus here. But if you are a pretty technical team and willing to experiment, then it might be worth looking at what other folks have done here.
posted by bfields at 5:41 AM on March 11, 2016
I'll second that conclusion. But people are overstating the case to say that it's impossible for git to work with binary files. A quick google search will turn up lots of people doing it. At its core git just stores files, and it can do that just as well with binary files. Poor delta compression may make it inefficient, but it won't turn files into garbage. It can even support diff and merge on non-text files if you tell it how.
And, again, google for "git word documents" and you'll even find people attempting that, generally by doing Markdown under the covers with some more-or-less transparent translation to word.
Which sounds pretty scary to me, so really I agree with the consensus here. But if you are a pretty technical team and willing to experiment, then it might be worth looking at what other folks have done here.
posted by bfields at 5:41 AM on March 11, 2016
This thread is closed to new comments.
(I'm not biased against Office, and actually used to work on the code years ago.)
posted by w0mbat at 9:14 AM on March 10, 2016