This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 156634 - Team builder does not treat "local changed ... which remote deleted" as merge conflict
Summary: Team builder does not treat "local changed ... which remote deleted" as merge...
Status: RESOLVED FIXED
Alias: None
Product: www
Classification: Unclassified
Component: Builds & Repositories (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: Michal Zlamal
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-12 17:49 UTC by Jesse Glick
Modified: 2010-10-13 07:24 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2009-01-12 17:49:41 UTC
f6aadc744b6f was an incorrect merge (corrected in e34eec42a441). 20eb46fb5aa2 deleted a file which 78e10891a932 modified:

db/src/org/netbeans/modules/db/explorer/infos/RootNodeInfo.java

Yet this automated merge proceeded without interruption, keeping the modified version. NB-Core-Build should rather have
reported a merge conflict requiring manual resolution.

I think setting the env var HGMERGE is obsolete - this probably dates to Hg 1.0 or even 0.9.5.
Comment 1 Jesse Glick 2009-01-12 17:57:54 UTC
AFAIK the proper way to enforce an internal merge is:

--config ui.merge=internal:merge

Unfortunately this behaves the same way, picking the default action ("[c]hanged") and proceeding.
Comment 2 Jesse Glick 2009-01-12 18:07:56 UTC
--config ui.interactive=1 lets you force the merge command to treat input as interactive, so if you provide none it
should fail if it needs to ask any questions. So for this merge I get:

main$ hg up -C 939577c1ab37
...
main$ hg --config ui.merge=internal:merge --config ui.interactive=1 merge 10622c2f0070 < /dev/null || echo 'merge failed'
 local changed db/src/org/netbeans/modules/db/explorer/infos/RootNodeInfo.java which remote deleted
use (c)hanged version or (d)elete? abort: response expected
merge failed

So I suggest nbbuild/hudson/{core-main,round-robin-push,team-private-repo,team-repo} be amended to

1. Not set HGMERGE.

2. When performing merges, run something like:

hg --config ui.merge=internal:merge --config ui.interactive=1 merge < /dev/null || exit

BTW core-main in "sync" mode does no status checking on the merge command at all! This needs to be fixed.
Comment 3 Jesse Glick 2009-01-13 00:20:42 UTC
Problem appeared also in the opposite direction: merge from main -> core-main left RootNodeInfo.java there.
Comment 4 Jesse Glick 2009-07-16 15:46:19 UTC
f61e8a311f3f was again incorrect and should not have proceeded.
Comment 5 Jesse Glick 2009-07-16 16:25:13 UTC
(made worse by: http://mercurial.selenic.com/bts/issue1740)
Comment 6 Michal Zlamal 2009-07-17 13:45:01 UTC
#c6f2ed2c26e5 in be-main
Comment 7 Quality Engineering 2009-07-20 09:48:33 UTC
Integrated into 'main-golden', will be available in build *200907200201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/6af3a3083867
User: Michal Zlamal <mzlamal@netbeans.org>
Log: #156634 Let merge fail if any input is requred
Comment 8 Jesse Glick 2009-07-22 00:16:05 UTC
You are still using

HGMERGE=merge
export HGMERGE

which I think can be deleted.
Comment 9 Quality Engineering 2009-08-21 06:07:51 UTC
Integrated into 'main-golden', will be available in build *200908210201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/36772e7aa64e
User: Michal Zlamal <mzlamal@netbeans.org>
Log: #156634 Remove redundant MGMERGE variable