Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
duck monster
Dec 15, 2004

wellwhoopdedooo posted:

Oh man, I'd love to post the revision graph from our monolithic SQL initial data load file that needs to be modified for practically every change made. (a terrible, terrible idea by the way) If those graphs are complex, ours are an abomination. Every single commit is a merge, and we usually have 3-5 "live" branches going. And we're a 10-dev shop. I don't even want to think about what someplace like Microsoft or Apple must look like.

Now take that one awful file, add about 10 more of similarly awful complexity, and then make changesets sometimes average around a hundred files changed at once, generally with 10% or so requiring merges. Could we figure out a way to work with directories as branches? Maybe. But instead of a half hour to do the merge on one of those big issues, we'd be looking at days, where by the time you were done with a merge, you needed to merge with what somebody else merged, and then spend a couple months dealing with the untracked bugs that crept in from screwed up merges where you had no idea where anything was merged from or why.

I can honestly say if your having that sort of problem, maybe you guys need to evaluate your workflow in terms of how you chop up tasks between devs. That just sounds loving ugly.

Adbot
ADBOT LOVES YOU

duck monster
Dec 15, 2004

Reo posted:

Myself and 1 other developer in another state are working on a project. We need the simplest (free) version control system we can get for Windows, where we can check out/share/merge our changes together over the internet, but have it remain private to just us.

I've tried to install Git with SmartGit and Bitbucket, and it just seems over my head, we don't know what commits, branches, etc. are. We just want to prevent overwriting each other's changes on an ftp server.

Any suggestions? Thanks.

Is source safe still a thing. Back in the late 90s we where using it at work and it was really underpowered and really easy to use. God help you when it gets confused however.

Seconding mercurial however, its become my weapon of choice, and its very easy to use. Its a bit of slug compared to git, but not by enough to make it much of a problem.

I'd suggest if your coordinating between two devs, get an instance of redmine or trac (trac is a bit lighter on ram, but its a bit ugly. Agilo makes it very shiny though) and hook it to your repository and use that to sync between you. If you've got a meaty enough server, adding jenkins to run your unit tests is very swish. Heck you can even use it to do continuous integration with iOS apps, if the server is a mac.

duck monster fucked around with this message at 03:43 on Nov 23, 2011

duck monster
Dec 15, 2004

Argue posted:

What I'm asking for is probably bordering on sorcery, but our client wants us to make some private modifications to an open source library. They've mirrored the project on SVN, but the real project is on Git. I've used git-svn to check out the project, and now I'm wondering if there was a way to add the real repository as a remote, so that I can easily pull in changes into our private copy.

I realize this is probably impossible, especially since the SVN repository doesn't even share the same history as the Git repository, but if anyone has any tips on how to manage this project, I'd greatly appreciate it.

Sort of off-topic, but be careful if your combining open and closed source components to be careful of licence. Its OK to combine GPL and closed source code as long as its not distributed outside your organization (clients organization.... I don't know?) but that doesn't necesarily true of other share-alike licenses. Your good to go on all the MIT/BSD/Apache type licenses though.

duck monster
Dec 15, 2004

Heres git in a nutshell:

1) Instead of a central repository everyone pushes to , everyones a repository and can push/pull to/from each other.
2) Don't be afraid of merging and branching. Gits really smart about stuff and will start honking if things won't work.

Aaand thats about the basics.

duck monster
Dec 15, 2004

Volmarias posted:

That doesn't really answer the question, though. As to myself, I don't know about any book or tutorial, though I would recommend "Git for ages 4 and up" if you're still used to SVN/P4 where branching/tagging are actually heavyweight operations.

Take a look at filter-branch; it's actually a decent command for representing git's philosophy of rewriting history.

Honestly for 90% of use cases though it doesn't really get much harder than push, pull and commit. I mean for bigger projects sure you need to start talking about branching and tagging and the like, but for dicking around and keeping code safe, synced and up to date, gits pretty straight forward.

duck monster
Dec 15, 2004

Company I've started working at uses SVN but gave me permission to use Mercurial for my stuff.

Just did a full merge from two SVN repos previously held to be unmergable using HG's SVN import with diffs in Kdiff in about a minute and my boss pretty much had his jaw hit the floor.

Guess Team HG got some new fans.

(My protip from migrating from SVN is to go with HG if you do a lot of windows stuff. Gits nice and all, but its got alien syntax if your used to SVN, imho, plus HG can quite happily cope with Git repos anyway [and vice verse])

duck monster fucked around with this message at 10:42 on Jan 20, 2015

Adbot
ADBOT LOVES YOU

duck monster
Dec 15, 2004

wolffenstein posted:

How exactly did you do that? Set up a branch for each one then attempt a merge?

Pretty much. It was two different versions of the same codebase that had been forked off somewhere recently and I basically pulled one into mercurial, created a branch and then copied the other one over the top of it and merged it back and after a bunch of loving around with kdiff and some judicious edits where necessary it all came together. I'm kind of exaggerating that it took a minute. It was more like about 15 minutes, but it was enough to blow away the boss.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply