Is there any good workflow/tooling for having good version control on spreadsheets for game data? Ideally something that supports branching or merging.

Google spreadsheets allow people to edit data live so it makes "merging" easy, but it gets really hard to link the data that's live in a spreadsheet with the current version of the game in source control (ie. your git repo or other)

Conversely, with a local tool like Excel you at least have actual files that can be stored in the repo, but there doesn't seem to be good tooling for merging different versions of them.

With all that in mind, how can we ensure that a specific branch in a game repo can be linked to a specific version of the game data, and how can we allow people to work on different "branches" of game data in parallel while still keeping the ability to source control?

  • \$\begingroup\$ Put unrelated data in seperate spreadsheets, and use Excel so you can version the files. \$\endgroup\$
    – Almo
    Mar 23, 2020 at 17:54
  • 1
    \$\begingroup\$ @Almo this looks like it could be an answer, especially if you have any tips about solving the merge problem OP mentions. \$\endgroup\$
    – DMGregory
    Mar 23, 2020 at 21:35
  • \$\begingroup\$ You don't want to merge. Hence seperate files. \$\endgroup\$
    – Almo
    Mar 24, 2020 at 2:15
  • 1
    \$\begingroup\$ Is the merging with Excel difficult because you're using a fancy file format instead of an easily human readable one like csv or xml? \$\endgroup\$
    – milk
    Mar 24, 2020 at 7:38
  • \$\begingroup\$ CSV is probably your best bet with spread sheets. Not sure about XML (although that should be good for other file types). CSV is super easy for merging and is very human readable if you run into issues. The only drawback I can think of is you probably wont be able to use formulas. \$\endgroup\$ Aug 22, 2020 at 4:06

1 Answer 1

  1. You can store in (any) VCS text-only version of your spreadsheets (CSV, f.e.), but work only with original (binary XLSX) presentation of data (edit/update|export|commit)
  2. You can use non-default tools, which can diff|merge your spreadsheets "as is" and have standard workflow

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .