4 ms·
Right, I know it’s not on Git and hence was my question - and it sounds like this is more about terminology and less about technology. I.e. what Google does in
by dinvlad 3y ago
Right, I know it’s not on Git and hence was my question - and it sounds like this is more about terminology and less about technology. I.e. what Google does in this case is not that different from just “Code Review” in the traditional sense, as most other companies (with good engineering practices) do - reviewing code before it enters production (+CI/CD, as you mentioned).
Edit: as OP mentioned, it does seem to differ in technical sense from traditional CR, in that the changes live only on developer machine, not in source control.
- joshuamorton 3y ago> Edit: as OP mentioned, it does seem to differ in technical sense from traditional CR, in that the changes live only on developer machine, not in source control. Yes and no. There's a decent whitepaper on Piper and citc you can find by searching for it (or actually I will :P [0]), as far as piper is concerned they aren't checked into source control, but the vast majority of development happens in "citc" workspaces, which aren't source control, but also are source control in a sense that every save is snapshotted and you can do point in time or point in history recovery, and I can open up a readonly view of someone else's workspace if I know the right incantations, and most of the developer tools treat the local citc workspace enough-like a commit that it's transparent ish. [0]: https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...
- dinvlad 3y agoOK, thanks for these details and the link! Somehow I remember the title, but not the content :-) That'll be an interesting read.
- nonethewiser 3y ago> and I can open up a readonly view of someone else's workspace if I know the right incantations So thats not just a basic feature?
- UncleMeat 3y agoThe normal workflow is to create a changelist and then have somebody patch that changelist into their client rather than accessing their client directly.
- joshuamorton 3y agoIt's the equivalent of me being able to view the local, unpushed changes you have in whatever directory you git cloned into. If that sounds somewhat magical, yes, correct.
- nonethewiser 3y ago> as OP mentioned, it does seem to differ in technical sense from traditional CR, in that the changes live only on developer machine, not in source control. Which seems worse.
- compiler-guy 3y ago"On the developer's machine" isn't correct. They are actually saved within a special file-system called "citc" (Clients-in-the-cloud). It saves literally every single revision of the file written during development. If you hit save, it is saved in perpetuity, which has saved me a bunch of times. Every single one. No need for any kind of commit or anything else. Further, these saved revisions are all fully accessible to every engineer within the company, any time they want.