Andrea Bocci via llvm-dev
2019-Mar-21 16:22 UTC
[llvm-dev] [cfe-dev] [lldb-dev] [GitHub] RFC: Enforcing no merge commit policy
On Thu, 21 Mar 2019 at 16:34, Artem Dergachev via cfe-dev < cfe-dev at lists.llvm.org> wrote:> If you're doing merge commits, you might lose linear history, but you > obtain another fancy invariant: every piece of work - i.e., every patch, > every merge conflict resolution - appears in the repository exactly > once, under a unique identifier, and the non-linear source control > history becomes an accurate representation of the real history of > development. >Actually, this is not always true: as soon as one applies the same patch to different branches (e.g. to backport a fix from the master branch to a previous release) the patch and eventual merge conflict resolution will appear as a different commit, with a different identifier. Cheers, .Andrea -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190321/ad03b0b8/attachment.html>
Artem Dergachev via llvm-dev
2019-Mar-21 20:48 UTC
[llvm-dev] [cfe-dev] [lldb-dev] [GitHub] RFC: Enforcing no merge commit policy
Yup, totally. This dream falls apart very quickly as the workflow becomes more complex. Of course, you can still think of it as "the new commit represents the work of backporting the fix to the release branch", but that's kinda wonky. On 3/21/19 9:22 AM, Andrea Bocci wrote:> On Thu, 21 Mar 2019 at 16:34, Artem Dergachev via cfe-dev > <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote: > > If you're doing merge commits, you might lose linear history, but you > obtain another fancy invariant: every piece of work - i.e., every > patch, > every merge conflict resolution - appears in the repository exactly > once, under a unique identifier, and the non-linear source control > history becomes an accurate representation of the real history of > development. > > > Actually, this is not always true: as soon as one applies the same > patch to different branches (e.g. to backport a fix from the master > branch to a previous release) the patch and eventual merge conflict > resolution will appear as a different commit, with a different identifier. > > Cheers, > .Andrea-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190321/92e99546/attachment.html>