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
Shaggar
Apr 26, 2006
also team fortress server works great and you can use the hosted version for free for small teams

Adbot
ADBOT LOVES YOU

Fuck them
Jan 21, 2011

and their bullshit
:yotj:
but what about hat management

suffix
Jul 27, 2013

Wheeee!

lol

anyway maybe it's better in jdk 7/8 (it better be), but the gc in 6 would totally choke up if you didn't tweak it with the right voodoo params

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Shaggar posted:

also team fortress server works great and you can use the hosted version for free for small teams

but you need to go pro for conc jumping

Bloody
Mar 3, 2013

Mr Dog posted:

I bet that integrates terrificaly with your source control system (as long as it is Microsoft Visual Studio Team Foundation Server Professional 2013 for Butt Application Architects Professional Edition (probably not even then)) or with unit testing or with continuous integration or with anything automated whatsoever.

yup i just press git push or w/e the gently caress, vs has some builtin git support thing that iirc suits my needs

lol if you do source control on idiot spare time projects though

Notorious b.s.d.
Jan 25, 2003

by Reene

Bloody posted:

yup i just press git push or w/e the gently caress, vs has some builtin git support thing that iirc suits my needs

lol if you do source control on idiot spare time projects though

lol if u dont

git all things

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Notorious b.s.d. posted:

git all things

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
i kinda wish i had gone with hg at work tho when i introduced source control (by accident, i started using git for my stuff not realizing nobody else was using version control. i should have been clued in when i asked IT where we kept our repos and they gave me a puzzled look). my coworkers had used svn before years ago and i think the mental model for hg maps to the mental model for svn more easily and that it would have avoided some problems

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

gently caress them posted:

but what about hat management

it gives the six thinking hats to all players. what more do you need?

Fuck them
Jan 21, 2011

and their bullshit
:yotj:

Notorious b.s.d. posted:

git all things

I realize this is the language thread not the source control thread but $newjob is like "hey tell us about TFS!" and I'm kind of like "it's cool" but also kinda like "why not use git?"

So the Sr Dev goes "well is it secure?"

So I go back "Well, yeah, if the master is put where it's not public it's.. fine. Local files are still just as secure as the dev who has them and welp"

Should I really push for git over TFS since it's still ground floor here? I'm softly thinking "yeah maybe" but if it's something that would really be worth making a fuss and pay off down the line I'll make more noise.

Bloody
Mar 3, 2013

probably not

we use svn at work though so lol

also by "we" i actually just mean "i" because i am the only software person on any team we have

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av
svn is alright

git never made too much sense to me, it's so complicated compared to svn and the ui is terribad. the explanation of git as a graph of revisions makes exactly zero practical sense to me and doesn't in any way explain/excuse the cringeworthy command names and --options everywhere

also I'm biased because to me git means gigantic commits with vague messages from outsourcers

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
The majority of commands you'll simply never use. git has a lot of power in its branching model. For all projects I work on, I must have 50 out so local branches for work in progress stuff.

A directed acyclic graph is just a scary name for a tree where nodes might have more than one parent, which is only true for proper merge commits.

And it's funny, because svn makes me think of giant commits with s log negate saying "fixed stuff", because it had no easy way to allow you to stash your working copy and make your commit cleaner.

And merges still don't work in San 12 years later.

SavageMessiah
Jan 28, 2009

Emotionally drained and spookified

Toilet Rascal
i love fossil but don't actually use it

i use hg and don't dislike it but not crazy about it

git is ok i guess

my source control opinions

havelock
Jan 20, 2004

IGNORE ME
Soiled Meat

gently caress them posted:

I realize this is the language thread not the source control thread but $newjob is like "hey tell us about TFS!" and I'm kind of like "it's cool" but also kinda like "why not use git?"

So the Sr Dev goes "well is it secure?"

So I go back "Well, yeah, if the master is put where it's not public it's.. fine. Local files are still just as secure as the dev who has them and welp"

Should I really push for git over TFS since it's still ground floor here? I'm softly thinking "yeah maybe" but if it's something that would really be worth making a fuss and pay off down the line I'll make more noise.

Do you actually have a distributed team?
Do you like to spend your day loving around with the command line to do source control related tasks instead of just writing code?

MononcQc
May 29, 2007

My latest git UI surprise was using 'git status --porcelain', which shows high-level git status information (using ?? and whatnot). So you look in git --help status, see that

code:
       --porcelain
           Give the output in an easy-to-parse format for scripts. This is similar to the short output, but will remain stable across git
           versions and regardless of user configuration. See below for details.
and say sure, another weird name. So you go in 'git --help git' and try to find out why:

code:
GIT COMMANDS
       We divide git into high level ("porcelain") commands and low level ("plumbing") commands.

HIGH-LEVEL COMMANDS (PORCELAIN)
       We separate the porcelain commands into the main commands and some ancillary user utilities.
Oh so that explains it. Therefore, I guess '--plumbing' should be a cool option to give me lower-level status...

code:
$ git status --plumbing
error: unknown option `plumbing'
Of course :smith:

Shaggar
Apr 26, 2006

Suspicious Dish posted:

The majority of commands you'll simply never use. git has a lot of power in its branching model. For all projects I work on, I must have 50 out so local branches for work in progress stuff.

A directed acyclic graph is just a scary name for a tree where nodes might have more than one parent, which is only true for proper merge commits.

And it's funny, because svn makes me think of giant commits with s log negate saying "fixed stuff", because it had no easy way to allow you to stash your working copy and make your commit cleaner.

And merges still don't work in San 12 years later.

people concerned about "clean commits" don't understand source control and that its perfectly fine to commit to svn every 5 minutes if you want. if it causes problems for other people it means you have too many people working on the same thing or your thing is too big and you need to break it up.

MononcQc
May 29, 2007

Use mercurial and safely rewrite public history in a non-destructive manner :getin: (or private one in a more destructive fashion)

Nomnom Cookie
Aug 30, 2009



MononcQc posted:

My latest git UI surprise was using 'git status --porcelain', which shows high-level git status information (using ?? and whatnot). So you look in git --help status, see that

code:
       --porcelain
           Give the output in an easy-to-parse format for scripts. This is similar to the short output, but will remain stable across git
           versions and regardless of user configuration. See below for details.
and say sure, another weird name. So you go in 'git --help git' and try to find out why:

code:
GIT COMMANDS
       We divide git into high level ("porcelain") commands and low level ("plumbing") commands.

HIGH-LEVEL COMMANDS (PORCELAIN)
       We separate the porcelain commands into the main commands and some ancillary user utilities.
Oh so that explains it. Therefore, I guess '--plumbing' should be a cool option to give me lower-level status...

code:
$ git status --plumbing
error: unknown option `plumbing'
Of course :smith:

git was designed by and for *nix turbonerds. sourcetree is a v nice UI for people who don't read man pages recreationally

also work uses git branches to QA changes separately then merge them all together for a release. it works pretty well. still imo the first question when thinking about using git is "what's the branching strategy?" if you don't know how to answer the question, or can't explain why svn won't do what you want, use svn. git is very unopinionated about how you structure repos and do branching. a bunch of people using git without knowing it very well is going to result in either a mess or svn-but-more-complicated

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
I have no idea what a branching strategy is. Branching strategies seem like they're designed by people who like meta-coding more than actually coding. The people who switch PLs every week and are always trying out new tools that break everything rather than actually writing code.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
I have no idea what --porcelain does. All the commands that you use on a daily basis are porcelain commands. The plumbing commands are commands that you've never heard of, like git write-tree and git commit-tree.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Suspicious Dish posted:

I have no idea what a branching strategy is.

a workflow

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison

Soricidus posted:

write once, run away

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison
java is the most designed-by-committee piece of poo poo in the world

tef
May 30, 2004

-> some l-system crap ->

Suspicious Dish posted:

A directed acyclic graph is just a scary name for a tree where nodes might have more than one parent, which is only true for proper merge commits.

well, here is the thing, the really only difference between git and hg is how it stores commits.

hg is filename based and delta based. each commit is really a patch to the parent commit.

git on the other hand, is content and snapshot based. each commit is really a full copy of the system, and a link to the parent commit.

they are both in some ways a directed graph, and a branch is a path along them to a final commit.

i like the git data model more, because to me, deltas are a bit of a premature optimisation. they're there to save space, to avoid storing multiple copies of the same thing with minimal changes. git on the other hand uses compression to save space (pack files).

things like rebasing, squashing commits, bisecting and all the other tricks and workflows can pretty much work on either.

the thing is, most company projects don't really need fully decentralised workflows, and work from a central repo. all we're doing is allowing offline work.


quote:

And merges still don't work in San 12 years later.

merges are pretty much painful in every system. submodules/sparse checkouts are equally horrendous.

Otto Skorzeny posted:

my coworkers had used svn before years ago and i think the mental model for hg maps to the mental model for svn more easily and that it would have avoided some problems


the thing is: git's user interface and cli are absolutely horrendous and there is no good excuse for it. hg's workflow may not be the most comfortable for some, but it's a smaller leap from svn, and the commands are far less orthogonal.

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

Kevin Mitnick P.E. posted:

git was designed by and for *nix turbonerds. sourcetree is a v nice UI for people who don't read man pages recreationally

this * 10000

i think i forgot how to do git on the command line about a month after using sourcetree full time

Brain Candy
May 18, 2006

https://github.com/git/git/blob/master/README posted:

"git" can mean anything, depending on your mood.

- random three-letter combination that is pronounceable, and not
actually used by any common UNIX command. The fact that it is a
mispronunciation of "get" may or may not be relevant.
- stupid. contemptible and despicable. simple. Take your pick from the
dictionary of slang.
- "global information tracker": you're in a good mood, and it actually
works for you. Angels sing, and a light suddenly fills the room.
- "goddamn idiotic truckload of sh*t": when it breaks

the only good thing about git is i can type git init anywhere and then type git blame latter to see what dumb poo poo i did

tef
May 30, 2004

-> some l-system crap ->

Suspicious Dish posted:

I have no idea what a branching strategy is.



Suspicious Dish posted:

For all projects I work on, I must have 50 out so local branches for work in progress stuff.

so yeah, what you do is a branching strategy, or in smaller words "how do you use branches for development"

- do you have branches for each version of the software?

- is your canonical branch stable or unstable.

- do you fork off stable versions, or do you merge in changes to a stable version.

- are branches shared across developers.

- who has access to which branch

personally i've developed a taste for feature switches over feature branches. ask me about monorepos :q:

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Yeah, git's command line UI is bad. I agree. I just use magit, which works for the most part.

Bloody
Mar 3, 2013

i commit once i get a thing working, no branches for me baby

Sapozhnik
Jan 2, 2005

Nap Ghost

uncurable mlady posted:

java is the most designed-by-committee piece of poo poo in the world

j2ee is pretty terrible for political reasons, the language itself is pretty nice though

(insert some pointless sperging here about type erasure or autoboxing that doesn't loving matter at all in practice)

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

tef posted:

feature switches over feature branches

kitten emergency
Jan 13, 2008

get meow this wack-ass crystal prison

Bloody posted:

i commit once i get a thing working, no branches for me baby

git push origin master all day every day

FamDav
Mar 29, 2008

tef posted:

personally i've developed a taste for feature switches over feature branches. ask me about monorepos :q:

assuming you mean "service/opconfig/whatever that can turn on/off features" then yeah what else are you going to do?

like do some people seriously gate their features by not putting it into the stable branch until its out to production? what if there are latency issues? what if it has unintended consequences? are you going to roll back your deployment? no, that's stupid, just have a service that vends switches and turn off that switch.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

Suspicious Dish posted:

I have no idea what --porcelain does. All the commands that you use on a daily basis are porcelain commands.

there's a weird overload of terminology; git porcelain commands are the user-facing ones, but many commands also have a --porcelain option which specifically requests a stable text format in case you want to use them from... another layer of porcelain, i guess

Notorious b.s.d.
Jan 25, 2003

by Reene
I find Hg much easier than git ui-wise, particularly with the mq extension.

But git won the dvcs wars and that's just how it is. I recognized defeat when atlassian's hosted version of bit bucket (stash) omitted Hg support despite bit bucket itself starting as a Hg service

Bloody
Mar 3, 2013

at least git acknowledges that everything they do belongs in a toilet

Notorious b.s.d.
Jan 25, 2003

by Reene

"a smarty pants guy posted:

git-dodge-upstream dodges a few unstaged upstreams below a few requested unstaged refs, and the tree to be bisected can be set in several ways.

Any bisecting of an upstream that applies a ref a while after can be removed with git-pocket-upstream. In case git-summarize-commit strips a base, <remotepack> is rebased to reset the change of a few archives outside the upstream, and the --tug-fake-stage flag can be used to specify a tree for the stash that is rebased by a temporary base. git-define-remote takes flags relevant to the git-spear-pack executable to check what is rebased and how, because a few reverted branches that were once rev-parsed opposite of the passive archives are reflogged to a passive tree.

double sulk
Jul 2, 2010

Suspicious Dish posted:

Yeah, git's command line UI is bad. I agree. I just use magit, which works for the most part.

use sourcetree

Adbot
ADBOT LOVES YOU

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

tef posted:

so yeah, what you do is a branching strategy, or in smaller words "how do you use branches for development"

- do you have branches for each version of the software?

- is your canonical branch stable or unstable.

- do you fork off stable versions, or do you merge in changes to a stable version.

- are branches shared across developers.

- who has access to which branch

personally i've developed a taste for feature switches over feature branches. ask me about monorepos :q:

I don't work in web software.

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