Coding Coexistence with Deskop and Laptop? What do you do?

by BeckM2
7 replies
  • WEB DESIGN
  • |
I have a laptop and a desktop and often take the laptop on the road and do a lot of my web development and programming work. I have a docking station at home where I plug the laptop in to a 24" external monitor and continue to work away.

The problem that I have is that my desktop is a much more powerful machine than the laptop and has a dual-monitor setup, and thus I'd like to get my desktop involved. I'm well versed in syncing the machines, but I've yet to find a solution to the following problem:

How do other people use dreameweaver, wampserver, etc. to code heavily on the road with their laptop, but come home, and continue the work on the more powerful desktop?

And obviously I know how to sync individual files -- that's not what this question is about. It's more about replicating my environment (for lack of a better phrase) from the laptop to the desktop -- so I can use the desktop to pick-up where I left off on the laptop, but then jump back on the road the next morning with the laptop up to date.

What do you do?

Thanks!
#coding #coexistence #deskop #laptop
  • Profile picture of the author mojojuju
    Why not just develop on a world accessible web server? That way, you can access your project on any computer, from anywhere.
    Signature

    :)

    {{ DiscussionBoard.errors[3004838].message }}
  • Profile picture of the author kkoechel
    my "environment" is:

    gedit and svn, so with any linux I am gtg

    What sort of requirements does your environment have that git or svn couldn't handle?
    {{ DiscussionBoard.errors[3005073].message }}
    • Profile picture of the author BeckM2
      Originally Posted by kkoechel View Post

      my "environment" is:

      gedit and svn, so with any linux I am gtg

      What sort of requirements does your environment have that git or svn couldn't handle?
      It's funny you ask, because I did try svn, and I felt it added too much overhead with dreamweaver. With my own version control system, after I after I make any kind of major changes, I create a backup copy of the entire site folder and give it a label (e.g. kkoechelWeb_v0.2). I have an excel spreadsheet where I document why kkoechelWeb_v0.2 is different than kkoechelWeb_v0.1. In this manner I found it very easy to go ahead and roll back if needed. I found that svn didn't provide as much clear-cut separation and access to everything if I had to go back later.

      I've never looked at gedit -- but for some stuff I like DW as a development tool -- despite its limitations.

      But in all seriousness I find that when I start to sync the laptop and desktop for things like that, I wind up having to basically use a drop-folder type setup on the laptop, for example, then sync that with the desktop. I then have to sync the drop-folder back to the client folder on the laptop as well.

      My rationale here is that I don't want to directly save from the desktop (where I've made hypothetical corrections) directly to the original client folder without some kind of intermediate folder like a drop folder -- JIC I screw it up.

      So the only solution I have so far is (assuming laptop is primary development machine):

      1. LAPTOP/client folder has website files.
      2. LAPTOP/dropFolder has copy of website files.
      3. DW on DESKTOP accesses LAPTOP/dropFolder for desktop-based editing.
      4. At the end of the DESKTOP editing session, changes are "committed" by copying from LAPTOP/dropFolder to LAPTOP/client.

      It's bulky but it's safe and I can't think of a better way.
      Signature
      Short Hills Design, LLC
      Internet Marketing for Dentists and Physicians
      {{ DiscussionBoard.errors[3011983].message }}
      • Profile picture of the author phpbbxpert
        Originally Posted by BeckM2 View Post

        It's funny you ask, because I did try svn, and I felt it added too much overhead with dreamweaver. With my own version control system, after I after I make any kind of major changes, I create a backup copy of the entire site folder and give it a label (e.g. kkoechelWeb_v0.2). I have an excel spreadsheet where I document why kkoechelWeb_v0.2 is different than kkoechelWeb_v0.1. In this manner I found it very easy to go ahead and roll back if needed. I found that svn didn't provide as much clear-cut separation and access to everything if I had to go back later

        This is exactly what SVN and/or GIT are for.

        They are version control systems allowing you to sync from anywhere with an internet connection.

        When hitting a major version, you create a Tag for your Working Copy and commit it.

        Version control allows you to track every change, no matter what it is and revert back to it at any time.

        There are UI's for both SVN and GIT, neither of these need to have anything to do with DreamWeaver.

        There is a learning curve for them both, more so for GIT.

        Other then what you are doing now, I think one of these is your best solution.

        I usually don't develop on my laptop. I crave the speed and power of my Workstation for full development.
        But I do have everything installed on it if I need to use it for development.
        Localhost - XAMPP
        SVN and GIT - so I can sink to any project.
        My IDE of choice phpStorm
        And Notepad++ for simple coding.

        This setup is on both of my machines.
        I can sync to any of my projects at anytime with SVN or GIT depending on what they are in.
        {{ DiscussionBoard.errors[3015482].message }}
        • Profile picture of the author BeckM2
          I. Do you think that SVN or GIT could serve the same functionality as what I can currently do, namely:

          1. LAPTOP/client folder has website files.
          2. LAPTOP/dropFolder has copy of website files.
          3. DW on DESKTOP accesses LAPTOP/dropFolder for desktop-based editing.
          4. At the end of the DESKTOP editing session, changes are "committed" by copying from LAPTOP/dropFolder to LAPTOP/client.
          II. Can you recommend a GUI? The last time I tried svn I believe it was Tortoise SVN and was basically a plugin for windows explorer and I found it cumbersome to work with.

          III. And since I make my backups based on what's on the laptop, then I assume the repository should be placed there? Right?

          IV. Also, I know there are a ton of svn tutorials out there -- but is there a concise one you can recommend. Maybe it's time to give SVN a try again.

          Thanks!
          Signature
          Short Hills Design, LLC
          Internet Marketing for Dentists and Physicians
          {{ DiscussionBoard.errors[3017589].message }}
          • Profile picture of the author phpbbxpert
            I actually use Tortoise SVN and Tortoise GIT
            Actually I use command more on GIT.

            But the Right Click context menu is less obtrusive then needing to load another UI to manage SVN.

            Anyway, one UI that I know of is SVN client SmartSVN

            The repository goes on a Repository site, Google Code, Assembla and numerous others.

            I use Assembla both free open source accounts and pay for a private account also for other projects.

            Anyway, set up an account somewhere and create an SVN.
            Install Tortoise or whatever you want.

            Create a folder for your project.
            Grab the SVN checkout URL from which ever site you used.
            Do an SVN Checkout on your PC in the folder you created.
            Now start your project, when ready commit it back to SVN.

            On your other machine create a Folder and do an SVN Checkout with the same URL.
            You should now have your committed files on both machines.

            When I and most other developers setup a SVN.
            We usually create a base folder for the SVN

            In that are three folders.
            branches
            tags
            trunk

            tags are your - say backups, its for when you get to a version release you create a tagged copy so that its there for future reference.

            branches are usually used in big projects where multiple developers are creating different sections of the project. Then they create their own branch in the branches and when ready, they merge it to the trunk.

            The trunk is what you usually work in, on small projects and sometimes big, it all depends how the team manages it.

            That is the typical layout, you can do it how ever you want.
            {{ DiscussionBoard.errors[3018557].message }}
            • Profile picture of the author BeckM2
              Thanks. I'm trying a free assembla account now.

              Let me ask you this --- I now recall what my fear was with svn. With my system, each time I make a major update, I save a copy (..v1, ..v2, and so on) -- which according to what you said would be a "tag". Thus, if I need to go back, I have a hard copy if I do it my way.

              It was my (possibly wrong) understanding that svn didn't create a hard-copy file of each version, rather svn "remembered" the differences so given that I'm on hypothetical version 5, svn could "go back" and give me what I had at version 2. Is this correct?

              And would the equivalent of my system, where I have these physical hard copies, be the equivalent of using tags with svn?

              Lastly, when using SVN, are the versions for folders or for files -- or doesn't it matter. For example, in my system, whether I make a major change to the site template or the css file, I make a backup of the whole thing...so it's version 4. And the next major change is version 4.1, etc.

              I feel like in a svn system, I may wind up with .dwt version 3, and .css version 9 -- which to me is awkward. But is this just how it is?

              Thanks
              Signature
              Short Hills Design, LLC
              Internet Marketing for Dentists and Physicians
              {{ DiscussionBoard.errors[3023203].message }}

Trending Topics