Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Using Git vs. Subversion
Message
De
04/06/2014 16:17:54
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Produits tierce partie
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2012
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Web
Divers
Thread ID:
01601121
Message ID:
01601309
Vues:
71
Thanks, Rick.

I also use Git for all my .Net work. I'm using Tortoise Git and recently downloaded SourceTree, but haven't used it enough yet to say if I like it better or not.

The issues with VFP's binary files are what I'm trying to figure out how to best handle. I picked up a new client that has an existing VFP app. That's what prompted my question. I'll read Christof's article tonight.

I appreciate your input.


>I use Gt simply because I use it for everything else I do in .NET and otherwise.
>
>At this point I would seriously look into Git rather than Subversion simply because Git is way more popular today and has many more integration points. It's a good skill to have as well. For me personally I've also totally fallen in love with Git after initially being rather skeptical (I came from using Subversion). Git integration with VFP has the same issues as Source Safe, Vault and Subversion - you still need some tooling to deal with the binary code formats (VCX/SCX etc.) - there's lots of inofrmation available on this online and it applies the same to Git as it does to any other source control tooling.
>
>Git is distributed where you can have a local repository on your machine without a server (ie. very fast and offline) that can then sync (optionally) to another repository or many on a server. Basically you do all your work locally, so committing, creating and switching branches is all super fast. You tend to sync to a master on the server less frequently (although you don't have to). The really cool thing about any DVCS is that it's extremely fast to switch branches which basically let you create many branches and work on them simultaneously - it's like instant snapshots that let you jump between points in history/your work. The magic of Git (or any DVCS) is the merge engine which figures out how to merge changes effectively. If that sounds scary - it actually isn't especially if you commit frequently as multiple developers tend to work on different sections of code most of the time. The merge algorithms are very advanced and can merge documents down to line level differnces. Conflicts arise only on same line merge conflicts.
>
>Git makes this possible through advanced merge algorithms - the idea is you work on your stuff and then always merge into other work. There's no concept of locking files - everybody works on whatever they need then merge the changes. It's surprising how few merge conflicts occur in most applications since people work on different parts of code.
>
>Subversion is more traditional where you have a server that all changes are submitted to and everybody connects to the same server. Because it happens on the server and everybody is connected to the same server, it's typically slower and when conflicts occur they're often difficult to fix because you're dealing with everybody's changes all at once. Branching and switching is also a lot more complex - you have to actually create new locations for branches.
>
>Subversion is a big step up over things like Source Safe or Vault, but compared to GIT or Mercurial it feels a bit dated.
>
>Git is not super easy to pick up. There's a learning curve for the terminology. Most texts on Git also recommend that use the command line, which is silly IMHO. It helps to learn the basics through the command line - it actually helps you understand how it works. But there are many excellent GUI tools to help with the most common Git operations. I personally like SourceTree and also TortoiseGit. Both are free.
>
>There are also nice tools for Subversion - I like TortoiseSvn which is an explorer add in (as is TortoiseGit) and SourceTree actually works with SVN as well although I've never tried it.
>
>As to VFP usage - the same issues that you have with SourceSafe apply here - you have to make sure FoxPro's binary file formats can be properly versioned which means they have to be turned into text files using some tooling.
>
>In the few Fox projects I have under Git, I don't use any VCX/SCX etc. files so this is not an issue but I suspect most apps do. Chrisof's article addresses that and there are a few other versions of these textifiers out there as well.
>
>
>In the end I like Git because it makes it so easy and fast to integrate it once you get the hang of it, that it's automatic for me when I start any project no matter how small and add a Git repository to it. There's simply no reason not to and get all the benefits of instant recovery and code backup at the very least.
>
>+++ Rick ---
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform