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
Hughlander
May 11, 2005

rotor posted:

man you have no loving idea

Oh I think I do. I keep a low level campaign going at work to at least set up an in-house remote for when github goes down or we lose our buildings internet like happened earlier in the month.

Adbot
ADBOT LOVES YOU

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

evensevenone posted:

The regular gitlab is still self-hosted, you don't need enterprise. Also gitlab enterprise is only $20/year/user.

GitHub Enterprise is I think $5k/year/20 users which does seem kind of high but not that unreasonable.

i meant github. we got a quote for 50k/yr and we have like 30 devs. We do have a ton of repos so maybe that fits into it somewhere idk.

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





rotor posted:

i meant github. we got a quote for 50k/yr and we have like 30 devs. We do have a ton of repos so maybe that fits into it somewhere idk.

Unless you requested something really custom whoever told you that is lying to you. I know a company paying half that for ~400 seats.

wwb
Aug 17, 2004

Yeah, even 125 repos is $200/month which gets you close to $5k/year based on off the street pricing @ https://github.com/plans.

Anyhow, if you want unlimited private repos and to pay per user (like we do) then we went with bitbucket as they work with that model.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
$200 per month is only $2400 per year....

Looking at those prices tells you nothing about Github enterprise prices.

wwb
Aug 17, 2004

Good point on the math. Unclear what he is talking about but "i meant github" I took to mean github.com not github enterprise.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
sorry yeah i meant github enterprise

if access to your source is managed by a vendor then oh man has something gone massively wrong.

wolffenstein
Aug 2, 2002
 
Pork Pro
https://enterprise.github.com/pricing

30 people means 10k (they sell 20 users per license). Still expensive.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
weird. they told me 50k. whatevs, gitlabs seems fine.


(they here being the guys who were talking to github)

wwb
Aug 17, 2004

That makes a bit more sense.

quote:

if access to your source is managed by a vendor then oh man has something gone massively wrong.

I'm not entirely sure I agree with this in 2013 -- at least in the bandiwdth-rich western world. Bitbucket or github do a vastly better job of hosting DCVS systems than I can, why am I going to take that problem on when I can pay someone else a pittance to handle this for me? Remember that with DCVS disaster recovery setups are easy -- just have a script that hg updates your stuff on a server you also backup.

I'll note I don't work for a software company so I might think differently in that case. But probably not to be honest.

wwb fucked around with this message at 19:02 on Oct 22, 2013

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

wwb posted:

I'm not entirely sure I agree with this in 2013 -- at least in . Bitbucket or github do a vastly better job of hosting DCVS systems than I can, why am I going to take that problem on when I can pay someone else a pittance to handle this for me? Remember that with DCVS disaster recovery setups are easy -- just have a script that hg updates your stuff on a server you also backup.

I'll note I don't work for a software company so I might think differently in that case. But probably not to be honest.

I think I agree with this. In almost all circumstances github is going to do a better job at all aspects than you are without you spending a lot of time. If it wasn't trivially easy to keep your own copy of the source and history, it'd be a different story...

Hughlander
May 11, 2005

wwb posted:

That makes a bit more sense.


I'm not entirely sure I agree with this in 2013 -- at least in the bandiwdth-rich western world. Bitbucket or github do a vastly better job of hosting DCVS systems than I can, why am I going to take that problem on when I can pay someone else a pittance to handle this for me? Remember that with DCVS disaster recovery setups are easy -- just have a script that hg updates your stuff on a server you also backup.

I'll note I don't work for a software company so I might think differently in that case. But probably not to be honest.

Yah I don't buy that. Last year during one of Githubs many outages one person set up all the scripts to deploy a new AWS instance and install gitolite web config + shell scripts to manage user ssh keys. That wasn't the first nor last 100% outage github has had that year. In the 13 months since, that AWS instance has never gone down except when we migrated it to other instances as part of failover/disaster recovery testing.

Unfortunately we haven't moved all repos off Github. (And I still want to replace gitolite with gitlab now.)

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Hughlander posted:

Yah I don't buy that. Last year during one of Githubs many outages one person set up all the scripts to deploy a new AWS instance and install gitolite web config + shell scripts to manage user ssh keys. That wasn't the first nor last 100% outage github has had that year. In the 13 months since, that AWS instance has never gone down except when we migrated it to other instances as part of failover/disaster recovery testing.

Unfortunately we haven't moved all repos off Github. (And I still want to replace gitolite with gitlab now.)

That's all true. Unfortunately, Github's features are superior to gitolite and gitlab in a lot of ways.

Granted, I haven't done a detailed comparison of them in a long time. If someone else here has, I'd certainly appreciate a few words about it.

wwb
Aug 17, 2004

The question I ask myself is "going forward is github going to have more outages than the dunce running our infrastructure?"

Hughlander
May 11, 2005

wwb posted:

The question I ask myself is "going forward is github going to have more outages than the dunce running our infrastructure?"

For the past eighteen months the answer has been "yes" on a month to month basis.

Uziel
Jun 28, 2004

Ask me about losing 200lbs, and becoming the Viking God of W&W.
I'm getting some weird issue with Github for Windows.
It keeps showing these files from nuget as having changed, but when I go to commit them, nothing is committed. No idea what to do there.

evensevenone
May 12, 2001
Glass is a solid.

Thermopyle posted:

That's all true. Unfortunately, Github's features are superior to gitolite and gitlab in a lot of ways.

Granted, I haven't done a detailed comparison of them in a long time. If someone else here has, I'd certainly appreciate a few words about it.

One of the teams in our company (whose lead has used basically everything and is really on his poo poo) tried to go with gitlab earlier this summer, but decided that it wasn't really ready for prime-time. They went with github (.com).

My team is still on gitolite and phabricator. Gitolite is fine but a little weird, and phabricator I think we all hate, but we have to have to self-host and none of us like github enough to pay for github enterprise.

Quebec Bagnet
Apr 28, 2009

mess with the honk
you get the bonk
Lipstick Apathy
Does TFS (2010) not pull down folders not referenced in a solution or csproj? I added a couple of packages from NuGet (which of course added references in csproj files to stuff in the packages folder) and another developer was complaining that the references were missing and he went and added references to the local copies of the DLLs in the project bin folders. I went into TFS and saw the files were checked in before he brought it up, just want to check that there could be a technical reason before I call him a moron.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

i barely GNU her! posted:

Does TFS (2010) not pull down folders not referenced in a solution or csproj? I added a couple of packages from NuGet (which of course added references in csproj files to stuff in the packages folder) and another developer was complaining that the references were missing and he went and added references to the local copies of the DLLs in the project bin folders. I went into TFS and saw the files were checked in before he brought it up, just want to check that there could be a technical reason before I call him a moron.

It depends. If you open up a solution directly from source control and the solution is bound to source control, VS will prompt you to download the projects in the solution if they aren't already on disk. In that case, you'll only get the things "visible" to the solution. That doesn't include external assembly references.

If you just do a "get latest" from source control on a folder, it'll pull everything in the folder down.

Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.
Have something to put to the thread. I've started on a project that uses bower, it feels like an incomplete solution for a number of reasons:

- some packages that aren't immediately ready for use, what's the point
- no support for dependencies which have custom builds where you pick and choose the feature set
- no packaging sets of dependencies into single files

While I'm not nailing my colours to the mast, I really feel like the solution isn't bower in a lot of cases. What are the options for managing dependencies for a front end project, and what are peoples feelings on commuting these dependencies into the version control, especially for stripped custom builds.

This is more or less focused on JavaScript projects, where it seems the workflows are pretty early stages at this point.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Maluco Marinero posted:

Have something to put to the thread. I've started on a project that uses bower, it feels like an incomplete solution for a number of reasons:

- some packages that aren't immediately ready for use, what's the point
- no support for dependencies which have custom builds where you pick and choose the feature set
- no packaging sets of dependencies into single files

While I'm not nailing my colours to the mast, I really feel like the solution isn't bower in a lot of cases. What are the options for managing dependencies for a front end project, and what are peoples feelings on commuting these dependencies into the version control, especially for stripped custom builds.

This is more or less focused on JavaScript projects, where it seems the workflows are pretty early stages at this point.

there's some bower discussion in the last few pages of the 'questions not worth their own thread' thread.

short answer is that it's worthless imo

shodanjr_gr
Nov 20, 2007
We are starting to use git/Bitbucket for a collaborative project at the lab. Each person is gonna be working into his own branch and eventually changes get pulled into the master.

At regular intervals, people would like their branches to be synced with the remote master branch (via a git reset or a git rebase, depending on the occasion). However, if I do a git rebase or reset on a working copy of a branch, but the remote happens to have a commit on it that is newer than the version of the master, then it won't let me push the working copy to the remote. Is there a way to work around this, besides merging the master to the branch and undoing the changes manually?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
Rebasing changes history, so you have to force-push afterwards. Be careful with force-pushing (there's a reason why it's not the default behavior), but rebasing personal branches onto master is exactly the sort of thing it's there for.

Opinion Haver
Apr 9, 2007

I don't understand what exactly it is that you're trying to do. You shouldn't be force-pushing something to a remote branch as part of your regular workflow :psyduck:

Volmarias
Dec 31, 2002

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

Plorkyeran posted:

Rebasing changes history, so you have to force-push afterwards. Be careful with force-pushing (there's a reason why it's not the default behavior), but rebasing personal branches onto master is exactly the sort of thing it's there for.

Exactly this. Git fetch to get the latest version, then git rebase origin/master so that your feature branch gets replayed on to of master.

Force pushing only makes sense if you also back up your feature branch, and need to force push to the backup ref after rebasing. There's a reason why non fast forward commits are blocked.

shodanjr_gr
Nov 20, 2007

Volmarias posted:

Exactly this. Git fetch to get the latest version, then git rebase origin/master so that your feature branch gets replayed on to of master.

Force pushing only makes sense if you also back up your feature branch, and need to force push to the backup ref after rebasing. There's a reason why non fast forward commits are blocked.

I was probably convoluted in my description of my situation. Sorry goons, just started using git recently and I'm trying to nail down the lingo for it

Take the following situation:

Two branches (master/experimental).

1) Dev B works on experimental, commits changes, pushes to origin/experimental
2) Dev A checks out master, fetches from origin, merges the origin/experimental changes, commits and pushes back to origin/master
3) Dev B in the meanwhile has been fooling around with his local copy, done a couple of commits so that his HEAD is past the master and then pushes to origin/experimental

Now both Devs decide that the experimental branch should mirror the master branch because they want to start work on something new.

So they checkout experimental, do a git reset --hard master on it and then try to commit the changes so that Dev C can checkout experimental in its intended state.
However, git won't let the push go through because of the commits done by Dev B at step 3. I assume that this is where the force-push comes into play?

Strong Sauce
Jul 2, 2003

You know I am not really your father.





shodanjr_gr posted:

I was probably convoluted in my description of my situation. Sorry goons, just started using git recently and I'm trying to nail down the lingo for it

Take the following situation:

Two branches (master/experimental).

1) Dev B works on experimental, commits changes, pushes to origin/experimental
2) Dev A checks out master, fetches from origin, merges the origin/experimental changes, commits and pushes back to origin/master
3) Dev B in the meanwhile has been fooling around with his local copy, done a couple of commits so that his HEAD is past the master and then pushes to origin/experimental

Now both Devs decide that the experimental branch should mirror the master branch because they want to start work on something new.

So they checkout experimental, do a git reset --hard master on it and then try to commit the changes so that Dev C can checkout experimental in its intended state.
However, git won't let the push go through because of the commits done by Dev B at step 3. I assume that this is where the force-push comes into play?

:psyduck:

I hope you're just explaining it badly, because I don't understand this workflow at all.

Let's assume you're doing something sane and you have dev A & B branch off master into branches "experimental_A" and "experimental_B" instead of having either of them make changes in the master branch and push to the remote master (origin/master). That is a big no-no.

But even given that, and assume dev A & B are working on their own branches and no one else is touching them then force pushing to their respective remote branches is fine.

However, once someone has merged changes from your remote branch into their branch and pushed their branch out to the remote branch (e.g. changes made by dev B were pushed to origin/experimental_B, then dev A merged those changes into origin/experimental_A), dev B is no longer allowed to rebase and alter the history of his local branch (experimental_B). If dev B decides to make more changes in his experimental_B branch, dev A should just play it safe and do a git-merge from dev B's remote branch.

Also I think I know why you're doing a `git reset --hard master` step at the bottom, but unfortunately "they checkout experimental" is so vague in your case since I don't know why "they" refers to, and whether you are checking out the local branch or the remote branch of experimental, and whether or not you ran into your conflict in Step 3 before you ran those commands.

You should probably make your workflow way clearer than what you have described, because none of it sounds very right and/or sounds way too vague.

Something like this is what you should be following: http://nvie.com/posts/a-successful-git-branching-model/

Jam2
Jan 15, 2008

With Energy For Mayhem
Does anyone understand why Github chooses to price their Enterprise product such that many large customers keep choosing Stash and other alternatives on price alone? Does Github think it can play the waiting game as the alternatives lose feature parity over time?

aerique
Jul 16, 2008

Jam2 posted:

Does anyone understand why Github chooses to price their Enterprise product such that many large customers keep choosing Stash and other alternatives on price alone? Does Github think it can play the waiting game as the alternatives lose feature parity over time?

The default answer would be that according to their marketeers this is the optimal price to make the most money with their offerings. For both GitHub and Dropbox I would love for them to have a price that would make it interesting for me to buy their extra features.

As for the real reason: I have no idea.

brathering
Sep 26, 2007

ducky ducky duck duck

Jam2 posted:

Does anyone understand why Github chooses to price their Enterprise product such that many large customers keep choosing Stash and other alternatives on price alone? Does Github think it can play the waiting game as the alternatives lose feature parity over time?

I don't know - Stash seems pretty awesome, especially when combined with Jira and Bamboo. Whats wrong with it?

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


Speaking as a mostly clueless newbie to version control*, how would I want to go about picking a version control system to actually use for our team?

We have a very small team, about 1-3 people ever actually coding, we're mostly in maintenance mode code-wise at this point, and our dev machines will never see the internet. Our only real requirement is that we be able to point at a particular tagged release and say "this is where we finished these features/bugfixes". With those minimal requirements I have no idea what's suitable without being Too Damned Much, having hosed around enough to know the very basics of using svn, hg, and git.

* I ended up as the Clearcase guy for our team these past five years and I hate it, but I learned by trial rather than teaching so I might be biased. Nice conflict merge tools though, I think

(edit) Oh lord, did I just step on a highly over-opinionated land mine? :cry:

Ciaphas fucked around with this message at 04:24 on Nov 7, 2013

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Ciaphas posted:

Speaking as a mostly clueless newbie to version control*, how would I want to go about picking a version control system to actually use for our team?

We have a very small team, about 1-3 people ever actually coding, we're mostly in maintenance mode code-wise at this point, and our dev machines will never see the internet. Our only real requirement is that we be able to point at a particular tagged release and say "this is where we finished these features/bugfixes". With those minimal requirements I have no idea what's suitable without being Too Damned Much, having hosed around enough to know the very basics of using svn, hg, and git.

* I ended up as the Clearcase guy for our team these past five years and I hate it, but I learned by trial rather than teaching so I might be biased. Nice conflict merge tools though, I think

svn imo

Jam2
Jan 15, 2008

With Energy For Mayhem

Ciaphas posted:

Speaking as a mostly clueless newbie to version control*, how would I want to go about picking a version control system to actually use for our team?

We have a very small team, about 1-3 people ever actually coding, we're mostly in maintenance mode code-wise at this point, and our dev machines will never see the internet. Our only real requirement is that we be able to point at a particular tagged release and say "this is where we finished these features/bugfixes". With those minimal requirements I have no idea what's suitable without being Too Damned Much, having hosed around enough to know the very basics of using svn, hg, and git.

* I ended up as the Clearcase guy for our team these past five years and I hate it, but I learned by trial rather than teaching so I might be biased. Nice conflict merge tools though, I think

(edit) Oh lord, did I just step on a highly over-opinionated land mine? :cry:

May I ask how you've made it this far without version control?

Just use git and be done with it.

There are lots of friendly GUIs and resources for git repos.

Doesn't need to be complicated.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Ciaphas posted:


(edit) Oh lord, did I just step on a highly over-opinionated land mine? :cry:

yes


git offers more features at the cost of complexity, and it sounds like what you describe doesn't need the features of git. that said, git is (sadly imo) the defacto standard now so it'd be more relevant in future tasks.

rotor fucked around with this message at 06:50 on Nov 7, 2013

Ciaphas
Nov 20, 2005

> BEWARE, COWARD :ovr:


Jam2 posted:

May I ask how you've made it this far without version control?

By beating a lovely old version of Clearcase into submission, mainly :shobon: We've been using that for a lot longer than I've been here, never upgrading, and since we're changing dev environments I figured I'd look around. So thanks for the answers!


(edit) vv The place is hilariously resistant to change in a lot of ways, and our dev environment's a casualty of that, I suppose. I still like the job, though :saddowns:

Ciaphas fucked around with this message at 08:29 on Nov 7, 2013

Jam2
Jan 15, 2008

With Energy For Mayhem

Ciaphas posted:

By beating a lovely old version of Clearcase into submission, mainly :shobon: We've been using that for a lot longer than I've been here, never upgrading, and since we're changing dev environments I figured I'd look around. So thanks for the answers!

I am so thankful I am not forced to operate under such conditions.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
I'm going to suggest Git as well. A lot of companies are moving to git, so it's an important skill set to learn. There's a reason a lot of companies are doing this as well; they've discovered that git is much better for their needs.

Git and SVN have their own strengths and weaknesses, so you might want to do a bit of research on each. Here are some reasons to want to use SVN:

if you're on windows and your devs absolutely hate the CLI, you may want to use SVN solely because the GUI support for Git is pretty lacking, while SVN has 3rd party tools like TortoiseSVN which provide awesome explorer integration.

Git is also more conceptually difficult to learn if you haven't used DVCS before, so SVN may be a more gentle change for your team.

Server and network stability is a big question here too. Git lets you merrily hack away offline, while SVN will prevent you from being unable to commit if your server goes down, or if you're offline. But, since it sounds like your work all happens internally, you're probably fine with an always-on use-case.

Git is also a poster child for the OSS movement, so if your employer has the "open source = hackers on our network" mentality SVN might be an easier sell too.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Volmarias posted:



if you're on windows and your devs absolutely hate the CLI, you may want to use SVN solely because the GUI support for Git is pretty lacking, while SVN has 3rd party tools like TortoiseSVN which provide awesome explorer integration.


I haven't used it because I'm manly and use the command line, but I was under the impression that TortoiseGIT was pretty good.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug
Unpopular opinion from a ALM consultant focused on Microsoft: Consider TFS. Express edition is free for up to 5 developers, and it has awesome IDE integration for Visual Studio and Eclipse.

If your co-workers aren't already using source control, Git is going to be a hard sell. You can move everything into Git easily enough if you end up hating TFS, though.

Adbot
ADBOT LOVES YOU

Mr. Crow
May 22, 2008

Snap City mayor for life

Ithaqua posted:

Unpopular opinion from a ALM consultant focused on Microsoft: Consider TFS. Express edition is free for up to 5 developers, and it has awesome IDE integration for Visual Studio and Eclipse.

If your co-workers aren't already using source control, Git is going to be a hard sell. You can move everything into Git easily enough if you end up hating TFS, though.

I would also suggest TFS over git/SVN. If you think you/your coworkers can grasp DVCS quickly then git/mercurial would be ideal, but considering the situation that may be a leap. At least, like Ithaqua says, you can migrate to Git later down the road if you're on TFS.

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