|
Mr SuperAwesome posted:does anyone have any good tools for managing multiple git repos? for r in `ls`; do cd $r; git pull; cd ..; done
|
# ? Jul 3, 2017 12:35 |
|
|
# ? May 25, 2024 06:37 |
|
Mr SuperAwesome posted:does anyone have any good tools for managing multiple git repos? just do a bash script
|
# ? Jul 3, 2017 12:49 |
rstudio is such garbage
|
|
# ? Jul 3, 2017 12:51 |
|
Mr SuperAwesome posted:does anyone have any good tools for managing multiple git repos? joke option: make a new git repository with all the other git repositories inside it as submodules
|
# ? Jul 3, 2017 13:21 |
|
lol we actually tried that and it (unsurprisingly) made things worse because we grouped stuff in a dumb way (web poo poo, async poo poo) and it sucked
|
# ? Jul 3, 2017 13:23 |
|
we had a similar situation at my last job and honestly we just solved it by having a top level "toolchain" repo where overall build scripts lived (we were making an embedded Linux image and a cross platform desktop application though so actual cohesive single outputs, not a bunch of websites). the toolchain repo had a file that listed all the sub repos and we had fairly simple Python tooling that would parse it and could check out or clone or branch everything. and if you had a ticket that hit multiple repos you could create a branch of the toolchain that changed the branches listed as files. so kinda like a bunch of subrepos but easier to keep them all up to date. it had its downsides for sure but I think having some sort of spec file with tooling that reads it is the only way
|
# ? Jul 3, 2017 14:08 |
why on earth you can't mutate in r pipes
|
|
# ? Jul 3, 2017 14:35 |
|
Mr SuperAwesome posted:i want a thing that lets me it's called a monorepo
|
# ? Jul 3, 2017 15:35 |
|
https://redfin.engineering/well-never-know-whether-monorepos-are-better-2c08ab9324c0 like someone went out and changed a team and came to exactly zero conclusions because they assume the cost of a monorepo/multirepo is uniform across the team if you're working on a single component, like mutlirepos is like a monorepo, but not having to deal with other people as much, and you don't have to spend your time rebasing things like a chump on the other hand if you're making lots of cross cutting changes, or doing deployment or operations, a monorepo is far far easier to handle as you keep a global snapshot around but mostly the git monorepo / microrepo debate boils down to what you hate more: git's lack of subtree checkouts or git submodules
|
# ? Jul 3, 2017 15:42 |
|
flat multirepos: this is great multirepos that have subtle dependency chains: oh god kill me already
|
# ? Jul 3, 2017 15:44 |
|
isn't that what branches are for?
|
# ? Jul 3, 2017 15:49 |
|
tef posted:flat multirepos: this is great yes we have this lol shared library code and database stuff at the bottom, various components built on different bits of the chain going up Cocoa Crispies posted:for r in `ls`; do cd $r; git pull; cd ..; done this works alright, ty
|
# ? Jul 3, 2017 16:02 |
|
Mr SuperAwesome posted:yes we have this lol some shells have pushd and popd but the last shell script i wrote didn't work wtih them
|
# ? Jul 3, 2017 16:05 |
|
monorepo > microrepos generally speaking unless you are solving an actual problem by splitting things up, you're trading no problems for a bunch of problems
|
# ? Jul 3, 2017 16:06 |
|
facebook apparently uses a gigantic mercurial monorepo and that sort of works for them i guess idk why people have such a difficult time with git submodules though. i mean, yes, you need to actually think while using them, they're not magic, but the concept itself seems pretty straightforward? then again, i could say that about git itself. git has a fuckawful cli and i will never defend the insanity that is git-reset, but the underlying concepts are neat and simple enough.
|
# ? Jul 3, 2017 16:19 |
|
Sapozhnik posted:facebook apparently uses a gigantic mercurial monorepo and that sort of works for them i guess So does Google, although admittedly it only really works because they're Google, the world-bestriding megacorp, and willing to write their own massive infrastructure to make it work.
|
# ? Jul 3, 2017 17:01 |
|
darthbob88 posted:
i thought they had a giant perforce repo at one point?
|
# ? Jul 3, 2017 17:05 |
|
The_Franz posted:i thought they had a giant perforce repo at one point? yup, it's even mentioned in the article. the whole custom-monorepo thing is essentially because it got too large for perforce. if you're not a globe-spanning megacorp you can probably run a monorepo just fine on existing commercial software. i'd even venture that investing money into making that happen is probably more cost-effective than trying to make any sort of fine-grained split repo work.
|
# ? Jul 3, 2017 17:15 |
|
microsoft uses a derivative of git for windows development lol
|
# ? Jul 3, 2017 17:26 |
|
tef posted:flat multirepos: this is great monorepos that have no clear dependency hierarchy: kill everyone then kill me we do not deserve to see gods light
|
# ? Jul 3, 2017 18:10 |
|
comedy option: company committed to open-sourcing components except business-critical ones but also operating with a monorepo
|
# ? Jul 3, 2017 18:14 |
|
monorepos are the way to do it. and if you have artifact version management as something non-static during development you've done hosed up
|
# ? Jul 3, 2017 18:17 |
|
i can tell you at least one of the major java ee servers is one monorepo in git another is an even larger monorepo in home groan centralized version control
|
# ? Jul 3, 2017 18:18 |
|
the code you're looking for is actually in one of our five monorepos
|
# ? Jul 3, 2017 18:19 |
|
the only good way to do multirepo is with a system that lets you create ad-hoc monorepos out of it. this requires * a way of declaring package dependencies * a way of tracking package sets, and building/merging new packages into them that guarantees you didn't break things in a tertiary dependency * a way of integrating this into a bunch of build systems like maven, rubygems, cargo, etc you'll want something that can do cross-package dependency management/hiding eventually in your monorepos, but you can live without it for quite awhile.
|
# ? Jul 3, 2017 18:26 |
|
Cocoa Crispies posted:some shells have pushd and popd but the last shell script i wrote didn't work wtih them I think every shell has "cd -" though so that's a neat trick to remember next time
|
# ? Jul 3, 2017 19:05 |
|
MononcQc posted:the code you're looking for is actually in one of our five monorepos sorry mario but you're code is in another monorepo
|
# ? Jul 3, 2017 19:14 |
|
FamDav posted:the only good way to do multirepo is with a system that lets you create ad-hoc monorepos out of it. this requires the equivalent for a monorepo tends to include build tools that can handle multiple languages, a CI strategy that doesn't need to recompile and run the tests for all projects when testing the changes in only one of them, etc.
|
# ? Jul 3, 2017 19:14 |
|
Symbolic Butt posted:I think every shell has "cd -" though so that's a neat trick to remember next time code:
|
# ? Jul 3, 2017 19:41 |
|
anthonypants posted:
|
# ? Jul 3, 2017 19:51 |
|
yospos bicth
|
# ? Jul 3, 2017 19:52 |
|
pre:ViNCEd Version 3.91 (c) 2000-2001 Amiga Inc. performed 1990-2001 by Thomas Richter. New Shell process 3 3.Workbench39:> pushd pushd: Unknown command 3.Workbench39:>
|
# ? Jul 3, 2017 20:41 |
|
well I guess I can port my amiga reversi game to Objective-C and wire up a Cocoa UI for it maybe i can make money off the MAC APP STORE (lol nobody makes money off the app store)
|
# ? Jul 3, 2017 20:50 |
|
FamDav posted:the only good way to do multirepo is with a system that lets you create ad-hoc monorepos out of it. this requires this is my recurring issue with people breaking up repos and adding a bunch of build and artifact management stuff instead: it is a lot of, often manual and error-prone, effort to recreate having a consistent global version history for the system. just having it as one repo alleviates the need for a lot of this stuff and simplifies understanding matters hugely
|
# ? Jul 3, 2017 21:31 |
|
how do you deal with different microservices (well) with a monorepo? package + deploy separately based on, i guess, folders? and what happens when code from service A and service B share library code C? are you essentially just as hosed as with multirepos except you have less commits + PRs?
|
# ? Jul 3, 2017 21:54 |
|
MononcQc posted:the equivalent for a monorepo tends to include build tools that can handle multiple languages, a CI strategy that doesn't need to recompile and run the tests for all projects when testing the changes in only one of them, etc. no matter what you're going to need all of those things. at a certain point you have hundreds/thousands of packages that build to a result, and when you change a package midway down the hierarchy you only want to build the 100 that would be impacted, not the other 5000 that wouldnt. also build parallelism Cybernetic Vermin posted:this is my recurring issue with people breaking up repos and adding a bunch of build and artifact management stuff instead: it is a lot of, often manual and error-prone, effort to recreate having a consistent global version history for the system. just having it as one repo alleviates the need for a lot of this stuff and simplifies understanding matters hugely you want artifact management no matter what? unless i'm misunderstanding and most of what you' want out of a consistent global version history exists in cargo.lock or gemfile.lock, or the WORKSPACE file in bazel. what theyre missing is * the ability to separate the dependency set and its history from the source code history * the ability to transactionally merge dependency sets or manually build new package revisions into them. also the ability to create child branches which can be merged back * the ability to check out the correct variants of packages in your dependency set * support multi-language, which really means having the common tools to prepare the build environment and then additional plugins to make build systems work if necessary
|
# ? Jul 3, 2017 22:01 |
|
Cannot get 8 monitors working horizontally due to nVidia being awesome, however they do work vertically so CSS transform: rotate to the rescue. Not sure how well it is going to like the horizontal buffer for the GL context for the ticker though. 6144×1360 pixels even though the hardware is supposed to be 8×1366x768. https://www.youtube.com/watch?v=ra4PxoDIvac Painting into a 2D canvas and uploading as a texture to the GPU to scroll in WebGL because the DOM is too slow and CSS transitions are janky.
|
# ? Jul 3, 2017 23:03 |
|
Luigi Thirty posted:well I guess I can port my amiga reversi game to Objective-C and wire up a Cocoa UI for it I would buy it I like buying things from goons it's my own special form of brokebrains I guess
|
# ? Jul 3, 2017 23:29 |
|
Luigi Thirty posted:well I guess I can port my amiga reversi game to Objective-C and wire up a Cocoa UI for it apps are big now, gramps
|
# ? Jul 3, 2017 23:45 |
|
|
# ? May 25, 2024 06:37 |
|
cinci zoo sniper posted:rstudio is such garbage rstudio is needs suiting imo cinci zoo sniper posted:im slowly starting to hate rstudio, much like i do hate ides such as spyder when i have alternatives available. sadly, i don't think ill get a visual studio seat to replace rstudio you can use RTVS in the latest free versions of visual studio, what's the problem
|
# ? Jul 4, 2017 00:08 |