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 268238 - Cygwin's Mercurial doesn't work within Netbeans and commands are outdated
Summary: Cygwin's Mercurial doesn't work within Netbeans and commands are outdated
Status: NEW
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: Dev
Hardware: PC Windows 7
: P2 normal (vote)
Assignee: Ondrej Vrabec
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-09-27 22:25 UTC by wetmore
Modified: 2016-09-28 17:02 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 wetmore 2016-09-27 22:25:47 UTC
I am a JDK 9 library developer, so as part of my work setup, I have installed Windows 7, a recent NB 8.1, JDK 8u101 and a recent cygwin (a Unix emulation package for Windows).  I have also tried using NB 9/JDK9-dev, but the problem is generic.

The problem is that Cygwin packages mercurial as a python script.

#!/bin/python
#
# mercurial - scalable distributed SCM
#
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
...deleted...

NB's Mercurial Options configuration tab does not recognize the python script, only .exe files.  

An old workaround found online does get me further, but I'm still unable to get working completely.  This is a wrapper that runs in Windows converts DOS to Cygwin-style path/filenames, and then execv's the result.  The wrapper has to call "c:\cygwin\bin\python2.7.exe" as symlinks from "c:/cygwin/bin/python" aren't recognized in Windows.

http://davidcastells.blogspot.com/2011/02/how-to-use-mercurial-in-cygwin-from.html

Once that is installed, the command issued contains:

--style=C:\Users\myname.ORADEV\AppData\Local\Temp\vcs-1475000781446\vcs-1475000820326\log.style

which doesn't exist, so I had my wrapper strip out that command line option.

Then, each component must be enclosed within quotes, otherwise dates like:

--date "2016-08-28 11:26:57 to 2016-09-27 11:26:57"

will be processed as multiple options:

--date
2016-08-28
11:26:57
to
2016-09-27
11:26:57"
Comment 1 wetmore 2016-09-28 17:02:40 UTC
Also, newer versions of Mercurial don't like using absolute directories, and prefer that the user be in the CWD, or else use the --cwd option.  Here's the error message.

abort:  not under root '/cygdrive/D/java
/ws/dev/jdk' (consider using '--cwd ../../../../../D/java/ws/dev/jdk')