Loading ...
Sorry, an error occurred while loading the content.

Integrating EditPlus with Source Control Systems

Expand Messages
  • mljones1947
    Several months ago, I posted a sample for integrating EditPlus with Microsoft s Visual SourceSafe (VSS) using the VSS command line interface. It has some
    Message 1 of 6 , Aug 31, 2002
    • 0 Attachment
      Several months ago, I posted a sample for integrating EditPlus with
      Microsoft's Visual SourceSafe (VSS) using the VSS command line
      interface. It has some limitatons, and I wanted to try developing a
      Windows scripting version to use the VSS COM interface. It wasn't a
      high priority at the time, but my interest has been renewed recently.

      I'm planning on doing this on an incremental basis, with the "most
      important" functionality being implemented first. Of course, my view
      of what's important might not match that of anyone else. It would be
      nice if others found it useful.

      So, if anyone thinks that they could use such a tool, either for VSS
      or as a template for integrating with the COM interface of another
      source control system, let me know what functionality you think falls
      into the "must have" category.

      Mike
    • Adam
      Mike, I think the idea is a good one, and I got it working today except for one problem. Maybe you ve run across it already. I have a problem with files in
      Message 2 of 6 , Nov 4, 2002
      • 0 Attachment
        Mike,

        I think the idea is a good one, and I got it working today except
        for one problem. Maybe you've run across it already.

        I have a problem with files in subdirectories. Suppose, for example,
        I have myfile.txt sitting in mysubdirectory. If I do -
        get "$(FileName)" - EP translates this into - get "myfile.txt" - and
        VSS tells me the file doesn't exist. If I do - get "$(FilePath)" -
        EP translates this into - get "C:/mysubdirectory/myfile.txt" - and
        VSS says it's bad syntax. What I would need is -
        get "mysubdirectory/myfile.txt" - which VSS understands, but EP
        doesn't have an argument macro for the relative path.

        It's a shame, because I would like to just close VSS Explorer and
        not have to use it. I am constantly flipping back and forth between
        EP and VSS. But most of my files are in this or that other
        subdirectory.

        Have you come across this problem?

        Adam


        --- In editplus@y..., "mljones1947" <mljones1947@y...> wrote:
        > Several months ago, I posted a sample for integrating EditPlus
        with
        > Microsoft's Visual SourceSafe (VSS) using the VSS command line
        > interface. It has some limitatons, and I wanted to try developing
        a
        > Windows scripting version to use the VSS COM interface. It wasn't
        a
        > high priority at the time, but my interest has been renewed
        recently.
        >
        > I'm planning on doing this on an incremental basis, with the "most
        > important" functionality being implemented first. Of course, my
        view
        > of what's important might not match that of anyone else. It would
        be
        > nice if others found it useful.
        >
        > So, if anyone thinks that they could use such a tool, either for
        VSS
        > or as a template for integrating with the COM interface of another
        > source control system, let me know what functionality you think
        falls
        > into the "must have" category.
        >
        > Mike
      • ybilik
        Hi Adam, I told EditPlus editor that it would be great to have more macros, such as $(FilePathNoDrive), for e.g. To be able to use VSS, I ve written a little
        Message 3 of 6 , Nov 6, 2002
        • 0 Attachment
          Hi Adam,

          I told EditPlus editor that it would be great to have more macros,
          such as $(FilePathNoDrive), for e.g.
          To be able to use VSS, I've written a little batch file to avoid this
          lack from EditPlus. It works on Windows 2000 at least.

          Create and save a file named vsscall.cmd, containing this line:
          @"Path_to_VSS\win32\SS.EXE" %1 $%~p2%~nx2 -I-Y -C-

          Just chnage the path to VSS.
          Then create user-tools in EditPlus as following:

          1. Check out:
          Command: "vsscall.cmd"
          Argument: Checkout $(FileName)
          Initial directory: $(FileDir)
          (check "capture output)

          2. Check in:
          (only Argument to change)
          Argument: Checkin $(FileName)

          3. Undo Checkout:
          (only Argument to change)
          Argument: Undocheckout $(FileName)

          Of course, it works only if your local directory tree matchs VSS one.

          Regards,

          Yan Bilik
          http://pourpre.com


          --- In editplus@y..., "Adam" <adam.becker@f...> wrote:
          > Mike,
          >
          > I think the idea is a good one, and I got it working today except
          > for one problem. Maybe you've run across it already.
          >
          > I have a problem with files in subdirectories. Suppose, for
          example,
          > I have myfile.txt sitting in mysubdirectory. If I do -
          > get "$(FileName)" - EP translates this into - get "myfile.txt" -
          and
          > VSS tells me the file doesn't exist. If I do - get "$(FilePath)" -
          > EP translates this into - get "C:/mysubdirectory/myfile.txt" - and
          > VSS says it's bad syntax. What I would need is -
          > get "mysubdirectory/myfile.txt" - which VSS understands, but EP
          > doesn't have an argument macro for the relative path.
          >

          > Have you come across this problem?
          >
          > Adam
        • Adam
          Yan, Thanks. That s a good idea. Actually I found another solution. Check out: http://www.tenandsix.com/ultraedit/ssue/default.asp This works with EditPlus as
          Message 4 of 6 , Nov 6, 2002
          • 0 Attachment
            Yan,

            Thanks. That's a good idea. Actually I found another solution.

            Check out: http://www.tenandsix.com/ultraedit/ssue/default.asp

            This works with EditPlus as well.

            Also, I wrote to the author, who kindly provided me with a newer
            version of this utility which gets it to work even if your local
            tree structure doesn't match VSS's.

            I agree on your comment on the argument macros. Certainly would be
            useful.

            Adam

            --- In editplus@y..., "ybilik" <ybilik@y...> wrote:
            > Hi Adam,
            >
            > I told EditPlus editor that it would be great to have more macros,
            > such as $(FilePathNoDrive), for e.g.
            > To be able to use VSS, I've written a little batch file to avoid
            this
            > lack from EditPlus. It works on Windows 2000 at least.
            >
            > Create and save a file named vsscall.cmd, containing this line:
            > @"Path_to_VSS\win32\SS.EXE" %1 $%~p2%~nx2 -I-Y -C-
            >
            > Just chnage the path to VSS.
            > Then create user-tools in EditPlus as following:
            >
            > 1. Check out:
            > Command: "vsscall.cmd"
            > Argument: Checkout $(FileName)
            > Initial directory: $(FileDir)
            > (check "capture output)
            >
            > 2. Check in:
            > (only Argument to change)
            > Argument: Checkin $(FileName)
            >
            > 3. Undo Checkout:
            > (only Argument to change)
            > Argument: Undocheckout $(FileName)
            >
            > Of course, it works only if your local directory tree matchs VSS
            one.
            >
            > Regards,
            >
            > Yan Bilik
            > http://pourpre.com
            >
            >
            > --- In editplus@y..., "Adam" <adam.becker@f...> wrote:
            > > Mike,
            > >
            > > I think the idea is a good one, and I got it working today
            except
            > > for one problem. Maybe you've run across it already.
            > >
            > > I have a problem with files in subdirectories. Suppose, for
            > example,
            > > I have myfile.txt sitting in mysubdirectory. If I do -
            > > get "$(FileName)" - EP translates this into - get "myfile.txt" -
            > and
            > > VSS tells me the file doesn't exist. If I do -
            get "$(FilePath)" -
            > > EP translates this into - get "C:/mysubdirectory/myfile.txt" -
            and
            > > VSS says it's bad syntax. What I would need is -
            > > get "mysubdirectory/myfile.txt" - which VSS understands, but EP
            > > doesn't have an argument macro for the relative path.
            > >
            >
            > > Have you come across this problem?
            > >
            > > Adam
          • Michael L. Jones
            Everyone, I m the one who uploaded the two versions of the VSS integration tools. I fell a little behind in reading my digests and just noticed this thread.
            Message 5 of 6 , Nov 7, 2002
            • 0 Attachment
              Everyone,

              I'm the one who uploaded the two versions of the VSS integration
              tools. I fell a little behind in reading my digests and just noticed
              this thread.

              I'm planning on reading this more carefully this weekend, plus I'm
              going to try out the EXE from the UltraEdit site.

              Adam, was your original problem with the command line version or the
              VBScript version? I'd like to patch or enhance either or both
              versions so that the next guys who download them will benefit from
              this thread.

              If anyone has any patches or enhancements they've coded and would
              like to share, please mail them to me directly as
              mljones1947@....

              Thanks.

              Mike

              --- In editplus@y..., "Adam" <adam.becker@f...> wrote:
              > Yan,
              >
              > Thanks. That's a good idea. Actually I found another solution.
              >
              > Check out: http://www.tenandsix.com/ultraedit/ssue/default.asp
              >
              > This works with EditPlus as well.
              >
              > Also, I wrote to the author, who kindly provided me with a newer
              > version of this utility which gets it to work even if your local
              > tree structure doesn't match VSS's.
              >
              > I agree on your comment on the argument macros. Certainly would be
              > useful.
              >
              > Adam
              >
              > --- In editplus@y..., "ybilik" <ybilik@y...> wrote:
              > > Hi Adam,
              > >
              > > I told EditPlus editor that it would be great to have more
              macros,
              > > such as $(FilePathNoDrive), for e.g.
              > > To be able to use VSS, I've written a little batch file to avoid
              > this
              > > lack from EditPlus. It works on Windows 2000 at least.
              > >
              > > Create and save a file named vsscall.cmd, containing this line:
              > > @"Path_to_VSS\win32\SS.EXE" %1 $%~p2%~nx2 -I-Y -C-
              > >
              > > Just chnage the path to VSS.
              > > Then create user-tools in EditPlus as following:
              > >
              > > 1. Check out:
              > > Command: "vsscall.cmd"
              > > Argument: Checkout $(FileName)
              > > Initial directory: $(FileDir)
              > > (check "capture output)
              > >
              > > 2. Check in:
              > > (only Argument to change)
              > > Argument: Checkin $(FileName)
              > >
              > > 3. Undo Checkout:
              > > (only Argument to change)
              > > Argument: Undocheckout $(FileName)
              > >
              > > Of course, it works only if your local directory tree matchs VSS
              > one.
              > >
              > > Regards,
              > >
              > > Yan Bilik
              > > http://pourpre.com
              > >
              > >
              > > --- In editplus@y..., "Adam" <adam.becker@f...> wrote:
              > > > Mike,
              > > >
              > > > I think the idea is a good one, and I got it working today
              > except
              > > > for one problem. Maybe you've run across it already.
              > > >
              > > > I have a problem with files in subdirectories. Suppose, for
              > > example,
              > > > I have myfile.txt sitting in mysubdirectory. If I do -
              > > > get "$(FileName)" - EP translates this into - get "myfile.txt" -

              > > and
              > > > VSS tells me the file doesn't exist. If I do -
              > get "$(FilePath)" -
              > > > EP translates this into - get "C:/mysubdirectory/myfile.txt" -
              > and
              > > > VSS says it's bad syntax. What I would need is -
              > > > get "mysubdirectory/myfile.txt" - which VSS understands, but EP
              > > > doesn't have an argument macro for the relative path.
              > > >
              > >
              > > > Have you come across this problem?
              > > >
              > > > Adam
            • Adam
              Mike, I tried the command line version. I did not try the VBScript version. Nor did I try Yan s solution. The problem with the command line version and with
              Message 6 of 6 , Nov 7, 2002
              • 0 Attachment
                Mike,

                I tried the command line version. I did not try the VBScript
                version. Nor did I try Yan's solution.

                The problem with the command line version and with Yan's solution is
                that if you do not set up VSS with same directory structure as you
                have on your PC, you cannot feed VSS the right path. Why, might you
                ask, would anyone set up VSS with a different directory structure?
                Good question. Anyway, we did. And now it is not so simple to change
                it.

                To explain the problem explicitly, I'll give the example of our
                situation. We are writing a web app in Tomcat. On my PC I have
                Tomcat installed under E:/Tomcat. The application is under
                E:/Tomcat/webapps/pires. We also have a Java middle tier. The Java
                classes are located under E:/Tomcat/source. VSS is setup, however,
                so that the name of our project is PBEP (the name of my division in
                my company). Underneath PBEP we have created a pires subdirectory
                and a source subdirectory. So stuff under E:/Tomcat/source needs to
                be mapped to "$/PBEP/source" and stuff under E:/Tomcat/webapps/pires
                needs to be mapped to "$/PBEP/pires".

                So let's suppose that I have some file, say:
                E:/Tomcat/webapps/pires/PWB/Main.jsp. This needs to be mapped
                to "$/PBEP/pires/PWB/Main.jsp." There is no way to do this with the
                Command line version or with Yan's solution. The problem is that you
                need to take the "E:/Tomcat/webapps/" and replace it with "$/PBEP".
                If you just use the filename and try to fudge it, you find that it
                only works for the top level directory and not the subdirectories.
                In the case of a file such as E:/Tomcat/source/MyClass.java,
                however, this would have to map to "$/PBEP/source/MyClass.java". So,
                here you have to replace the "E:/Tomcat" with "$/PBEP". Different
                from the other case because of the stupid way we set up VSS.

                So you need to be able to identify a Root directory where you keep
                your files. And you need to identify what to replace it with.
                Ideally, it would be good to have a little ini file where you keep
                the list of the root directories and what to replace them with. A
                little mapping list. And then, you should have a program or script
                that reads this ini file, looks at the file you passed it,
                identifies the directory, performs the string replacement, and then
                passed the proper string to SS.exe and runs it.

                The guy on the UltraEdit sight uses this idea to some degree. Not
                the idea of the ini file, but atleast the idea of passing in the
                root directory and it's replacement. I had to write to him. You
                won't find this version of SSUE, unless he has posted it very
                recently. When I found SSUE, it essentially solved my problem,
                because I only need to map, in practice to the pires directory (so
                just one replacement, no list needed). I don't use UE to modify my
                java files, just the files on the web site. After that I stopped
                looking at the problem. Had to get back to work! :-)

                Regards,

                Adam

                --- In editplus@y..., "Michael L. Jones" <mljones1947@y...> wrote:
                > Everyone,
                >
                > I'm the one who uploaded the two versions of the VSS integration
                > tools. I fell a little behind in reading my digests and just
                noticed
                > this thread.
                >
                > I'm planning on reading this more carefully this weekend, plus I'm
                > going to try out the EXE from the UltraEdit site.
                >
                > Adam, was your original problem with the command line version or
                the
                > VBScript version? I'd like to patch or enhance either or both
                > versions so that the next guys who download them will benefit from
                > this thread.
                >
                > If anyone has any patches or enhancements they've coded and would
                > like to share, please mail them to me directly as
                > mljones1947@y...
                >
                > Thanks.
                >
                > Mike
                >
                > --- In editplus@y..., "Adam" <adam.becker@f...> wrote:
                > > Yan,
                > >
                > > Thanks. That's a good idea. Actually I found another solution.
                > >
                > > Check out: http://www.tenandsix.com/ultraedit/ssue/default.asp
                > >
                > > This works with EditPlus as well.
                > >
                > > Also, I wrote to the author, who kindly provided me with a newer
                > > version of this utility which gets it to work even if your local
                > > tree structure doesn't match VSS's.
                > >
                > > I agree on your comment on the argument macros. Certainly would
                be
                > > useful.
                > >
                > > Adam
                > >
                > > --- In editplus@y..., "ybilik" <ybilik@y...> wrote:
                > > > Hi Adam,
                > > >
                > > > I told EditPlus editor that it would be great to have more
                > macros,
                > > > such as $(FilePathNoDrive), for e.g.
                > > > To be able to use VSS, I've written a little batch file to
                avoid
                > > this
                > > > lack from EditPlus. It works on Windows 2000 at least.
                > > >
                > > > Create and save a file named vsscall.cmd, containing this line:
                > > > @"Path_to_VSS\win32\SS.EXE" %1 $%~p2%~nx2 -I-Y -C-
                > > >
                > > > Just chnage the path to VSS.
                > > > Then create user-tools in EditPlus as following:
                > > >
                > > > 1. Check out:
                > > > Command: "vsscall.cmd"
                > > > Argument: Checkout $(FileName)
                > > > Initial directory: $(FileDir)
                > > > (check "capture output)
                > > >
                > > > 2. Check in:
                > > > (only Argument to change)
                > > > Argument: Checkin $(FileName)
                > > >
                > > > 3. Undo Checkout:
                > > > (only Argument to change)
                > > > Argument: Undocheckout $(FileName)
                > > >
                > > > Of course, it works only if your local directory tree matchs
                VSS
                > > one.
                > > >
                > > > Regards,
                > > >
                > > > Yan Bilik
                > > > http://pourpre.com
                > > >
                > > >
                > > > --- In editplus@y..., "Adam" <adam.becker@f...> wrote:
                > > > > Mike,
                > > > >
                > > > > I think the idea is a good one, and I got it working today
                > > except
                > > > > for one problem. Maybe you've run across it already.
                > > > >
                > > > > I have a problem with files in subdirectories. Suppose, for
                > > > example,
                > > > > I have myfile.txt sitting in mysubdirectory. If I do -
                > > > > get "$(FileName)" - EP translates this into -
                get "myfile.txt" -
                >
                > > > and
                > > > > VSS tells me the file doesn't exist. If I do -
                > > get "$(FilePath)" -
                > > > > EP translates this into -
                get "C:/mysubdirectory/myfile.txt" -
                > > and
                > > > > VSS says it's bad syntax. What I would need is -
                > > > > get "mysubdirectory/myfile.txt" - which VSS understands, but
                EP
                > > > > doesn't have an argument macro for the relative path.
                > > > >
                > > >
                > > > > Have you come across this problem?
                > > > >
                > > > > Adam
              Your message has been successfully submitted and would be delivered to recipients shortly.