5 Replies Latest reply: Sep 23, 2016 11:05 AM by Jean Philippe Golay RSS

    Version Control, TFS

    Sebastian Öhman

      Hello.

       

      Is there a best practice on how to do version control with TFS and QDF?

      I have read several PDF's on QV and version control but it still seems quite messy/complicated.

      And I cant seem to find anything about version control in the QDF documentation folder?

       

      So what's a good version control strategy, in a multi developer environment.

       

      A good starting point for discussion would be, should I use the built in support in QV, or use some external GUI?

      The problem I have here is that if I use the built in support, how do I get all of the QDF-folders into TFS, since the built in support only focuses on the current document?

        • Re: Version Control, TFS
          Andrew Ritting

          This document is not a complete answer, but have you read this QDF Integrated Development Environment (IDE) ?

           

          Some of the issues that need to be addressed:

          • some qvw files are huge and you wouldn't want multiple copies of them
          • you need -prj folders that contain the XML source of the qvw application - the QDF does address this with a bat program that will create the folders, but you still have to open the qvw and save it.
          • using a common share instead of checking out files to a local folder

           

          After reading the referenced document I have started creating more QVS files and include them into the QVW. I put these in 3.Include\6.Custom

            • Re: Version Control, TFS
              Sebastian Öhman

              Thanks for your input.

              It's just issues like the one you stated that I don't like. "Issues" that one needs to have in mind.

               

              For example:

              When checking out the code on a new machine, I have to manually recreate all the .qvw's.

               

              Also, another "gotcha" I just noticed:

              The "InitLink.qvs" file in the QDF-document root was both HIDDEN and marked as a SYSTEM file, so that one didn't get checked into TFS...

               

              I then checked out the full QDF container structure on a new machine and of course, reload of the document didn't work.

               

              Conclusion:

              I guess I'm probably "doing it wrong", but I want to use it like "ordinary" VCS, with every developer having their own checked out copy of the QDF.

               

              Also wanting all code "flow" thru VCS/TFS.

              E.g:

              Developer adds new feature to .qvw -> Checkin to TFS -> Check out the TFS-revision to be tested at test server -> re-create QVW at test server

               

              I.e, I dont want to manually handle the .qvw files, since that will become a mess. How do I keep track of which TFS-version a .qvw corresponds to? I guess I then have to start naming the .qvw files like:

               

              FoobarApp_TFS-revision_32402.qvw and so on...

                • Re: Version Control, TFS
                  Jean Philippe Golay

                  Hi Sebastian do you need to merge 2 diferent QVW apps?

                  JP

                    • Re: Version Control, TFS
                      Sebastian Öhman

                      Hello.

                      No, no need to merge different apps.

                       

                      But I would like to use a branching-strategy similar to this one:

                      http://nvie.com/files/Git-branching-model.pdf

                       

                      Lets say I have 3 branches, release/master + bugfixes + develop

                      1. I release version 1.0 of a document, from release/master
                      2. I start developing version 2.0 in the develop branch
                      3. I need to do a bugfix in bugfix branch, which is then merged into release/master
                      4. A couple of more bugfixes
                      5. It's now time to release version 2.0. Problem now is that I need to merge develop branch into release/master, which has changed with the "bugfixes" during development time. I cannot simply do a "overwrite" merge, since that would give me the 2.0 without the bugfixes. And I don't see how I could possibly do a manual merge of all the XML-files....

                       

                      The only (straightforward) way I see around this is to also implement the bugfixes in parallel in the development branch....

                • Re: Version Control, TFS
                  Jean Philippe Golay

                  Would be difficult maybe impossible to have diferent branches without merging apps on reconciliation.

                  Maybe have a look on ebiexperts Version Manager for QlikView it manages not only versions but make real compares manage variables and deploy to various servers.

                  There is projects and releases that you can use like branches

                  JP