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
rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

sure, i could use apt or some poo poo and maintain config files that point at all the different lib versions ... ooorrrrr ... I could save a bunch f time and effort and just loving use svn and not be a huge weirdo about it just because someone told me once that you shouldn't check in binaries to version control

Adbot
ADBOT LOVES YOU

Zombywuf
Mar 29, 2008

rotor posted:

sure, i could use apt or some poo poo and maintain config files that point at all the different lib versions ... ooorrrrr ... I could save a bunch f time and effort and just loving use svn and not be a huge weirdo about it just because someone told me once that you shouldn't check in binaries to version control

I'd rather not drive the people who have to deploy my half baked pile of poo poo random binaries from around the internet to any more drink than they'd naturally consume.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Zombywuf posted:

I'd rather not drive the people who have to deploy my half baked pile of poo poo random binaries from around the internet to any more drink than they'd naturally consume.

??

look, here's how it works

version 2.0 of my poo poo depends on v1.2 of Third Party Library X. I check this lib into source control under /thirdparty/libs. When I release version 2.0, i tag the entire tree as VERSION_2_0_RELEASED, and release the stuff to my customers. They have one copy of Library X, namely 1.2, the one that works with this release.

now, later, Library X moves versions and features. version 3.0 of my poo poo now depends on Library X version 1.3, so copy the new version into /thirdparty/libs and check it in. When I release version 3.0, I tag the tree as VERSION_3_0_RELEASED and send it to my customers, who also now have one copy of Library X, namely 1.3, the one that works with this release.

the tree should be self-contained. If you have dependencies on external things, they should be in the tree if reasonably possible.

uG
Apr 23, 2003

by Ralp
i just wanna smash git push origin master not do all tha tshit

abraham linksys
Sep 6, 2010

:darksouls:

rotor posted:

I check this lib into source control under /thirdparty/libs.

sorry you lost me there

only time you should commit a lib to a repo is if it's a browser library because no one's made a decent package manager for client-side js libs yet

other than that it should all be handled by your gemfile/requirements.txt/package.json/some_java_bullshit.xml

Cybernetic Vermin
Apr 18, 2005

abraham linksys posted:

sorry you lost me there

only time you should commit a lib to a repo is if it's a browser library because no one's made a decent package manager for client-side js libs yet

other than that it should all be handled by your gemfile/requirements.txt/package.json/some_java_bullshit.xml

you know, just read the last 10 pages, i don't think we need this reset to the start of the argument with a new person

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

abraham linksys posted:

sorry you lost me there

only time you should commit a lib to a repo is if it's a browser library because no one's made a decent package manager for client-side js libs yet

other than that it should all be handled by your gemfile/requirements.txt/package.json/some_java_bullshit.xml

please, lets try to keep these forums troll-free

abraham linksys
Sep 6, 2010

:darksouls:
i'm working on a project that has both a requirements.txt and a package.json because it's a tornado-based python app that uses grunt to compile static assets :shepface:

Zombywuf
Mar 29, 2008

rotor posted:

They have one copy of Library X

lol, you really do hate users.

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Zombywuf posted:

lol, you really do hate users.

yeah

but I shield them from dependency hell by static linking anyway

Notorious b.s.d.
Jan 25, 2003

by Reene

abraham linksys posted:

sorry you lost me there

only time you should commit a lib to a repo is if it's a browser library because no one's made a decent package manager for client-side js libs yet

other than that it should all be handled by your gemfile/requirements.txt/package.json/some_java_bullshit.xml

this is nasty, but at least js libs are never derived artifacts. you are not compiling the third library and then stuffing the artifact in source control.

the java analogue would be including all of the source of the third party library with your app. it is inelegant, but you are not losing/mangling any information


edit: if you are committing minified js to vcs, yeah you are worse than hitler etc etc

Notorious b.s.d. fucked around with this message at 04:51 on Mar 17, 2013

Notorious b.s.d.
Jan 25, 2003

by Reene

Cybernetic Vermin posted:

yeah, most of those requests are complex poo poo to solve problems that are created by not having everything necessary in the same version history, and rather than spending 2 seconds to push what is needed into svn i should have started a multi-decade process changing the ways a fortune 50 company works in all projects. i am starting to really want to know what mess you are picturing here. let us imagine this setup:

checkout current rev, you get trunk/src, trunk/docs and some stuff like that, checkout tag release_1_2_0 you get trunk/src, trunk/deploy/jrockit-companyx-patch239 and some extra documentation and scripts describing the deployment differences involved in this version.

i no longer work at the company, but believe this svn repository still exists. now describe the huge issues i have caused for the guy in mumbai now maintaining it.

i don't dispute advantages to maven for cross-project dependencies, but that argument doesn't apply in any way since i can't dictate what other projects do.

let me apply your argument to source control itself:

"why on earth should i have a complex tool like subversion, with an even more complicated server-side component? i can just re-name files every time i make a change, and the version history will be obvious from the pattern. how stupid do you have to be to fail to recognize that "libButtPucker.c.v2.0" is newer than "libButtPucker.c.v1.99" ? no one would ever mix that poo poo up"

Notorious b.s.d.
Jan 25, 2003

by Reene
to put it plainly, we build tools to remove human error from the process. putting your derived artifacts in source control may work some of the time, but it has no forcing factors to prevent fuckups. if we want, we can implement literally any protocol as a procedure and just rely on staff to never, ever gently caress up. version control itself exists to prevent a large class of fuckups. artifact repositories are the next logical step, to prevent another class of fuckups

so here are the most obvious problems with derived artifacts in vcs: there's no metadata to link the artifact to the source that produced it, and there's nothing to prevent people from inserting new revisions of the artifact in the branch. lastly, and most importantly, there is no way for projects to declare their dependencies, short of complex svn mv/branch operations to include copies of derived artifacts. it's a clusterfuck

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Notorious b.s.d. posted:


so here are the most obvious problems with derived artifacts in vcs: there's no metadata to link the artifact to the source that produced it, and there's nothing to prevent people from inserting new revisions of the artifact in the branch. lastly, and most importantly, there is no way for projects to declare their dependencies, short of complex svn mv/branch operations to include copies of derived artifacts. it's a clusterfuck

a) I don't have the source
b) ok, but this doesn't really happen
c) oh no! branches and tags!

Opinion Haver
Apr 9, 2007

uG posted:

Just use 2 versioning systems then version those 2 systems together on a 3rd versioning system and then you can both be wrong

i put my .git under svn

FlapYoJacks
Feb 12, 2009

abraham linksys posted:

i'm working on a project that has both a requirements.txt and a package.json because it's a tornado-based python app that uses grunt to compile static assets :shepface:

I will give you a gun with a single bullet in it and a butter knife. After a week you are going to be real upset you used the gun to shoot your computer.

Luckily you still have your butter knife to kill yourself.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

yaoi prophet posted:

i put my .git under svn
somewhere there is a company that does this

Opinion Haver
Apr 9, 2007

Gazpacho posted:

somewhere there is a company that does this

it means that even if you have a bad rebase you can just restore from backup!!

tef
May 30, 2004

-> some l-system crap ->

Mr Dog posted:

if you're using triggers you've made some seriously poor choices in ur life

trigger dicipline

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer
~• trigger warning •~

Max Facetime
Apr 18, 2009

Notorious b.s.d. posted:

to put it plainly, we build tools to remove human error from the process.

this glosses over a few important details. it isn't all human error these tools are built to tackle, it is random human error that is of interest here. and it isn't that we want all the random human error removed, specifically. rather, we want that random error converted into systematic error whenever it occurs, because we already have the tools we need for identifying and correcting systematic errors

Notorious b.s.d. posted:

putting your derived artifacts in source control may work some of the time, but it has no forcing factors to prevent fuckups. if we want, we can implement literally any protocol as a procedure and just rely on staff to never, ever gently caress up. version control itself exists to prevent a large class of fuckups. artifact repositories are the next logical step, to prevent another class of fuckups

this is all well and good. but if these two repositories don't present a unified façade, don't understand and talk to each other, if they need a human to act as a mediator between them... that's a big source of random human error that this combination system adds compared to a single system

Max Facetime
Apr 18, 2009

examples of systematic human errors in the same context:

- using different new line-characters than the codebase, or tabs instead of spaces
- writing a c++ function using coding conventions from c
- thinking array indexing starts at 1, then allocating an extra array element to workaround the inevitable off-by-one error
- leaking memory by not taking ownership of a given resource

Cybernetic Vermin
Apr 18, 2005

Notorious b.s.d. posted:

so here are the most obvious problems with derived artifacts in vcs: there's no metadata to link the artifact to the source that produced it, and there's nothing to prevent people from inserting new revisions of the artifact in the branch. lastly, and most importantly, there is no way for projects to declare their dependencies, short of complex svn mv/branch operations to include copies of derived artifacts. it's a clusterfuck

for someone who goes off about people not reading posts properly you sure live in your own little fantasy world a lot, this is nothing like my case. i have not used the term "derived artifact" once in this whole discussion, and have made clear several time that i am not putting stuff built from source i control into version control. the bit about declaring dependencies is deeply retarded, the dependencies are the things in the repository, i declare that the system depends on javelin-appia-3.0.1.jar by virtue of that jar being in that revision. the dependencies being managed by svn tagging/branching is an advantage

either way, you have said nothing new, remotely interesting, or even funny since the start. i'll quit trying to explain to you now, to spare the world this sperg poo poo discussion about what is philosophically pure svn use, and how successful projects may actually ruin the world (being big finance this might actually be true, but certainly not because of svn use patterns). i thank shaggar for the lesson on maven/nexus, which sounds like good stuff for broader project dependencies, but if it isn't already set up there is no reason for people to fear putting documentation/testing data/training material/planning documents or just about anything into svn if it needs to be in sync with the project, and it in any way helps you day to day.

Zombywuf
Mar 29, 2008

Cybernetic Vermin posted:

for someone who goes off about people not reading posts properly you sure live in your own little fantasy world a lot, this is nothing like my case. i have not used the term "derived artifact" once in this whole discussion, and have made clear several time that i am not putting stuff built from source i control into version control. the bit about declaring dependencies is deeply retarded, the dependencies are the things in the repository, i declare that the system depends on javelin-appia-3.0.1.jar by virtue of that jar being in that revision. the dependencies being managed by svn tagging/branching is an advantage

So when you said that your deployment environment was stuck on some old version of javelin-appia which was why you were shoving jars in your repo what you meant was "I've made the repo so hosed up with trying to fix deployment problems in source control I don't even know what's going on anymore?"

Cybernetic Vermin
Apr 18, 2005

Zombywuf posted:

So when you said that your deployment environment was stuck on some old version of javelin-appia which was why you were shoving jars in your repo what you meant was "I've made the repo so hosed up with trying to fix deployment problems in source control I don't even know what's going on anymore?"

just about every post you make is incomprehensible. what do you mean deployment environment being stuck on some old version of appia? they are as part of the deployment package getting the exact version with which the software was developed, tested, and certified. they are meant to get that version of that library, it is critically important that they do. you keep repeating your idiotic misunderstanding about this being about release management as well, you are being ignored because it makes no sense, packages are built, overly complex release managements procedures are involved, this has no loving bearing on the day that we need to drop back to version 1.2.0 for some reason to debug/develop/backport something, and at that point we want to restore the situation under which it worked without having to download and dissect the release by hand

Zombywuf
Mar 29, 2008

Cybernetic Vermin posted:

just about every post you make is incomprehensible. what do you mean deployment environment being stuck on some old version of appia? they are as part of the deployment package getting the exact version with which the software was developed, tested, and certified. they are meant to get that version of that library, it is critically important that they do. you keep repeating your idiotic misunderstanding about this being about release management as well, you are being ignored because it makes no sense, packages are built, overly complex release managements procedures are involved, this has no loving bearing on the day that we need to drop back to version 1.2.0 for some reason to debug/develop/backport something, and at that point we want to restore the situation under which it worked without having to download and dissect the release by hand

Seriously, you seem to be suffering the after effects of some serious stress. I suspect the stress is due to working in an environment where you were managing applications end-to-end out of your source control repo while not having the power to apply the obvious solution to problems like this:

quote:

program trading desk is still running version 2 of the client whereas sales trading has moved to version 3, we need to backport a feature from version 3 to version 2 for them, in the process the documentation and testing procedures should be updated accordingly.

(the obvious solution is: I'm only supporting one version, sales and program can fight it out between themselves)

Cybernetic Vermin
Apr 18, 2005

Zombywuf posted:

Seriously, you seem to be suffering the after effects of some serious stress.

seriously, you are being stupid here, and your suggestion is retarded, i got well paid and rewarded to provide this service, had fun in the process, and the desks appreciated the results. you 100% seriously would be clearing out your desk five minutes after refusing to provide the software requested due to sperg "principles". quitting this end of the discussion now as well, this thread is way overdue to go back to talking about prolog or something

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Notorious b.s.d. posted:

this is nasty, but at least js libs are never derived artifacts. you are not compiling the third library and then stuffing the artifact in source control.

the java analogue would be including all of the source of the third party library with your app. it is inelegant, but you are not losing/mangling any information


edit: if you are committing minified js to vcs, yeah you are worse than hitler etc etc

minimized js is hitler full stop

just gzip it, god

Zombywuf
Mar 29, 2008

Cybernetic Vermin posted:

seriously, you are being stupid here, and your suggestion is retarded, i got well paid and rewarded to provide this service, had fun in the process, and the desks appreciated the results. you 100% seriously would be clearing out your desk five minutes after refusing to provide the software requested due to sperg "principles". quitting this end of the discussion now as well, this thread is way overdue to go back to talking about prolog or something

There's a reason I avoid working at places that won't respect my opinion. Something to do with not being a doormat.

Squinty Applebottom
Jan 1, 2013

Zombywuf posted:

There's a reason I avoid working at places that won't respect my opinion. Something to do with dunning-kruger

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice

Zombywuf posted:

There's a reason I avoid working at places that won't respect my opinion. Something to do with not being a doormat.

i'm agnostic regarding what kind of dumb poo poo people check into their repos, but this is true regardless

coaxmetal
Oct 21, 2010

I flamed me own dad
you can use github to host code and sourceforge for binaries, apparently thats pretty common, talking to the sourceforge dudes. also, sourceforge is still around.

coaxmetal
Oct 21, 2010

I flamed me own dad
I don't know if thats good i've never hosted a binary

Progressive JPEG
Feb 19, 2003

Ronald Raiden posted:

I don't know if thats good i've never hosted a binary
live on the wild side

Catalyst-proof
May 11, 2011

better waste some time with you
source forge is home to such magical projects as

kitchen garden aid

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice

horse mans posted:

source forge is home to such magical projects as

kitchen garden aid



i'm the drugs

no, the other drugs

Police Academy III
Nov 4, 2011
im the :catdrugs:

tef
May 30, 2004

-> some l-system crap ->

Zombywuf posted:

There's a reason I avoid working at places that won't respect my opinion. Something to do with not being a doormat.

lolololololololololololololololol

tef
May 30, 2004

-> some l-system crap ->
zombywuf's work history:

1. doormat
2. dish cloth
3. poop janitor

Adbot
ADBOT LOVES YOU

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
this argument sucks lets have a new one. pick one of the below:

* global state was hitler's best friend
* type systems are too lax and thus we should have positive and negative numbers become different types
* creative comedy option A
* javascript and ruby, like best friends in a best friend place
* your editor sucks which means you can't write computers
* your beer sucks which means you can't write computers
* creative comedy option B

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