[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook] XML/XSL Revision Control/ Source Code Versioning: Ideas, Methods, Tools for Specific scenario as a Content Writer?
Hi, we have been storing all our documentation-related things in Git for years now, and it works well for us. We store the source XML-s and the stylesheets in separate repositories, so if we change something in the stylesheets, it will be automatically applied to the next build of the documents. Also, the documentation of every product has its own repository, with separate branches for the major product versions. That way if we make a change in the source XML that affects multiple product versions (for example, correct a typo), we can cherry-pick this change relatively easily to every affected version, and the change will be available in the next build of the docs. IMHO, pick whatever version controlling software seems fitting for you, but use it all the time. If your VCS server runs on a separate machine (or with a distributed system, you push your changes to a separate machine as well), you have instant backup of your work, which can be sometimes a lifesaver. As for comparing XML files: I don't use tree-based diffing tools (still have to find one that gives usable output). For smaller changes, or for reviewing changes to a file, I use the commit history (changelog) of git. I like to keep commits clean and relatively small - one change in a commit if possible - so the history is clean and readable. (This also makes cherry-picking much easier.) For reviewing larger changes, I usually use a simple text-comparing tool. I use Meld on Linux, but there are probably many others that get the job done. HTH Regards, Robert On Saturday, December 8, 2012 11:21 CET, "AS" <firstname.lastname@example.org> wrote: > XML/XSL Revision Control/ Source Code Versioning: Ideas, Methods, Tools for Specific scenario as a Content Writer? > > For many years, I've been using XML/ XSL/ XSD based mechanisms to separate: > > Input: > - XML - Content/ Data > - XSL - Styling & Data Transformations/ Translations > - XSD - Schemas / Data Models > > Output: > - XML (Different Schema) > - XSL:FO (for PDF), Word ML (for DOC/DOCX), XHTML - Viewable Documents (XML + Styling) > > BACKGROUND: > > - I've done some extensive hands-on XML/ XSD modeling & Enterprise XSLT framework development in the past. > - I do not write much code anymore due to larger responsibilities as an Architect. But, I like to play with the tech & models so that I can better lead the development teams. > - So I mostly do it for some Personal & Proof of Concept ideas & projects to test thoughts & possibilities on some Directories/ Folders on my laptop Hard Drive. > > DETAILS: > > Now over time, over various projects they all go through varying degrees of change > - XML Content - Huge Degree > - XSL - Medium Degree > - XSD - Lesser Degree > > I'd like to do Source Code Versioning/ Revision Control for them and wondering what you guys do for the same? > - The XML Content Data changes the most and I'd like to store versions of the Content over time & changes > - The XSL will change less and XSD even lesser over time > - Be able to Compare/ Diff the content through various versions and branches > - Be able to Merge some/ more/ or all of the "differences" between various versions & branches > > FREQUENTLY USED SCENARIOS - > e.g. XML based Project Descriptions/ Outlines & White Paper Writeups > - XML content write up changes made on daily & more frequent basis > - XML Content write up for White Papers - Rearticulated and organized regularly > > At the moment I can think of manually copying and renaming each version of the XML everytime, but its kind of cumbersome. > > I've used various versions of these XML tools over the years and have access to relatively recent versions. > - Altova XML Spy & Mission Kit, Diff Dog > - Sonic Stylus Studio > - OxygenXML > - EditPlus > > I've also used some Source Code/ Revision Control in the past but its too far ago. > > Recently, I just downloaded and am playing with Git to learn more about it and wondering if it will work well for this. > > QUESTIONS: > - What do you use and how? > - What do you suggest using in my SPECIFIC SCENARIOs? and how? > > Thanks in advance. > > - AS > ..