HackerTrans
TopNewTrendsCommentsPastAskShowJobs

dom0

no profile record

comments

dom0
·vor 9 Jahren·discuss
Cargo.lock for applications freezes the entire dependency graph incl. checksums of everything, for example.
dom0
·vor 9 Jahren·discuss
Yes, although this applies to all forms of porting changesets or patches between branches or releases.
dom0
·vor 9 Jahren·discuss
As the branches diverge, merges take more and more time to do (up to a couple hours, at which point we abandoned the model)... they won't be done automatically. Since merges are basically context-free it's hard to determine the "logic" of changed lines. Since merges always contain a bunch of changes, all have to be resolved before they can be tested, and tracing failures back to specific conflict resolutions takes extra time. Reviewing a merge is seriously difficult. Mismerges are also far more likely to go unnoticed in a large merge compared to a smaller cherry pick. With cherry picking you are only considering one change, and you know which one. You only have to resolve that one change, and can then test, if you feel that's necessary, or move on to the next change.

Also; https://news.ycombinator.com/item?id=14413681

I also observed that getting rid of merging upwards moved the focus of development back to the actual development version (=master), where it belongs.
dom0
·vor 9 Jahren·discuss
My exact experience (in the context of "merging upwards"). Large merges are a huge pain to do, and are basically impossible to review, too.
dom0
·vor 9 Jahren·discuss
Also git rerere

When maintaining multiple release lines and moving fixes between them:

Don't use a bad branching model. Things like "merging upwards" (=committing fixes to the oldest branch requiring the fix, then merging the oldest branch into the next older branch etc.), which seems to be somewhat popular, just don't scale, don't work very well, and produce near-unreadable histories. They also incentivise developing on maintenance branches (ick).

Instead, don't do merges between branches. Everything goes into master/dev, except stuff that really doesn't need to go there (e.g. a fix that only affects a specific branch(es)). Then cherry pick them into the maintenance branches.
dom0
·vor 9 Jahren·discuss
RES isn't physical memory, either. I can happily have, say, 30 GB RES on a system with only 1 GB RAM (and no swap).

smem's measures - USS, unqiue set size (unshared pages) and PSS, proportional set size (shared pages divided by their share count, ie. how many tasks share them), are far more accurate and easier to reason about than RSS and VSS.
dom0
·vor 10 Jahren·discuss
Since it's not really possible to do reliable giant user space caches in the POSIX model of things you'd usually delegate to the page cache.