Git & ApartCI - How to verify code conflicts before inviting functional breakage?
Following Trunk Based Development, shown below:
Assume there are two short-lived feature branches(f1
and f2
) created from master
(trunk). For implementation, source code files used for these branches overlap, in this scenario.
Assume, there is one CI/CD pipeline for master
(trunk) that gets triggered on code change.
One code conflict that can be possible is functional, f1
could remove or modify existing source code that f2
uses.... This is not a VCS conflict.
Developer1 has perform git commit
on f1
(in laptop) at time t
and yet to push
Developer2 has perform git commit
on f2
(in laptop) at time t+24
and yet to push
As per my understanding, below is the scenario in commit History file of laptop, before push:
Given above sccenario, f1
can get merge with master
, which is a simple fast-forward merge. So, master
and f1
will point to 156b4bf
commit snapshot, after this merge, as shown below:
CI/CD pipeline gets triggered, as merge is successful, with no conflicts
But when f2
commit happens after 24 hours, Git will perform 3-way merge using 3 snapshots(156b4bf
, 96f5b29
and c435356
), as shown below:
CI/CD pipeline gets triggered again, if merge is successful. My understanding is, Git should block 3-way merge due to functional conflict.
1) Using Git, Does fast-forward/3-way merge detect functional conflict?
2) If yes, are there any other non-VCS conflict scenarios that ApartCI address? that Git cannot... if yes, how?
Note: No plan to use Gitflow workflow
git continuous-integration git-merge merge-conflict-resolution 3-way-merge
add a comment |
Following Trunk Based Development, shown below:
Assume there are two short-lived feature branches(f1
and f2
) created from master
(trunk). For implementation, source code files used for these branches overlap, in this scenario.
Assume, there is one CI/CD pipeline for master
(trunk) that gets triggered on code change.
One code conflict that can be possible is functional, f1
could remove or modify existing source code that f2
uses.... This is not a VCS conflict.
Developer1 has perform git commit
on f1
(in laptop) at time t
and yet to push
Developer2 has perform git commit
on f2
(in laptop) at time t+24
and yet to push
As per my understanding, below is the scenario in commit History file of laptop, before push:
Given above sccenario, f1
can get merge with master
, which is a simple fast-forward merge. So, master
and f1
will point to 156b4bf
commit snapshot, after this merge, as shown below:
CI/CD pipeline gets triggered, as merge is successful, with no conflicts
But when f2
commit happens after 24 hours, Git will perform 3-way merge using 3 snapshots(156b4bf
, 96f5b29
and c435356
), as shown below:
CI/CD pipeline gets triggered again, if merge is successful. My understanding is, Git should block 3-way merge due to functional conflict.
1) Using Git, Does fast-forward/3-way merge detect functional conflict?
2) If yes, are there any other non-VCS conflict scenarios that ApartCI address? that Git cannot... if yes, how?
Note: No plan to use Gitflow workflow
git continuous-integration git-merge merge-conflict-resolution 3-way-merge
@DanCornilescu Firstly... For the scenario, given in query... does 3-way merge detect the non-VCS conflict?
– overexchange
Jan 20 at 19:27
add a comment |
Following Trunk Based Development, shown below:
Assume there are two short-lived feature branches(f1
and f2
) created from master
(trunk). For implementation, source code files used for these branches overlap, in this scenario.
Assume, there is one CI/CD pipeline for master
(trunk) that gets triggered on code change.
One code conflict that can be possible is functional, f1
could remove or modify existing source code that f2
uses.... This is not a VCS conflict.
Developer1 has perform git commit
on f1
(in laptop) at time t
and yet to push
Developer2 has perform git commit
on f2
(in laptop) at time t+24
and yet to push
As per my understanding, below is the scenario in commit History file of laptop, before push:
Given above sccenario, f1
can get merge with master
, which is a simple fast-forward merge. So, master
and f1
will point to 156b4bf
commit snapshot, after this merge, as shown below:
CI/CD pipeline gets triggered, as merge is successful, with no conflicts
But when f2
commit happens after 24 hours, Git will perform 3-way merge using 3 snapshots(156b4bf
, 96f5b29
and c435356
), as shown below:
CI/CD pipeline gets triggered again, if merge is successful. My understanding is, Git should block 3-way merge due to functional conflict.
1) Using Git, Does fast-forward/3-way merge detect functional conflict?
2) If yes, are there any other non-VCS conflict scenarios that ApartCI address? that Git cannot... if yes, how?
Note: No plan to use Gitflow workflow
git continuous-integration git-merge merge-conflict-resolution 3-way-merge
Following Trunk Based Development, shown below:
Assume there are two short-lived feature branches(f1
and f2
) created from master
(trunk). For implementation, source code files used for these branches overlap, in this scenario.
Assume, there is one CI/CD pipeline for master
(trunk) that gets triggered on code change.
One code conflict that can be possible is functional, f1
could remove or modify existing source code that f2
uses.... This is not a VCS conflict.
Developer1 has perform git commit
on f1
(in laptop) at time t
and yet to push
Developer2 has perform git commit
on f2
(in laptop) at time t+24
and yet to push
As per my understanding, below is the scenario in commit History file of laptop, before push:
Given above sccenario, f1
can get merge with master
, which is a simple fast-forward merge. So, master
and f1
will point to 156b4bf
commit snapshot, after this merge, as shown below:
CI/CD pipeline gets triggered, as merge is successful, with no conflicts
But when f2
commit happens after 24 hours, Git will perform 3-way merge using 3 snapshots(156b4bf
, 96f5b29
and c435356
), as shown below:
CI/CD pipeline gets triggered again, if merge is successful. My understanding is, Git should block 3-way merge due to functional conflict.
1) Using Git, Does fast-forward/3-way merge detect functional conflict?
2) If yes, are there any other non-VCS conflict scenarios that ApartCI address? that Git cannot... if yes, how?
Note: No plan to use Gitflow workflow
git continuous-integration git-merge merge-conflict-resolution 3-way-merge
git continuous-integration git-merge merge-conflict-resolution 3-way-merge
edited Jan 20 at 18:40
overexchange
asked Jan 19 at 20:40
overexchangeoverexchange
3,66162682
3,66162682
@DanCornilescu Firstly... For the scenario, given in query... does 3-way merge detect the non-VCS conflict?
– overexchange
Jan 20 at 19:27
add a comment |
@DanCornilescu Firstly... For the scenario, given in query... does 3-way merge detect the non-VCS conflict?
– overexchange
Jan 20 at 19:27
@DanCornilescu Firstly... For the scenario, given in query... does 3-way merge detect the non-VCS conflict?
– overexchange
Jan 20 at 19:27
@DanCornilescu Firstly... For the scenario, given in query... does 3-way merge detect the non-VCS conflict?
– overexchange
Jan 20 at 19:27
add a comment |
1 Answer
1
active
oldest
votes
A purely functional conflict is one in which the 2 conflicting changes don't touch the same files:
f1 modifies a function prototype (let's say in file S1) and all its usages (let's say in files S2 and S3)
f2 adds a new function usage in a different file in which the function wasn't used before (let's say in file S4), using the original prototype since it doesn't yet see the f1 change
Each change takes in isolation could pass verifications, but when integrated together in the same branch the code won't work as the invocation added in S4 won't match the updated prototype from S1.
In such case both merges are fast-forward and the conflict can not be detected by git - there will be no actual file merges in the 3-way merge since the changesets don't touch the same files. Thus neither will the conflict be detected by git-based tools analyzing the merge, for example by gerrit.
Only the verifications performed by the CI/CD tool can detect such purely functional conflict by finding the mismatch. Depending on the language used it'd be either a build/compilation error or a test/runtime/execution error.
If the 2 changes cause a merge conflict (3-way or not) it means the conflict is a VCS one, not a purely functional one and yes, it would be detected by git and/or git-based tools, so it would need to be addressed before the merge is allowed (a CI/CD tool execution would not be necessary for detecting it)
To your 2nd question ApartCI would detect either kind of conflict:
- if it's a VCS conflict the 2 changes are overlapping (i.e. they both touch at least one common source file) so they won't be bundled together for simultaneous verification. Which means that they will never end up in a primary bundle together. One of them will be committed and end up in the project's baseline first. As soon as that happens the other change will fail patching in its next verification attempt and will be rejected.
- if it's a purely functional conflict the 2 changes are not overlapping, so they may or may not end up in the same bundle.
- if they are not in the same bundle the flow of events will be pretty much the same as that for a VCS conflict
- if they are in the same bundle the bundle verification will fail and following the bundle splitting actions they will eventually end up in different bundle and again the same flow of events as that for a VCS conflict will follow
1
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
Sorry, bythere will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.
– Dan Cornilescu
Jan 20 at 19:27
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
|
show 2 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54271203%2fgit-apartci-how-to-verify-code-conflicts-before-inviting-functional-breakage%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
A purely functional conflict is one in which the 2 conflicting changes don't touch the same files:
f1 modifies a function prototype (let's say in file S1) and all its usages (let's say in files S2 and S3)
f2 adds a new function usage in a different file in which the function wasn't used before (let's say in file S4), using the original prototype since it doesn't yet see the f1 change
Each change takes in isolation could pass verifications, but when integrated together in the same branch the code won't work as the invocation added in S4 won't match the updated prototype from S1.
In such case both merges are fast-forward and the conflict can not be detected by git - there will be no actual file merges in the 3-way merge since the changesets don't touch the same files. Thus neither will the conflict be detected by git-based tools analyzing the merge, for example by gerrit.
Only the verifications performed by the CI/CD tool can detect such purely functional conflict by finding the mismatch. Depending on the language used it'd be either a build/compilation error or a test/runtime/execution error.
If the 2 changes cause a merge conflict (3-way or not) it means the conflict is a VCS one, not a purely functional one and yes, it would be detected by git and/or git-based tools, so it would need to be addressed before the merge is allowed (a CI/CD tool execution would not be necessary for detecting it)
To your 2nd question ApartCI would detect either kind of conflict:
- if it's a VCS conflict the 2 changes are overlapping (i.e. they both touch at least one common source file) so they won't be bundled together for simultaneous verification. Which means that they will never end up in a primary bundle together. One of them will be committed and end up in the project's baseline first. As soon as that happens the other change will fail patching in its next verification attempt and will be rejected.
- if it's a purely functional conflict the 2 changes are not overlapping, so they may or may not end up in the same bundle.
- if they are not in the same bundle the flow of events will be pretty much the same as that for a VCS conflict
- if they are in the same bundle the bundle verification will fail and following the bundle splitting actions they will eventually end up in different bundle and again the same flow of events as that for a VCS conflict will follow
1
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
Sorry, bythere will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.
– Dan Cornilescu
Jan 20 at 19:27
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
|
show 2 more comments
A purely functional conflict is one in which the 2 conflicting changes don't touch the same files:
f1 modifies a function prototype (let's say in file S1) and all its usages (let's say in files S2 and S3)
f2 adds a new function usage in a different file in which the function wasn't used before (let's say in file S4), using the original prototype since it doesn't yet see the f1 change
Each change takes in isolation could pass verifications, but when integrated together in the same branch the code won't work as the invocation added in S4 won't match the updated prototype from S1.
In such case both merges are fast-forward and the conflict can not be detected by git - there will be no actual file merges in the 3-way merge since the changesets don't touch the same files. Thus neither will the conflict be detected by git-based tools analyzing the merge, for example by gerrit.
Only the verifications performed by the CI/CD tool can detect such purely functional conflict by finding the mismatch. Depending on the language used it'd be either a build/compilation error or a test/runtime/execution error.
If the 2 changes cause a merge conflict (3-way or not) it means the conflict is a VCS one, not a purely functional one and yes, it would be detected by git and/or git-based tools, so it would need to be addressed before the merge is allowed (a CI/CD tool execution would not be necessary for detecting it)
To your 2nd question ApartCI would detect either kind of conflict:
- if it's a VCS conflict the 2 changes are overlapping (i.e. they both touch at least one common source file) so they won't be bundled together for simultaneous verification. Which means that they will never end up in a primary bundle together. One of them will be committed and end up in the project's baseline first. As soon as that happens the other change will fail patching in its next verification attempt and will be rejected.
- if it's a purely functional conflict the 2 changes are not overlapping, so they may or may not end up in the same bundle.
- if they are not in the same bundle the flow of events will be pretty much the same as that for a VCS conflict
- if they are in the same bundle the bundle verification will fail and following the bundle splitting actions they will eventually end up in different bundle and again the same flow of events as that for a VCS conflict will follow
1
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
Sorry, bythere will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.
– Dan Cornilescu
Jan 20 at 19:27
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
|
show 2 more comments
A purely functional conflict is one in which the 2 conflicting changes don't touch the same files:
f1 modifies a function prototype (let's say in file S1) and all its usages (let's say in files S2 and S3)
f2 adds a new function usage in a different file in which the function wasn't used before (let's say in file S4), using the original prototype since it doesn't yet see the f1 change
Each change takes in isolation could pass verifications, but when integrated together in the same branch the code won't work as the invocation added in S4 won't match the updated prototype from S1.
In such case both merges are fast-forward and the conflict can not be detected by git - there will be no actual file merges in the 3-way merge since the changesets don't touch the same files. Thus neither will the conflict be detected by git-based tools analyzing the merge, for example by gerrit.
Only the verifications performed by the CI/CD tool can detect such purely functional conflict by finding the mismatch. Depending on the language used it'd be either a build/compilation error or a test/runtime/execution error.
If the 2 changes cause a merge conflict (3-way or not) it means the conflict is a VCS one, not a purely functional one and yes, it would be detected by git and/or git-based tools, so it would need to be addressed before the merge is allowed (a CI/CD tool execution would not be necessary for detecting it)
To your 2nd question ApartCI would detect either kind of conflict:
- if it's a VCS conflict the 2 changes are overlapping (i.e. they both touch at least one common source file) so they won't be bundled together for simultaneous verification. Which means that they will never end up in a primary bundle together. One of them will be committed and end up in the project's baseline first. As soon as that happens the other change will fail patching in its next verification attempt and will be rejected.
- if it's a purely functional conflict the 2 changes are not overlapping, so they may or may not end up in the same bundle.
- if they are not in the same bundle the flow of events will be pretty much the same as that for a VCS conflict
- if they are in the same bundle the bundle verification will fail and following the bundle splitting actions they will eventually end up in different bundle and again the same flow of events as that for a VCS conflict will follow
A purely functional conflict is one in which the 2 conflicting changes don't touch the same files:
f1 modifies a function prototype (let's say in file S1) and all its usages (let's say in files S2 and S3)
f2 adds a new function usage in a different file in which the function wasn't used before (let's say in file S4), using the original prototype since it doesn't yet see the f1 change
Each change takes in isolation could pass verifications, but when integrated together in the same branch the code won't work as the invocation added in S4 won't match the updated prototype from S1.
In such case both merges are fast-forward and the conflict can not be detected by git - there will be no actual file merges in the 3-way merge since the changesets don't touch the same files. Thus neither will the conflict be detected by git-based tools analyzing the merge, for example by gerrit.
Only the verifications performed by the CI/CD tool can detect such purely functional conflict by finding the mismatch. Depending on the language used it'd be either a build/compilation error or a test/runtime/execution error.
If the 2 changes cause a merge conflict (3-way or not) it means the conflict is a VCS one, not a purely functional one and yes, it would be detected by git and/or git-based tools, so it would need to be addressed before the merge is allowed (a CI/CD tool execution would not be necessary for detecting it)
To your 2nd question ApartCI would detect either kind of conflict:
- if it's a VCS conflict the 2 changes are overlapping (i.e. they both touch at least one common source file) so they won't be bundled together for simultaneous verification. Which means that they will never end up in a primary bundle together. One of them will be committed and end up in the project's baseline first. As soon as that happens the other change will fail patching in its next verification attempt and will be rejected.
- if it's a purely functional conflict the 2 changes are not overlapping, so they may or may not end up in the same bundle.
- if they are not in the same bundle the flow of events will be pretty much the same as that for a VCS conflict
- if they are in the same bundle the bundle verification will fail and following the bundle splitting actions they will eventually end up in different bundle and again the same flow of events as that for a VCS conflict will follow
edited Jan 20 at 19:33
answered Jan 20 at 19:07
Dan CornilescuDan Cornilescu
28.5k113364
28.5k113364
1
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
Sorry, bythere will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.
– Dan Cornilescu
Jan 20 at 19:27
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
|
show 2 more comments
1
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
Sorry, bythere will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.
– Dan Cornilescu
Jan 20 at 19:27
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
1
1
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
Dan is taking C language as example here... when he says... function prototype and definition...
– overexchange
Jan 20 at 19:16
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
For your point... "there will be no 3-way merge", am bit skeptic on this... 3-way merge happens after f2 commit. 3-way merge is not invoked based on same/different file strategy.. 3-way merge is invoked based on the path(direct/indirect) between master and f2(any branch that needs to be merged).
– overexchange
Jan 20 at 19:19
Sorry, by
there will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.– Dan Cornilescu
Jan 20 at 19:27
Sorry, by
there will be no 3-way merge
I mean that no files will be technically merged in such case, simply a different version of the files will be selected.– Dan Cornilescu
Jan 20 at 19:27
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
yes.... the criteria is... to just detect the conflict... I would not need a tool to resolve the conflict... Isn't it? Human intervention is better....
– overexchange
Jan 20 at 19:31
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
Here it says...Merge conflicts are very risky to automate, which would preclude the possibility of automating it at all..... is ApartCI trying to detect the conflict or detect&resolve the conflict?
– overexchange
Jan 20 at 19:33
|
show 2 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54271203%2fgit-apartci-how-to-verify-code-conflicts-before-inviting-functional-breakage%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
@DanCornilescu Firstly... For the scenario, given in query... does 3-way merge detect the non-VCS conflict?
– overexchange
Jan 20 at 19:27