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
Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

FamDav posted:

why can i not have user-specific branches stored on the remote server.
you can they're called "pushed branches", but why would yo uwant to override a dev's judgement that code he wrote himself is not ready to be pushed

Gazpacho fucked around with this message at 03:12 on Mar 16, 2013

Adbot
ADBOT LOVES YOU

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
the idea that something 'isn't ready to be pushed' is stupid and wrongheaded.

FamDav
Mar 29, 2008

Gazpacho posted:

you can they're called "pushed branches", but why would yo uwant to override a dev's judgement as to whether code he wrote himself is in condition to be pushed

so i have to imagine you're talking about something different than pushing a branch to a remote because that solves none of the problems.

and like rotor said, i don't care what quality a dev thinks his code is in so long as it is in a known, backed-up central repository.

and hey you don't even have to make it public to other devs so you don't have to worry about people finding out you're a poo poo programmer.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
I remember bein in irc and some dude was all 'I deleted my local repo by accident and lost a weeks work' lmbo

tef
May 30, 2004

-> some l-system crap ->
i remember being in irc and someone had a bot that ran code snippets, and someone ran rm -fR

it was running in their normal account in their home directory

poor sod

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
lmbo

Toady
Jan 12, 2009

tef posted:

i remember being in irc and someone had a bot that ran code snippets, and someone ran rm -fR

it was running in their normal account in their home directory

poor sod

https://www.youtube.com/watch?v=dTapP1yylY8

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

rotor posted:

I remember bein in irc and some dude was all 'I deleted my local repo by accident and lost a weeks work' lmbo
one time i committed (into RCS) and lost a weeks work

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Gazpacho posted:

one time i committed (into RCS) and lost a weeks work

git: just as good as rcs

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

rotor posted:

the idea that something 'isn't ready to be pushed' is stupid and wrongheaded.
it comes of working for managers who either aren't programmers or are so oldschool that they can't comprehend the concept of a checked in but incomplete feature

FamDav
Mar 29, 2008
we know you tied your horse to building windows apps in visual c++ and now cant find real work but that doesnt mean you have to take your bad opinions out on the lowly internet forum users of something awful > discussion > sh/sc > yospos

abraham linksys
Sep 6, 2010

:darksouls:

rotor posted:

the idea that something 'isn't ready to be pushed' is stupid and wrongheaded.

i like git but i 100% agree with this

mostly because i don't have any way to backup stuff except code via github right now

i get antsy when i have code more than ~2 days old that hasn't been pushed to a remote

Progressive JPEG
Feb 19, 2003

FamDav posted:

git's local branches are really cool and let me test orthogonal ideas at the same time. however, they are total poo poo for version control because the responsibility for the data has been shifted to the local user and not the central server. why do i not have the option of setting this up.
uh you do have that option

its great when you just need a temporary place for a couple people to collaborate on something before moving it into master, or to back up your huge log of code because you apparently havent bothered to set up proper backups on your workstation and are instead using the SCM as your backup. you know stuff like that.

Progressive JPEG fucked around with this message at 04:13 on Mar 16, 2013

Progressive JPEG
Feb 19, 2003

back dat log up

teh z0rg
Nov 17, 2012

rotor posted:

something 'isn't ready to be pushed'

my poo poo

...

in jail

Opinion Haver
Apr 9, 2007

if you want you can just set up a postcommit hook that pushes

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
i've never actually used git in a business setting btw

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:

the idea that something 'isn't ready to be pushed' is stupid and wrongheaded.

i work on a product that has 4 full time devs and something like 40 part time devs. i have 8 branches that track some remote branch (we don't have a central repo because we're all consenting adults and don't need a source nanny) and another 31 that don't have any upstream branches (but have probably been pushed somewhere else). even if i have an order of magnitude more branches than everyone else that's like ~200 branches i now have to know about (even if it's only to differentiate between alejandro's `frobulate_the_zinger` branch and bjorn's `frobulize_the_zinger` branch and my own `frobberfy_the_zinger` branch)

the idea that i should have to give a gently caress about any branches i haven't specifically shared with someone else is stupid and wrongheaded

(if you work with dudes who regularly say 'oops i deleted my local repo and backups are for chumps' then you probably don't need their branches)

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





abraham linksys posted:

i like git but i 100% agree with this

mostly because i don't have any way to backup stuff except code via github right now

i get antsy when i have code more than ~2 days old that hasn't been pushed to a remote

like your computer can only make tcp connections to github.com and forums.somethingawful.com? spideroak.com or amazon s3 are unreachable? you broke all your usb ports and can't plugin an external drive? that must be really awful

abraham linksys
Sep 6, 2010

:darksouls:

the talent deficit posted:

like your computer can only make tcp connections to github.com and forums.somethingawful.com? spideroak.com or amazon s3 are unreachable? you broke all your usb ports and can't plugin an external drive? that must be really awful

no, i just don't have my external hard drive with me and i'm too cheap (or poor, take your pick) to spend money on a backup service

i keep a few documents on dropbox fwiw. anyways i just push everything because why not unless you have something to hide? i mean i have tons of lovely code on my github but that's why it's not my entire resume

lol that spideroak site basically reads "BACK UP YOUR CHILD PORNOGRAPHY AND TERRORIST DOCUMENTS HERE"

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





abraham linksys posted:

no, i just don't have my external hard drive with me and i'm too cheap (or poor, take your pick) to spend money on a backup service

i keep a few documents on dropbox fwiw. anyways i just push everything because why not unless you have something to hide? i mean i have tons of lovely code on my github but that's why it's not my entire resume

this is all fair and i didn't mean to pick on you but anyone using version control as their backup for critical stuff is pretty obviously an edge case and not an example of best practice

the talent deficit fucked around with this message at 06:31 on Mar 16, 2013

abraham linksys
Sep 6, 2010

:darksouls:

the talent deficit posted:

this is all fair and i didn't mean to pick on you but anyone using version control as their backup for critical stuff is pretty obviously an edge case and not an example of best practice

my point really is that there's no good argument *not* to push to a remote repo unless you're embarrassed of your code, since a new branch isn't forced upon anyone else cloning the repo or anything

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





abraham linksys posted:

my point really is that there's no good argument *not* to push to a remote repo unless you're embarrassed of your code, since a new branch isn't forced upon anyone else cloning the repo or anything

i push everything to my own private remote repo and agree there's no reason not to. i think it's kind of insane to advocate pushing private branches to a shared remote repo though. even moreso if it's some sort of canonical centralized repo

FamDav
Mar 29, 2008
you shouldn't treat your vcs as a backup system because it isn't. your vcs should be backed up, however.

why would i want every individual maintaining their own backup when a system where their local branches are stored remotely (privately, even) means that they are protected by what should arguably be the most comprehensive backup system in the group.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

the talent deficit posted:

i work on a product that has 4 full time devs and something like 40 part time devs. i have 8 branches that track some remote branch (we don't have a central repo because we're all consenting adults and don't need a source nanny) and another 31 that don't have any upstream branches (but have probably been pushed somewhere else). even if i have an order of magnitude more branches than everyone else that's like ~200 branches i now have to know about (even if it's only to differentiate between alejandro's `frobulate_the_zinger` branch and bjorn's `frobulize_the_zinger` branch and my own `frobberfy_the_zinger` branch)

the idea that i should have to give a gently caress about any branches i haven't specifically shared with someone else is stupid and wrongheaded


I completely agree. why would you ever check out a branch you don't care abou ... ooooohhhhhh, right

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 completely agree. why would you ever check out a branch you don't care abou ... ooooohhhhhh, right

why would you ever check in a branch no one else cares abou ... ooooohhhhhh, right

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

the talent deficit posted:

why would you ever check in a branch no one else cares abou ...

so it can be backed up and in case it turns out that someone actually does care about it, because you never really know.

shrughes
Oct 11, 2008

(call/cc call/cc)
Just discovered this today on OS X Mountain Lion.

code:
$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
$ ruby -e 'puts 2 ** 62 + 2 ** 62'
9223372036854775808
$ ruby -e 'puts 2 ** 63'
-9223372036854775808

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
that seems wrong

FlapYoJacks
Feb 12, 2009
Today I stared at a firmware bin not doing it's job all day. At first I was all like "Marvel!" :argh: because of this poo poo:

- All status checks return pass when the module is insmoded.
- All pins setup correctly on the board
- All data lines going to the 8787 are working properly
- Correct Vendor ID and Device ID's are showing
- The clock going to the SD1_CLK is correct
- The firmware is being loaded into memory
- The register offsets that it's checking are correct.


Oh hey my boss laid out the board wrong and added two pull-downs (one on hw1 and another on hw2) and the firmware was trying to activate on G-SPI instead of SDIO where it was actually wired into, thus never changing to register to the "I'm ready" state.
THANKS BOSS MAN!

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:

so it can be backed up and in case it turns out that someone actually does care about it, because you never really know.

if someone cares about it someone should take responsibility for it. if no one cares about it - not even the author - hurling it over the wire to some central blessed repository just turns that repository into a trash heap of ill considered crap someone is going to have to wade through eventually

i am not advocating squandering branches that may have future utility. by all means keep around that half finished port to that platform you don't currently support. keep that branch that would be great if only a couple of bugs in dependencies were fixed. keep that experimental branch that might be more suitable on future hardware. you might not care about them anymore but maybe someone else would like to take them up, right? no one wants to take up your branch that reimplements half the standard library because you think `searchFor(needle, hay)` is obviously superior to `search_for(hay, needle)`. no one even wants to be aware of it's existence

the 'keep everything!!' and 'history in detail' mentality leads to devs running `git log` and seeing 440 commits that are nothing but a single failing test case, 440 commits that add the code so the test case passes, 140 commits where test cases are removed to accommodate an api change, 230 commits to add new test cases and the code that causes them to pass and 12 merge commits from when the six different branches all this happened on were merged in. god forbid there's three different `testfoo` branches with no clear answer to which one is the right one. while in theory someone at some point might say 'i wish i had a clean commit between when test case 173 was added and test case 174 was added' or 'i wish we had kept that completely superfluous test suite that replicated one that already existed' the additional burden of time they'll suffer from squashing all that bullshit down into a single commit is far less than all the wasted time of people who just want to get up to speed on what's gone down since they last pulled the `develop` branch. there's very little utility in carrying around all that extra information and the penalty of inflicting the task of acknowledging that information if not understanding it to even a minimal extent is a very real cost. `git squash --interactive` isn't a dangerous thing you should only do in the direst of circumstances; it's a courtesy to everyone who just wants to see 'added a bunch of tests for `foo`' so they can maybe check them out to ascertain their completeness or start using `foo` secure in the knowledge it's tested or just start on writing tests for `bar`

if none of this matters to you because history is just some thing that's abstractly good and not a tool in and of itself well then hurrrrrrrr keep on committin i guess i dunno

the talent deficit fucked around with this message at 09:15 on Mar 16, 2013

tef
May 30, 2004

-> some l-system crap ->

i see you watched my talk, i found your live tweeting more hilarious than some of the more butthurt hacker news posters :v:

shrughes
Oct 11, 2008

(call/cc call/cc)
so I thought I might look at the go compiler source code.

code:
struct	Node
{
	// Tree structure.
	// Generic recursive walks should follow these fields.
	Node*	left;
	Node*	right;
	Node*	ntest;
	Node*	nincr;
	NodeList*	ninit;
	NodeList*	nbody;
	NodeList*	nelse;
	NodeList*	list;
	NodeList*	rlist;

	uchar	op;
	uchar	nointerface;
	uchar	ullman;		// sethi/ullman number
	uchar	addable;	// type of addressability - 0 is not addressable
	uchar	trecur;		// to detect loops
	uchar	etype;		// op for OASOP, etype for OTYPE, exclam for export
	uchar	bounded;	// bounds check unnecessary
	uchar	class;		// PPARAM, PAUTO, PEXTERN, etc
	uchar	method;		// OCALLMETH name
	uchar	embedded;	// ODCLFIELD embedded type
	uchar	colas;		// OAS resulting from :=
	uchar	diag;		// already printed error about this
	uchar	esc;		// EscXXX
	uchar	noescape;	// func arguments do not escape
	uchar	funcdepth;
	uchar	builtin;	// built-in name, like len or close
	uchar	walkdef;
	uchar	typecheck;
	uchar	local;
	uchar	dodata;
	uchar	initorder;
	uchar	used;
	uchar	isddd;
	uchar	readonly;
	uchar	implicit;
	uchar	addrtaken;	// address taken, even if not moved to heap
	uchar	dupok;	// duplicate definitions ok (for func)
	schar	likely; // likeliness of if statement
	uchar	hasbreak;	// has break statement

	// most nodes
	Type*	type;
	Node*	orig;		// original form, for printing, and tracking copies of ONAMEs

	// func
	Node*	nname;
	Node*	shortname;
	NodeList*	enter;
	NodeList*	exit;
	NodeList*	cvars;	// closure params
	NodeList*	dcl;	// autodcl for this func/closure
	NodeList*	inl;	// copy of the body for use in inlining

	// OLITERAL/OREGISTER
	Val	val;

	// ONAME
	Node*	ntype;
	Node*	defn;	// ONAME: initializing assignment; OLABEL: labeled statement
	Node*	pack;	// real package for import . names
	Node*	curfn;	// function for local variables
	Type*	paramfld; // TFIELD for this PPARAM; also for ODOT, curfn

	// ONAME func param with PHEAP
	Node*	heapaddr;	// temp holding heap address of param
	Node*	stackparam;	// OPARAM node referring to stack copy of param
	Node*	alloc;	// allocation call

	// ONAME closure param with PPARAMREF
	Node*	outer;	// outer PPARAMREF in nested closure
	Node*	closure;	// ONAME/PHEAP <-> ONAME/PPARAMREF

	// ONAME substitute while inlining
	Node* inlvar;

	// OPACK
	Pkg*	pkg;
	
	// OARRAYLIT, OMAPLIT, OSTRUCTLIT.
	InitPlan*	initplan;

	// Escape analysis.
	NodeList* escflowsrc;	// flow(this, src)
	NodeList* escretval;	// on OCALLxxx, list of dummy return values
	int	escloopdepth;	// -1: global, 0: return variables, 1:function top level, increased inside function for every loop or label to mark scopes

	Sym*	sym;		// various
	int32	vargen;		// unique name for OTYPE/ONAME
	int32	lineno;
	int32	endlineno;
	vlong	xoffset;
	vlong	stkdelta;	// offset added by stack frame compaction phase.
	int32	ostk;
	int32	iota;
	uint32	walkgen;
	int32	esclevel;
};
then again, maybe not.

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

Win8 Hetro Experie posted:

the push seems to be to generalize this further to end up with a fully-addressable malloc-like memory, a single processor-type unifying the capabilities of current stream processors and a programming model that can wholly express and replace the current pipeline

so what's the holdup?

malloc-like memory lmfao

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

the talent deficit posted:

if none of this matters to you because history is just some thing that's abstractly good and not a tool in and of itself well then hurrrrrrrr keep on committin i guess i dunno
Branch Hoarders: this fall on TLC

Zombywuf
Mar 29, 2008

rotor posted:

then how do you know which version to use??

I have people for that.

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>
i feel bad for people who have to work in multi-user git environments. i use git svn in a team that uses svn with actual process for checkins and it's like wicked awesome

MeruFM
Jul 27, 2010
I like our SVN. There's about 3-4 main commits everyday and it's great for writing patch release notes, because who writes documentation amirite.

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>

MeruFM posted:

I like our SVN. There's about 3-4 main commits everyday and it's great for writing patch release notes, because who writes documentation amirite.

interns

Adbot
ADBOT LOVES YOU

trex eaterofcadrs
Jun 17, 2005
My lack of understanding is only exceeded by my lack of concern.

rotor posted:

so it can be backed up and in case it turns out that someone actually does care about it, because you never really know.

orthogonal concerns

crashplan + git/hg all day long

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