
u-boot-users-bounces@lists.sourceforge.net wrote on :
I'm not sure what happens (how git handles it) if patches are applied in different orders. What I'm thinking about is if custodians #1 and #2
git has no notation of order or sequence. It is storing content only. If you apply N independent, non-overlapping patches in arbitray order, the result will be the same. The individual commits will have different ID's, but who cares?
Huh? Normally the commit IDs are the most important thing I care about when working with other git repositories. If I try to compare my git repositroy with another one (mostly the u-boot master branch at denx) then the commit ID is the only way (I know) to make sure that my respository contains the exactly same patches than the other repository. If the topmost patch (or any other) in my respository has the same commit ID as a patch in the other repository i know for sure, that my and the other repository are exactly the same (from the beginnig till the compared patch). If the commit IDs in my repository have no correspondent in the other repository (because the order of the patches is different), I know nothing. Even if I find a patch with the same commit message, I don't know for sure if the patches are the same. Maybe in the other repository is the original patch and in my repository is an updated version (with the same commit message). I don't know.
As far as I understand the git philosophy, using SHA1 signatures as commit IDs was one of the most important things on git. IMO the goal behind that was to be able to refere to one particular state in a git repository by one single commit ID. If I have two git repositories with de facto the same content, but with different commit IDs, what's the worth of the SHA1 commit ID?
I often use for example the (partial) commit ID in the U-Boot boot message to identify from wich particular source state a U-Boot was built. This only works, if the order of patches is the same in all git repositories resulting in the same commit IDs. Otherwise I need to know from wich git repository the U-Boot was built, to identify the source state it was built from. And then I can't compare this repository to another (e. g. the denx master), because the same patches could have different commit IDs.
I tried this already some time ago (merging my u-boot-tq-group master branch, instead of rebasing) and get totally lost in a screwed up history. But maybe I did something wrong.
Best Regards, Martin Krause