SVN? GIT? Syncing/Colalborating Tools for multiple computers/locations...

Discussion in 'Mac Apps and Mac App Store' started by whyrichard, Aug 18, 2009.

  1. whyrichard macrumors 68000

    Joined:
    Aug 15, 2002
    #1
    Hello guys,

    I was wondering what the best solution was currently for working on separate computers in different locations, both windows and mac.


    SVN Tortoise...
    I have used Tortoise SVN client/server software on a subscription based server (reposititoryhosting.com). This is about $7 per month for 1 gig or so, and allowed me to designate specific folders on several windows machines that I could have sync up when I wanted to. It also supported locking files I was working on for collaborative work, etc. it was most good, though the 1 gig minute for $7 didn’t seem to great… and I haven’t tried the mac client for it.

    -Does anyone have experience with the mac client of Tortoise SVN? The free ones seem to require the command line, and the paid one called “Versions”… anyone know?

    http://versionsapp.com/ -paid for mac client
    http://tortoisesvn.tigris.org/ -free windows client
    http://www.syntevo.com/smartsvn/index.html ...?
    http://www.techiecorner.com/142/free-svn-client-gui-for-mac-os-x-svnx/ -free mac with gui -seems like you are required to use this program instead of the finder to navigate your repository… don’t’ like that…

    Or simply… what is the best way to have files sync up on separate computers, separate locations?

    Perhaps SVN and GIT are too complex (though I am farmiliar with SVN already), I need mostly an online syncing tool for myself)

    Thanks,

    r.

    also see something about GIT… how do they compare with mixed mac/pc’s?
     
  2. Nugget macrumors 65816

    Nugget

    Joined:
    Nov 24, 2002
    Location:
    Houston Texas USA
    #2
    For pure syncing (where version control / revision history isn't really a goal) I think you're probably best served by using rsync. It's a breeze from the command line and there are plenty of GUI front ends floating around if you're not fond of the command line. rsync is fundamentally one-way, though, and can be brittle at the edge cases where you've got changes being made on both ends. You have to rsync each way and it can be ambiguous and awkward if there are conflicts.

    For more sophisticated syncing I've been really happy with ChronoSync. It's not cheap, but it's really solid and reliable. I've never tried to use it with Windows peers, though, so you might want to check that aspect out before diving in. It's supported but YMMV.

    Svn and git are more focused on collaborative development, and not just syncing filesystems. They can be made to act as file sync tools but as you've discovered there's a lot of overhead and baggage that's inherent in order to meet their primary design goals.

    git in particular (which I'm tremendously fond of) is a really poor choice for a file sync tool. I wouldn't recommend it for what you're trying to do (but I enthusiastically recommend it as a replacement for CVS or Svn).
     
  3. whyrichard thread starter macrumors 68000

    Joined:
    Aug 15, 2002
    #3
    Thank you for your reply.

    Can Chronosync work through the internet? That is key...

    also, collaboration is part of the equation, actually, though not what it will be used primarily for.

    does rsync use an internet based server?

    perhaps I will use svn... but why is git not recommended for file syncing at all, as compared with svn?

    thanks very much for your expertise.

    r.
     
  4. Phatpat macrumors 6502a

    Phatpat

    Joined:
    Jun 15, 2003
    Location:
    Cambridge, MA
    #4
  5. Detektiv-Pinky macrumors 6502a

    Detektiv-Pinky

    Joined:
    Feb 25, 2006
    Location:
    Berlin, Germany
    #5
    Zigversion

    Zigversion is a nice SVN client and you can get a free license for non-commercial use.

    I think it requires some setup from the command-line for new repositories (I mainly use a local repository on my HDD)

    Versions is a very nice client, but not free.
     
  6. Nugget macrumors 65816

    Nugget

    Joined:
    Nov 24, 2002
    Location:
    Houston Texas USA
    #6
    I wouldn't want to use either svn or git for simple file synching, but between the two svn is the less inappropriate choice. The main problem is that both svn and git are revision control systems. As a consequence, they both worry a great deal about maintaining a historical record of file changes which isn't a consideration if you're just trying to keep two directories in sync.

    For instance, suppose you want to sync a directory that contains several large image files which you alter occasionally. An svn or git solution is going to be burdened with the overhead of keeping a copy of every single copy of those images that has ever existed since the beginning of time. Depending on the nature of the files you're synchronizing this can dramatically increase the amount of storage you need to provide on the subversion server.

    With git, it's even worse -- there is no master server -- each copy of the repository (each of the computers you're syncing) stores its own personal copy of every single revision that's ever existed of every single file. The historical revisions are compressed, but effectively you're storing at a minimum two copies of every file and then adding another copy every time a file changes. On each machine.

    In an environment where that kind of historical tracking is useful there's no substitute, but for a situation where you're really only concerned with propagating changes across different machines and making sure that everyone's got the current copy of all the files it's needless and expensive (storage and bandwidth) overhead.

    That's the compelling argument in favor of a more focused tool like chronosync.
     
  7. whyrichard thread starter macrumors 68000

    Joined:
    Aug 15, 2002
    #7
    I have been trying the SCplugin for about an hour, and i've run into two errors with checking out. the first was with "issuer is not trusted", and then i tried the command line tool to force it to trust, and now i get "unusable url, url does not refer to this repository.


    it is very frustrating. i don't know what the problem is at all.

    i tried versions, downloaded a demo, but it doesn't seem like i can use the finder, i need to use versions file viewer... is that right? i would prefer the finder....

    thanks!

    a bit frustrated,

    r.
     
  8. whyrichard thread starter macrumors 68000

    Joined:
    Aug 15, 2002
    #8
    I actually already own chronosync and it's a good tool for when one computer is hooked up to the same network as another.

    in my case i have 4 computers in 4 different locations, on three different networks. work, school, home... and i don't think chronosync can bridge that gap...

    Is there another solution besides a svn server?


    thanks,
    r.
     
  9. Nugget macrumors 65816

    Nugget

    Joined:
    Nov 24, 2002
    Location:
    Houston Texas USA
    #9
    Of course it can. It's just TCP/IP. In fact, if you have a MobileMe account it "just works" without doing anything special (leveraging the "back to my mac" features which do dual nat traversal). I use ChronoSync to keep my documents folder in sync between my machine at home and my machine at the office.

    For the home networks it's generally just a matter of setting up a port forward in your router to get past the NAT. For your work computer you might have to initiate the sync from the work machine to your home machine.

    If not ChronoSync, rsync to a machine that everyone can reach. That's a better solution than svn.
     

Share This Page