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
New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

paberu posted:

I was thinking of splitting the project into Mercurial and SVN anyway, it should work fine for a tiny team.

Having two totally different source control systems is really stupid, especially within the same team. Pick one and use it.

Adbot
ADBOT LOVES YOU

wwb
Aug 17, 2004

Actually that is a very, very workable idea if you can get the lanes worked out -- I've done such things with great success a few times in the past.

It does work best when the lanes are separate enough that they don't need to cross alot. Like in this case where it sounds like there is a codebase and then some associated graphics assets that are likely generated elsewhere and probably move on a different cycle than the codebase anyhow.

nielsm
Jun 1, 2009



Is there any way, in Mercurial, to avoid pushing some branches? I.e. I have some local branches that I'd really prefer to keep private, but it seems I can't push without them going to the remote as well.
(This annoys me quite a bit since I'm used to git where branch-tracking is opt-in.)

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

nielsm posted:

Is there any way, in Mercurial, to avoid pushing some branches? I.e. I have some local branches that I'd really prefer to keep private, but it seems I can't push without them going to the remote as well.
(This annoys me quite a bit since I'm used to git where branch-tracking is opt-in.)
Use the phase command to mark all the revs as secret.
http://mercurial.selenic.com/wiki/Phases

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

Gazpacho posted:

Use the phase command to mark all the revs as secret.
http://mercurial.selenic.com/wiki/Phases

:eyepop: Holy poo poo I did not know this existed, I always thought that branch sharing was an inevitable consequence of the whole immutable repository philosophy.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I was kind of blindly bziping up a tarball of my personal git repo and putting it up on some hosting in a personal directory without thinking about it, until I've discovered how much of my quota I've used. For whatever reason, my repository size has ballooned to 1GB, compressed! I am assuming that I didn't put a bunch of binaries up in there--what if I did? Also, is there anything else I should try to look at and rectify that might affect size?

Arcsech
Aug 5, 2008

Rocko Bonaparte posted:

I was kind of blindly bziping up a tarball of my personal git repo and putting it up on some hosting in a personal directory without thinking about it, until I've discovered how much of my quota I've used. For whatever reason, my repository size has ballooned to 1GB, compressed! I am assuming that I didn't put a bunch of binaries up in there--what if I did? Also, is there anything else I should try to look at and rectify that might affect size?

To get to 1GB, you almost certainly have some binary files in there, or you have a shitton of commits. Assuming it's the former, once you find the offending files, you want "git filter-branch", see here most of the way down: http://git-scm.com/book/ch6-4.html

Make sure to check that it came out the way you wanted before you push, filter-branch is really dangerous if you typo your regex or something.

aerique
Jul 16, 2008

Rocko Bonaparte posted:

Also, is there anything else I should try to look at and rectify that might affect size?

You might want try running a "git gc --aggressive" on it and see if it makes a difference.

New-ShitPost
Jul 25, 2011

Has anyone here used ClearCase/ClearQuest before? We really wanted to use TFS (we've developing a .NET product) but corporate is forcing us to use this.

I'm a bit worried since the PowerPoint instructions they gave us has screenshots from Windows 95 in it. :ohdear:

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

johnduhart posted:

Has anyone here used ClearCase/ClearQuest before? We really wanted to use TFS (we've developing a .NET product) but corporate is forcing us to use this.

I'm a bit worried since the PowerPoint instructions they gave us has screenshots from Windows 95 in it. :ohdear:

ClearCase is terrible, and my company migrates people off of it into TFS all the time.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

johnduhart posted:

Has anyone here used ClearCase/ClearQuest before? We really wanted to use TFS (we've developing a .NET product) but corporate is forcing us to use this.

I'm a bit worried since the PowerPoint instructions they gave us has screenshots from Windows 95 in it. :ohdear:

It's pretty loving terrible. You need at least one person dedicated full time to getting clearcase to work, possibly a team of two-four.

minidracula
Dec 22, 2007

boo woo boo

Bruegels Fuckbooks posted:

It's pretty loving terrible. You need at least one person dedicated full time to getting clearcase to work, possibly a team of two-four.
I wish to add that this is by no means an exaggeration. Unless ClearCase has fundamentally altered in the past oh, let's say seven years, that dedicated singular resource-to-team-sized ClearCase admin/troubleshooter is the only thing keeping ClearCase minimally sane.

I've heard it said that ClearCase is more a toolset for building your own version control system than providing you one, but no one I know who has used it has used it that way to better effect than almost any other VCS you care to mention.

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe
I'm really enjoying the github client for Windows, it fits my single developer needs across my 3 pc's so well.

Less Fat Luke
May 23, 2003

Exciting Lemon
ClearCase is the SharePoint of VCS systems.

Arcsech
Aug 5, 2008

Janitor Prime posted:

I'm really enjoying the github client for Windows, it fits my single developer needs across my 3 pc's so well.

Just don't ever try to merge or rebase in it, if it even has buttons for that.

Unless it has vastly improved in the year or so since I last used it.

raminasi
Jan 25, 2005

a last drink with no ice
oops nm

Hughlander
May 11, 2005

Posting here since I just discovered this magic. I was working on a large codebase ripping out functionality of basically doing an Intelli-J safe delete and then cleaning up the imports. When I was done I wanted a code review of the modifications and git to the rescue:

code:
git diff --diff-filter=M origin/master LOCALBRANCH
Ignored all the deleted files and just showed those that were modified.

Lord Of Texas
Dec 26, 2006

Less Fat Luke posted:

ClearCase is the SharePoint of VCS systems.

That's being pretty mean to SharePoint. Moving to an SBU that used SVN instead of ClearCase was the best day of my life at my current company. No idea why ClearCase/Quest was used before (fake edit: I know exactly why, loving IBM contracts.)

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Lord Of Texas posted:

That's being pretty mean to SharePoint.

No such thing as being too mean to SharePoint.

Less Fat Luke
May 23, 2003

Exciting Lemon
Someone, somewhere, is using SharePoint versioning as their VCS.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Hughlander posted:

Posting here since I just discovered this magic. I was working on a large codebase ripping out functionality of basically doing an Intelli-J safe delete and then cleaning up the imports. When I was done I wanted a code review of the modifications and git to the rescue:

code:
git diff --diff-filter=M origin/master LOCALBRANCH
Ignored all the deleted files and just showed those that were modified.

Are we talking about stupid git tricks?

I discovered --word-diff and --word-diff-regex. This is a huge, huge help for my brief self-code-reviews before sending my commit off, especially when it's something like a "renamed this function" commit.

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do
I've starting up my own company to do some small-contract development work for clients, and also to potentially make some apps to sell on the app store or something. I'm using git for version control; I plan on letting one or two people to work with me on projects as part of my company (like my wife).

As part of this, I've got my own web server (at the moment shared, but likely moving to a VPS) that hosts git-via-ssh. However, I'm also looking at hosting my code on BitBucket (privately, so GitHub is out).

Are there any good guides comparing hosting your code on your own server as opposed to in BitBucket (or some equivalent)? I've done some googling, but it all seems to be comparing GitHub and BitBucket.

Or am I just completely insane to want to host my own git repo for what is essentially a mom-and-pop operation?

Lysidas
Jul 26, 2002

John Diefenbaker is a madman who thinks he's John Diefenbaker.
Pillbug

Axiem posted:

Or am I just completely insane to want to host my own git repo for what is essentially a mom-and-pop operation?

Not at all. Host your own Gitolite installation.

Strong Sauce
Jul 2, 2003

You know I am not really your father.





It seems a bit insane. Why not just use BitBucket if you don't want to pay, or GitHub if you're willing to pay $7/month for 5 repos? Seems like a lot of time better spent writing more apps.

baka kaba
Jul 19, 2003

PLEASE ASK ME, THE SELF-PROFESSED NO #1 PAUL CATTERMOLE FAN IN THE SOMETHING AWFUL S-CLUB 7 MEGATHREAD, TO NAME A SINGLE SONG BY HIS EXCELLENT NU-METAL SIDE PROJECT, SKUA, AND IF I CAN'T PLEASE TELL ME TO
EAT SHIT

What do y'all like for diff tools? I've been spoiled with Eclipse's EGit plugin having everything right there in the IDE as I'm working on it, but I've been trying out some standalone tools like the Git GUI and SourceTree, and they need a dedicated diff doer obviously.

Preferably free at this point :shobon:

aerique
Jul 16, 2008

baka kaba posted:

What do y'all like for diff tools? I've been spoiled with Eclipse's EGit plugin having everything right there in the IDE as I'm working on it, but I've been trying out some standalone tools like the Git GUI and SourceTree, and they need a dedicated diff doer obviously.

Preferably free at this point :shobon:

I like Emacs' ediff command but that is because I use Emacs for everything else as well. So basically your IDE argument. I can apply highlighted diffs to source files from that tool.

Most of my colleagues like Meld.

MononcQc
May 29, 2007

I just git diff | vim - and work from there :sigh:

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

baka kaba posted:

What do y'all like for diff tools? I've been spoiled with Eclipse's EGit plugin having everything right there in the IDE as I'm working on it, but I've been trying out some standalone tools like the Git GUI and SourceTree, and they need a dedicated diff doer obviously.

Preferably free at this point :shobon:

Beyond Compare is awesome, and well worth the money (it's like thirty bucks).

necrotic
Aug 2, 2005
I owe my brother big time for this!

Strong Sauce posted:

It seems a bit insane. Why not just use BitBucket if you don't want to pay, or GitHub if you're willing to pay $7/month for 5 repos? Seems like a lot of time better spent writing more apps.

Setting up gitolite on a small VPS is incredibly simple. If you need anything more than what Gitolite offers (pull requests and such) there are open source offers (GitLab HQ) that work fairly well and can be simple to setup if you have experience with Rails.

A half day of effort tops to save a 2-person shop $84/year (does Bitbucket's free plan allow you to share private repos? I thought it didn't...)

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

prefect posted:

Beyond Compare is awesome, and well worth the money (it's like thirty bucks).

Yeah, I use Beyond Compare. I've also been playing with Semantic Merge, which is pretty awesome for .NET/Java. It actually parses your code and merges based on that, instead of just straight text compare. If you move a method from file A to file B, but someone else has modified the method when it was still in file A, it'll successfully merge that.

Doc Hawkins
Jun 15, 2010

Dashing? But I'm not even moving!


necrotic posted:

A half day of effort tops to save a 2-person shop $84/year

Putting it like that makes it seem much less worthwhile.

wwb
Aug 17, 2004

necrotic posted:

Setting up gitolite on a small VPS is incredibly simple. If you need anything more than what Gitolite offers (pull requests and such) there are open source offers (GitLab HQ) that work fairly well and can be simple to setup if you have experience with Rails.

A half day of effort tops to save a 2-person shop $84/year (does Bitbucket's free plan allow you to share private repos? I thought it didn't...)

Bitbucket gives you free private repos for up to 5 private users, you need to pay beyond that.

The real cost in that server isn't standing it up or configuring it it is caring and feeding for it and updating it as needed and keeping it backed up and all that other stuff on needs to do with production line of business servers. Real fun stuff comes in when gitolite's upgrade steps fail and you are stuck trying to fix what is a fairly complex web app with a fairly complex service behind it (git) hoping to god you didn't just lose 6 months worth of work.

On the flip side, with DCVSes, you can do disaster recovery with bitbucket (or github for that matter) with a pretty simple python script that parses through your repos and stashes a copy somewhere on whatever schedule you'd like. Worst case scenario is bitbucket dies and you need to stand up gitolite and import your repo.

This also does not contemplate the fact that the cloud providers are in an arms race and are continually pushing the feature set envelope -- how far behind github is gitolite now?

This note is coming from a very grizzled old dev ops guy who reguarly manages a fleet of 60+ web apps on various servers / platforms / clouds and has no fear of hosting just about anything himself.

For merge compare tools I tend to be a bit tactical. Heavy lifting tends to go through kdiff because that is what tortoisehg packs and I've got the most seat time there. Just looking and understanding tends to happen in whatever web interface I am near -- any change can be reflected from bitbucket through redmine to teamcity. Teamcity's browser is really badassed if you've never gone that way.

Strong Sauce
Jul 2, 2003

You know I am not really your father.





necrotic posted:

Setting up gitolite on a small VPS is incredibly simple. If you need anything more than what Gitolite offers (pull requests and such) there are open source offers (GitLab HQ) that work fairly well and can be simple to setup if you have experience with Rails.

A half day of effort tops to save a 2-person shop $84/year (does Bitbucket's free plan allow you to share private repos? I thought it didn't...)

You are forgetting maintenance costs and other factors. $84/year is not really that much especially if the time it saves is greater than $84. Even in a small shop $84 a year is a rounding error. Obviously the guy is knowledgeable enough to setup his own VPN and make his own mobile apps but that just means his hourly rate is way higher so he shouldn't mess with those things.

And BitBucket is already free. What is the point of rolling your own for a 2-person company? Your business is in mobile apps, not git deployments.

necrotic
Aug 2, 2005
I owe my brother big time for this!

wwb posted:

Bitbucket gives you free private repos for up to 5 private users, you need to pay beyond that.

I didn't realize you could have 5 users on the free accounts.

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do
Thanks for the advice, guys. I think we're going to go with BitBucket for now. Free plus less time managing it is kind of nice. Given how versatile git is with cloning, though, it should be pretty easy to move to our own private thing if we at some point decide to.

B-Nasty
May 25, 2005

To be fair, hosting Git repos is dead simple with something like Gitblit. Even setting up Hg under IIS wasn't more than a few hours, and it's been running without a single issue for 4+ years. That said, Bitbucket's free tier (assuming you fit) is a no-brainer. 5 minutes to click 'Setup', and you're done. I just encouraged one of my partners (I've stepped back from my company) to use Bitbucket for his next project because I don't feel like being Mr. VPN administrator for my home server.


baka kaba posted:

What do y'all like for diff tools?

I use WinMerge for diff'ing and Perforce P4Merge for merging. Both free, both do what I need quite well.

Sir_Substance
Dec 13, 2013
For what it's worth throwing my hat into the ring, I've been working with four other people on a project we intent to sell. Startup would be a grandiose phrase for what we're doing, but we hope to make money out of it.

We initially used SCM-Manager alongside mercurial, which was working fine until SCM-Manager suddenly ate the whole repo for no apparent reason. No data lost, since everyone had local repos. We used mercurial totally distributed for a while, I've just spent the last several hours installing rhodecode as a replacement, mostly because I need a constant contact point for jenkins to pull from, and setting up the build processes for everything.

Would I pay for a years worth of bitbucket?

No.

Even though I've probably spent more then $84 worth of my time setting this up, there are several positive factors:

1. We don't actually have $84. Well, we do, but we've not yet reached the point of "it's time to invest personal money into this thing we are doing". We're using open source tools and our own personal equipment. That $84 would represent the first liquid cash into some kind of business venture, and we aren't there yet.

2. We aren't at ransom by bitbucket. I don't know what bitbucket does if you don't renew at the end of the year, but even if I give them the benefit of the doubt and assume that they let you pull but not push and keep the repo private, so you aren't locked out of your code, their terms and conditions will say that can change without warning. If we don't have $84 to buy the licence, we drat sure don't have the money for any kind of litigation if traps are introduced in the agreement. Better to keep it to ourselves for the moment, and present a minimal target profile.

3. I learned how to deploy rhodecode and integrate it with jenkins.

distortion park
Apr 25, 2011


Sir_Substance posted:

For what it's worth throwing my hat into the ring, I've been working with four other people on a project we intent to sell. Startup would be a grandiose phrase for what we're doing, but we hope to make money out of it.

We initially used SCM-Manager alongside mercurial, which was working fine until SCM-Manager suddenly ate the whole repo for no apparent reason. No data lost, since everyone had local repos. We used mercurial totally distributed for a while, I've just spent the last several hours installing rhodecode as a replacement, mostly because I need a constant contact point for jenkins to pull from, and setting up the build processes for everything.

Would I pay for a years worth of bitbucket?

No.

Even though I've probably spent more then $84 worth of my time setting this up, there are several positive factors:

1. We don't actually have $84. Well, we do, but we've not yet reached the point of "it's time to invest personal money into this thing we are doing". We're using open source tools and our own personal equipment. That $84 would represent the first liquid cash into some kind of business venture, and we aren't there yet.

2. We aren't at ransom by bitbucket. I don't know what bitbucket does if you don't renew at the end of the year, but even if I give them the benefit of the doubt and assume that they let you pull but not push and keep the repo private, so you aren't locked out of your code, their terms and conditions will say that can change without warning. If we don't have $84 to buy the licence, we drat sure don't have the money for any kind of litigation if traps are introduced in the agreement. Better to keep it to ourselves for the moment, and present a minimal target profile.

3. I learned how to deploy rhodecode and integrate it with jenkins.

Bitbucket is free for 5 people though (8 really because of referrals). If you don't renew or whatever you keep your repo stays there but can only have 5 people (4 others) access your private repos.

wwb
Aug 17, 2004

And also you've got the same recourse you had when your repo went down -- dcvs means the repo going down is not longer a work stoppage, just an inconvenience.

Adbot
ADBOT LOVES YOU

Hughlander
May 11, 2005

wwb posted:

And also you've got the same recourse you had when your repo went down -- dcvs means the repo going down is not longer a work stoppage, just an inconvenience.

Depending on what your pipeline is. I've been at places where everyone pushes to github, jenkins pulls from github, makes the build runs the tests, pushes the result to a different github repo, and everyone pulls from there. Github going down means no one gets the new build and iteration stops. This has led me to one of the #1 things I hate:
Distributed source control systems being used in a centralized hierarchal manner. (The worse being where there's 1 level to said hierarchy.) DCVS is a tool not a magic bullet for bad practices.

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