I'm doing the reverse: using git hooks to reflect XML files managed in git in BaseX, where BaseX serves as a read-only index over the docs.
However, it would be possible to use git's remote API (or the API of a git server like GitLab or GitHub) to reflect changes made in BaseX back into your git repo. You wouldn't do it directly from the file system.
My work is part of the DITA for Small Teams project, http://dita-for-small-teams.org. I'll be speaking about it remotely on Friday at the BaseX user meetup in advance of the XML Prague conference.
Cheers,
Eliot
---- Eliot Kimber, Owner Contrext, LLC http://contrext.com
From: basex-talk-bounces@mailman.uni-konstanz.de on behalf of Enea Parimbelli enea.parimbelli@gmail.com Date: Wednesday, February 10, 2016 at 6:33 AM To: "basex-talk@mailman.uni-konstanz.de" basex-talk@mailman.uni-konstanz.de Subject: [basex-talk] BaseX and Git versioning of XML at the same time
Dear all, I'm Enea from Italy (working at the university of Pavia) and this is my first email to this list and I hope you'll forgive my dumb question. For one of my projects I was planning to use BaseX to be able to run Xqueries to manipulate a bunch of XMLs that I have on my filesystem (i.e. to take advantage of what XQuery can do vs manual editing of the xml files). At the same time I would like to have a version control system (Git in my case) control my files to be able to diff, branch, revert changes etc. However the way BaseX internally stores files is preventing me from doing this easily.
Here is an example of what I have in mind: 0. I have a bunch of xmls in a folder (versioned with a git repo) 1. I create a baseX database from these 2. Run a bunch of updates/edits on the files using Xquery processor from basex 3. move back to git to diff what I've accomplished, commit, etc. 4. (possibly more advanced, not sure if I really need this) I want to be able to checkout a previous version of the files and have basex do the same (i.e. if I run a query now I want it to run on the version of the xmls that I have currently checked-out in my filesystem)
Here are the (dumb) questions: 1. Is there a way for basex (maybe some config settings when I create the database?) to work keeping on the plain xml files? In a way that every update query would actually change the original xml files (which I can view with a plain text editor even "outside" the basex environment)? 2. Is the only way of immediately seeing the changes I made to the xml files to export the database after every update? 3. (assuming 1 is doable) Would it be possible to have baseX recognize the changes made to the xml files using an external editor (i.e. not through xqueries run in basex)? 4. From your experience is BaseX the proper tool for my purposes? It feels to me that I merely want to use its xquery processor capabilities (and I don't need the full-fledged database) while keeping the files plainly stored in my filesystem... any suggestion on alternative options if baseX doesn't sound like the right one?
Thanks in advance for the help, and congratulations on the great work (I used basex in the past in a more orthodox way and was impressed by the numerous nice features... including being the nice GUI and the hassle-free integration with tomcat!)
Best regards, Enea Parimbelli