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
Opinion Haver
Apr 9, 2007

Gazpacho posted:

Look I like git but even git can't map the same file object to multiple locations or recover a pushed deletion without copying the file, perforce can do that poo poo

unless i'm vastly misunderstanding how git works it can just reuse the file objects

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006

Win8 Hetro Experie posted:

the git plugin in the latest freshly unzipped eclipse pops up 2 dialog windows if it can't find git

in those dialogs it kind of weakly apologizes that it can function just as well without using a real git, it's pretty :catstare:

git users are autismal so they probably want to make doubly sure they know when they're using their specially handcrafted local git install vs an embedded version in the plugin.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

yaoi prophet posted:

unless i'm vastly misunderstanding how git works it can just reuse the file objects
git doesn't have any "file objects" to reuse in the sense of RCS & successors, it only has the whole project state

http://git.661346.n2.nabble.com/How-to-fork-a-file-git-cp-td6331860.html

i did a poor job of explaining the benefits of how perforce operates tho and i guess i have to accept hte consequences

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Win8 Hetro Experie posted:

the git plugin in the latest freshly unzipped eclipse pops up 2 dialog windows if it can't find git

in those dialogs it kind of weakly apologizes that it can function just as well without using a real git, it's pretty :catstare:

so don't use eclipse, it obviously doesn't respect you enough to stay out of your way

Cold on a Cob
Feb 6, 2006

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

College Slice

Shaggar posted:

autismal

:cheers:

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
btw i think this is pretty lol

http://git.savannah.gnu.org/cgit/rcs.git/

Opinion Haver
Apr 9, 2007

Gazpacho posted:

git doesn't have any "file objects" to reuse in the sense of RCS & successors, it only has the whole project state

http://git.661346.n2.nabble.com/How-to-fork-a-file-git-cp-td6331860.html

i did a poor job of explaining the benefits of how perforce operates tho and i guess i have to accept hte consequences

huh you're right, i just tried this and it actually did have to re-push the file, wonder why it does that

i guess you could reset on local and push --force but that's not really the same thing

salted hash browns
Mar 26, 2007
ykrop

Sweeper posted:

yes i think and it makes a difference in which object you are blocking on. i think having a method as synchronized will use the parent (?) object as the lock

Shaggar posted:

if ur using a hashmap try a concurrenthashmap. Also, i assumed both questions were about concurrency on the linkedlist so if you arent sharing the linked list then the memory leak is probably not related to multithreading and probably just a plain old leak in ur code. should be easier to find with a leak detector.

Cocoa Crispies posted:

use the synchronized versions of both and hopefully it won't be a problem but remember that in legacy languages like java and c multi-threaded programming is really difficult and if poo poo doesn't work right it'll be really hard to debug

this is the take home point

anyways i finally got it working. used synchronized blocks because i needed to block multiple calls.

ya'all are the best

Shaggar
Apr 26, 2006
java owns, dont let the jealous try to confuse you.

Empty Pockets
Jun 11, 2008

Cocoa Crispies posted:

so don't use eclipse, it obviously doesn't respect you enough to stay out of your way

The command line is my IDE :smugdog:

Lysidas
Jul 26, 2002

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

yaoi prophet posted:

huh you're right, i just tried this and it actually did have to re-push the file, wonder why it does that

i guess you could reset on local and push --force but that's not really the same thing

the git wire protocol isn't optimzized for re-adding a ton of objects the remote repository already has. this is a relatively uncommon case and doesn't come up in practice very often

and no, gazpacho, we get what you did with perforce. you can do *exactly* the same thing in svn. in git you'd just ... i don't know, not push the commit in which you deleted the whole project. i'm guessing this is why the transfer protocol doesnt need to handle this case very well

if you manage to do that for some reaosn force-pushing a rewind is probably the best say to fix it. everyone's going to know something is wrong when the pull and every single file is deletd, and theyll probably just reset to before that point and keep working

lol if you
Jun 29, 2004

I am going to remove your penis, in thin slices, like salami, just for starters.

Cold on a Cob posted:

i've never used it but i like svn and tfs both have done me solid so far, what does perforce do better?

these days it's got end-to-end encryption out of the box, offline/nearline repos for old code and assets that you need living records of but don't want taking up TB, the new stream architecture means that if you've got a half competent person doing your branching strategy the tools themselves will maintain a proper 'merge-down, copy-up' methodology

plus infinite local sandboxing with offline mode, simple poo poo like cherry picking during resolves, hell you can even XML template out the p4v client so that anyone who connects to your server (like, say, a few hundred people in the art department) get a custom defined GUI that will only show them the things they can understand ie. big boxes with '+' and '-' on them and nothing else



svn is cool and git is cool. but the next time you're responsible for several dozen TB worth of assets that require a federal evidence chain be maintained for 10+ years or that has the kind of assets in it that regularly generate IP lawsuits (gaming, movie making, NYSE to name a few) having a server-client architecture with single point logging and admin controlled access and some new dipshit on the team says 'but git is so coooooooooool' just go ahead and process their dismissal papers right away because guaranteed within a month they'll have uploaded sensitive data to pastebin or some other stupid poo poo

lol if you
Jun 29, 2004

I am going to remove your penis, in thin slices, like salami, just for starters.
Version Everything(tm)

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Lysidas posted:

and no, gazpacho, we get what you did with perforce. you can do *exactly* the same thing in svn.
i want to see the command

svn delete important_shit/*
svn commit -m "Whoops"

now recover all the 100s of megabytes that were in important_shit without uploading new copies to the repository

Lysidas posted:

in git you'd just ... i don't know, not push the commit in which you deleted the whole project.
and in perforce i would just not fat-finger a popup that committed the current change, all you're doing is pushing the problem one step back, and i doubt anyone is keeping a build chain in git anyway

Gazpacho fucked around with this message at 09:34 on Nov 3, 2012

lol if you
Jun 29, 2004

I am going to remove your penis, in thin slices, like salami, just for starters.

Gazpacho posted:

sharing shitloads of files between projects, like if you keep your toolchain in version control for repeatable building

although for this to be effective you have to build a culture where people will tell p4 to copy file objects instead of adding new instances of them, and some people just will not loving do this



submit unchanged is a dumb default, i've spent so loving much time running obliterates for people who cannot seem to change a loving semicolon without first opening the whole goddamn branch for edit and then submitting from //...


if i was still admining these days i'd run everything through a p4 broker that just quietly ignores most of people's stupid habits

Cold on a Cob
Feb 6, 2006

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

College Slice

lol if you posted:

Version Everything(tm)
tyvm for your answer that is great info

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

lol if you posted:

these days it's got end-to-end encryption out of the box, offline/nearline repos for old code and assets that you need living records of but don't want taking up TB, the new stream architecture means that if you've got a half competent person doing your branching strategy the tools themselves will maintain a proper 'merge-down, copy-up' methodology

plus infinite local sandboxing with offline mode, simple poo poo like cherry picking during resolves, hell you can even XML template out the p4v client so that anyone who connects to your server (like, say, a few hundred people in the art department) get a custom defined GUI that will only show them the things they can understand ie. big boxes with '+' and '-' on them and nothing else



svn is cool and git is cool. but the next time you're responsible for several dozen TB worth of assets that require a federal evidence chain be maintained for 10+ years or that has the kind of assets in it that regularly generate IP lawsuits (gaming, movie making, NYSE to name a few) having a server-client architecture with single point logging and admin controlled access and some new dipshit on the team says 'but git is so coooooooooool' just go ahead and process their dismissal papers right away because guaranteed within a month they'll have uploaded sensitive data to pastebin or some other stupid poo poo

I don't know what the poo poo any of this means, but p4merge is pretty :coal:

penus de milo
Mar 9, 2002

CHAR CHAR
so if i've got several dozen TB of assets which are required by federal law to be auditable then i'll use whatever poo poo you're talking about

for everything else i'll just use github

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance
we use git at work and i hate it seems like every time i do a pull there's a merge conflict that needs to be resolved and every time i try to do anything even slightly out of the ordinary (amend a commit or work on a seperate branch) the whole repo just loving explodes

Shaggar
Apr 26, 2006
you arent trying to merge other people's commits, are you? git is for keeping your own local fork. its not source control.

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance
whats the deal with maven?

jony neuemonic
Nov 13, 2009

i tried to do a couchdb today and it crashed when i ran the built-in test suite

that's my story

Janitor Prime
Jan 22, 2004

PC LOAD LETTER

What da fuck does that mean

Fun Shoe

HORATIO HORNBLOWER posted:

whats the deal with maven?

it's awesome

salted hash browns
Mar 26, 2007
ykrop

HORATIO HORNBLOWER posted:

whats the deal with maven?

i like leiningen better

Rufus Ping
Dec 27, 2006





I'm a Friend of Rodney Nano
lein is ftw

Catalyst-proof
May 11, 2011

better waste some time with you

HORATIO HORNBLOWER posted:

we use git at work and i hate it seems like every time i do a pull there's a merge conflict that needs to be resolved and every time i try to do anything even slightly out of the ordinary (amend a commit or work on a seperate branch) the whole repo just loving explodes

lol that's part of your job champ, handling merge conflicts

there's no --magically-divine-my-intent flag in any source control system

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance

WHOIS John Galt posted:

lol that's part of your job champ, handling merge conflicts

there's no --magically-divine-my-intent flag in any source control system

thanks moron

im no expert on source control systems but you'd think it could handle this case better: two people both add a function to the end of a file (possibly the logical place to add a new function??) when person a pulls person b's changes and vice versa there's a conflict. is it really so hard to figure out that i want both of the new functions?

my complaint is not that conflicts occur but that they occur like all the fucken time and if i wanted to manually merge diffs together every time i did a pull i could do that perfectly well on my own without any "help" from git

Lysidas
Jul 26, 2002

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

Gazpacho posted:

i want to see the command

svn delete important_shit/*
svn commit -m "Whoops"

now recover all the 100s of megabytes that were in important_shit without uploading new copies to the repository
:ocelot:

Lysidas posted:

or even if yo'ure using a vcs for idiots, svn remove whole directory; svn copy directory@{rev before you hosed up} directory

syntax may not be very accurate; i havent used svn in years

e: i wasnt clear either
you do this in the repository, not your local copy

svn delete important_shit/*
svn commit -m "Whoops"
svn delete svn://server/path/to/important_shit
svn copy svn://server/path/to/important_shit@{rev before you hosed up} svn://server/path/to/important_shit

i'm probly wrong on the syntax but ive done this a few times for this exact reason

Lysidas fucked around with this message at 00:30 on Nov 4, 2012

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
if that actually works then good for svn, i vaguely remember it not working at some point in the past, also thanks for confirming that you too sometimes gently caress up with version control

Lysidas
Jul 26, 2002

John Diefenbaker is a madman who thinks he's John Diefenbaker.
Pillbug
i don't gently caress up too often anymore, but my god did i ever screw up a bunch of poo poo when i was learning to use git

this was in the context of git-svn too, which really complicates things. git-svn is horrible and the git developers consider it an unmaintainable jumble of perl code

i learned how to unfuck svn repos on a co-op job a long time ago, though, and that was mostly cleaning up after other developers. the company switched from cvs to svn while i was there and some of the devs had a lot of trouble

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
smh that anyone still uses version control without atomic multi-file commits

might as well use a line editor and heck maybe even a teletype

Gazpacho fucked around with this message at 01:30 on Nov 4, 2012

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum
i really like perforce :ohdear:

Zizzyx
Sep 18, 2007

INTERGALACTIC CAN CHAMPION

the reason you are constantly having to merge is that git, for some reason, assumes you want all of the remote repo's changes applied *after* your commit. so if the remote changes touch the same lines as yours you have to merge.

if you pull with --rebase, it sets aside your local commits, applies the remote changes on your pre-commit workspace, and *lastly* applies your commits.

i have no idea why this isn't default, as this is usually what you want to do if you forgot to pull before you started changing poo poo

Zizzyx
Sep 18, 2007

INTERGALACTIC CAN CHAMPION

so your workflow goes like:
code:
$ git commit -m 'i don't pull before i start working'
$ git push  # fails
$ git pull --rebase
$ git push

Opinion Haver
Apr 9, 2007

rebasing won't work either; i just tried it using local branches and it conflicted

the problem is that in order to do it automatically git would have to decide whether you want your function on top or whether you want the other function on top and they decided that it's better to just let the user decide, because merging B into A should give the same result as merging A into B (though obv the history will be different).

even if it did somehow pick one to put on bottom (the one with the smaller hash, arbitrarily), you'd have to manually inspect the merge anyway to make sure that the order it used fits with the order that you want. maybe you're trying to keep your list alphabetical or something.

Opinion Haver fucked around with this message at 01:39 on Nov 4, 2012

penus de milo
Mar 9, 2002

CHAR CHAR

HORATIO HORNBLOWER posted:

we use git at work and i hate it seems like every time i do a pull there's a merge conflict that needs to be resolved and every time i try to do anything even slightly out of the ordinary (amend a commit or work on a seperate branch) the whole repo just loving explodes

you are too dumb to use git return to svn immediately

Shaggar
Apr 26, 2006

HORATIO HORNBLOWER posted:

whats the deal with maven?

maven rules

HORATIO HORNBLOWER
Sep 21, 2002

no ambition,
no talent,
no chance

Shaggar posted:

maven rules

our build/deploy process is entirely manual and crummy but im not in charge of that so itll probably never change

what do you use for an issue tracker? jira?

Shaggar
Apr 26, 2006
jira. I dont have any automated build/deployment system like hudson (thats next on the list) but atleast with maven all your build steps + config are in the pom. so when you run a build+deploy manually via maven, atleast you know its using the same steps + plugins as when you built it in testing.

if you dont already have one, setup a nexus repo. you can use it for local proxies of maven central and others as well as the repo for your release and snapshot packages. once everyone starts using it, everything is wonderful. instead of having to checkout and build a module some teammeber built you just grab the one he built out of your repo. ezpz.

Adbot
ADBOT LOVES YOU

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Shaggar posted:

jira. I dont have any automated build/deployment system like hudson (thats next on the list) but atleast with maven all your build steps + config are in the pom.

fyi not only did tef and i tell you about jenkins like six months ago hudson became jenkems about two years ago

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