Spring Roo
  1. Spring Roo
  2. ROO-482

Support for source control systems

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Complete
    • Affects Version/s: 1.0.0.RC4
    • Fix Version/s: 1.1.3.RELEASE
    • Component/s: SCM
    • Labels:
      None
    • Environment:
      OS X 10.6.3, MacBook Pro, SVN 1.6.x

      Description

      Almost all projects use source control systems such as SVN, CVS, GIT and Perforce. As a result, most production Roo projects will be managed by one of these systems. Its a best practice, which should be encouraged and made simple by the Roo command-line. So, when the Roo project is managed by source control, automatically mimic user actions when managing source code. Here are some examples of what can happen:

      • when a new project is created, check to see if the directory is under source control, and if it is, add source folders or files to the source control system. Automatically "ignore" output folders and files as well as files that will always be modified at runtime (log files for example).
      • if new source files are generated by the roo command line, "add" them to the source control. In the case of SVN, this will be the "svn add" command.
      • if existing files are deleted by the user, the command line should "delete" any managed files from the source control system. In the case of SVN, this will be the "svn del" command.
      • provide a command line option to add a Roo project that isn't under source control to source control.

      This suggestion originates from the rails command line. You can specify "-c" for artifacts to be managed by SVN, or "-g" for files to be managed by GIT. As Roo becomes more complex in its generation capabilities and add-ins, it will simplify Roo a great deal if it can support source control systems.

      This could be implemented through plugins, allowing other developers to add support for additional source control systems in the future.

        Issue Links

          Activity

          Hide
          Stanislav Jursky added a comment -

          If I may speak freely, we would like to create TFS addon just like you Roo team did for GIT. We are currently using eclipse tfs addon "Microsoft Visual Studio Team Explorer Everywhere 2010" Version 10.0.0.201003261741

          Are there any dependencies in git roo addon that we should know about? It seems to me that the core for integration with roo is org.springframework.roo.addon.git.GitShellEventListener if I ignore internal git commands. What I'm trying to point at, is that am I forced to make some changes to other roo base/core addons in order to develop TFS one?

          Thanks in advance.

          Show
          Stanislav Jursky added a comment - If I may speak freely, we would like to create TFS addon just like you Roo team did for GIT. We are currently using eclipse tfs addon "Microsoft Visual Studio Team Explorer Everywhere 2010" Version 10.0.0.201003261741 Are there any dependencies in git roo addon that we should know about? It seems to me that the core for integration with roo is org.springframework.roo.addon.git.GitShellEventListener if I ignore internal git commands. What I'm trying to point at, is that am I forced to make some changes to other roo base/core addons in order to develop TFS one? Thanks in advance.
          Hide
          Stefan Schmidt added a comment -

          @Werner, I'll go ahead and resolve this ticket given Roo now offers support for Git version control (see ROO-911). At this point we are not planning to offer support for SVN but I am sure this will follow soon as a community add-on.

          Show
          Stefan Schmidt added a comment - @Werner, I'll go ahead and resolve this ticket given Roo now offers support for Git version control (see ROO-911 ). At this point we are not planning to offer support for SVN but I am sure this will follow soon as a community add-on.

            People

            • Assignee:
              Stefan Schmidt
              Reporter:
              Werner Strydom
            • Votes:
              4 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: