Nitrous.io for Mac does not sync .git? - nitrousio

I am trying out Nitrous.io -- it is a very nice tool. I am also using Nitrous' Mac application which syncs box content to a local directory -- except I have noticed that it doesn't sync the .git directory. I assume this is intentional(?). Is there a list someplace that describes what is and what is not synced?

You can update the file <home dir>\Nitrous\<box name>\.unison\default.prf and add any configuration there per the manual: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html
Mine contains this line, for example:
ignore=Name node_modules
This way my node_modules folder is not synced in either direction.
You could add this line to yours:
ignorenot=Name .git
As #ajhit406 noted though, you should handle your git actions in one place (the box, in this case).

The .git directory is not synced on purpose. You should be SSH'ing into your box to manage your git repositories.
In the Mac application shortcut menu, hover over the box you want to SSH into, and click "Open Shell". You should enter any git commands from your box in the cloud.

Nitrous has a resource about this: http://help.nitrous.io/nitrous-desktop/
In the document it details that these are the files and directories that aren't synced:
.unison
.git
.svn
.hg
CVS
.DS_Store
.AppleDouble
.LSOverride
.Spotlight-V100
.Trashes
*.sock
*.sw?
._* , *~

Related

Files not showing up in Nitrous.io desktop sync folder

I loaded up the Nitrous.io desktop sync app and then installed the mean.io stack on my box. For some reason I can't get any of the files to sync with my desktop. My keys are working fine, but there are no files syncing. There doesn't seem to be a lot of info in the docs on why this could be happening.
The key thing is mentioned in the Nitrous.io docs in this line:
"...the content within your ~/workspace/ folder will be synced into the newly created Nitrous folder once enabled."
This apparently means ONLY the stuff inside workspace (which is not root, so somewhat confusing) will be synced. So, a key missing step is that if you do anything outside the workspace folder, IT WILL NOT BE SYNCED. This includes installing frameworks or other software via the command line. You have to cd into the ~/workspace folder before installing anything or it won't be synced. Seems like a small thing to miss but it makes a big difference when nothing gets pulled down.
In the command line, type this before you install anything like node, bower, etc.
cd ~/workspace

How to disable version control in phpstorm?

I am playing around with phpstorm and somehow I activated version control. I don't need it. Now all my tabs are different: orange text on gray background. All files in the file view are orange. How do I disable version control?
Go to Settings -> Version Control and remove the folder from which you would like to remove version control tracking (coloring tabs etc.) It will naturally not remove version control from your project (as in deleting the .git/ folder for instance).
The ultimate way is to disable all version control plugins (under Settings -> Plugins): CVS Integration, Git Integration, GitHub, hg4idea, Perforce Integration, Subversion Integration. After restarting PhpStorm Settings -> Version Control tab will be gone.
Note that this will disable version control for all of your projects.
You can just remove vcs.xml from .idea folder and then restart PhpStorm
In phpStorm 2022.1.3+, go to
Preferences > Version Control > Directory Mappings
Then remove the directories you don't want to watch, as Greg suggested.
Go to Settings -> Version Control and remove the folder from which you would liek to remove version control.
I have not enough reputation to +1 Greg's answer or comment, but... for those who are interrested : the same goes for Webstorm.
I had this problem and I used from 2 of notes in these answers in these page together.
As Greg has mentioned in one of replies, your git repository is in .git sub directory inside directory that you want to manage it with version control system. When you define a git repository, PhpStorm automatically generate it and with creating this sub directory, it adds a file for handling mapping between itself and version control system. It calls vcs.xml and it's located in .idea sub directory.
It's not enough to remove only .git directory. When you remove .git, you will get an error in PhpStorm every time that you open your project due to not matching vcs.xml for mapping between PhpStorm and git repository of your project. So after removing .git directory, you must also remove vcs.xml files from .idea and now you won't have any error or warning in your PhpStorm.
It doesn't need to restart PhpStorm at all and after this, colors of all of files that was mentioned in questions return to normal colors in PhpStorm.

How to connect to repository using TortoiseHg workbench?

I am noob at things like these. At work team leader installed Mercurial in my PC. And created folder. After doing several things he connected my folder with folder in his PC. I forgot what he did. Now I need to connect my home PC to that folder. If there is a tutorial for this?
There is the TortoiseHg documentation. It's quite good and has a description of the common tasks. What I think you're looking for is the Open Repository menu item in the File menu:
As the menu says, you can also use Ctrl+O as a keyboard shortcut. That will add it to the Repository Registry in the left side of the workbench.
Turns out it wasn't the Open Repository item after all. My next guess is that clicking two arrows in the Task Toolbar will help. That brings up the Synchronize Window where you can add a new path to repository settings. That's the bottom left side here:
Pick the type in the first drop-down (pick "local" if you can browse to the repository on your file system) and then enter the path to the repository. Click the little floppy disk icon to the right to save the path. Use the name default to make it the default push and pull path.
If the team leader's repository is accessed over HTTP, then you need the right host name or IP address to be able to connect. You should have gotten this information from the team leader.
If you start by opening the team leader's repository, then you'll find it listed in the bottom right side. You can then click on the repository and save the path.
Now I need to connect my home PC to that folder.
You really need to learn Mercurial terminology and Mercurial basics - before all
You must (in Mercurial Terms)
- clone TeamLeader repo
- add this clone (you local repo, linked to leader's) to your WorkBench
Before cloning I'll suggest checking the docs (link from Martin above) as a must and read TortoiseHG QuickStart Guide, grok it and adapt to your project's needs (URL of repo to clone)

Enforcing hg settings on all users of a mercurial repository

Is there any way to centrally manage mercurial settings for all users of a repository? Are there additional [existing] tools, add-ons, extensions, etc for this?
My use case
We have a repository that includes a few Excel, Word etc files that constantly cause trouble with merging.
With [merge-patterns] entries a la **.doc = internal:fail I can specify the intended behaviour, but I have to set this up for each and every user.
I want this to propagate automatically to anyone who clones the repository.
Environment
We use Kiln 2.6 hosted on our own Windows Server and TortoiseHg 2.2 on our Windows clients.
As far as I know, this possibility doesn't exists in Mercurial and I'm not aware of any extension which let you clone the .hgrc along with the other files.
However, you can do some things to "ease" the process of setup for each user.
Provide a template hgrc in the repository
You can add a "template" .hgrc in the repository. When a user clone the repo, the only thing he as to do is move the template to the right place.
Change the system wide hgrc
If you have some kind of Configuration management system for your clients, you can set the system wide configuration file for each of your users. There's various way of doing it. From the documentation:
(Windows) <install-dir>\Mercurial.ini or
(Windows) <install-dir>\hgrc.d\*.rc or
(Windows) HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial
Per-installation/system configuration files, for the system on which
Mercurial is running. Options in these files apply to all Mercurial
commands executed by any user in any directory. Registry keys contain
PATH-like strings, every part of which must reference a Mercurial.ini
file or be a directory where *.rc files will be read. Mercurial checks
each of these locations in the specified order until one or more
configuration files are detected. If the pywin32 extensions are not
installed, Mercurial will only look for site-wide configuration in
C:\Mercurial\Mercurial.ini.
But obviously this depends on the way your clients are set up, so you will have to find the solution yourself. For example you can:
Set these files on the computer installation
Provide an executable which configure this that every user must run
Configure your in-house configuration management system to set up this on the next computer start
Change the roaming user profile if they have one.
You can use the projrc extension to push a project configuration file to others. It requires that the clients enable the extension first and that they fully trusts the server.

Jenkins build outside of workspace

I am new to Jenkins/Hudson and am trying to migrate a C make-based project from buildbot. For legacy reasons, the build system is hard-coded to build outside of the versioned source tree (git), one directory above, in a separate directory. E.g.:
workspace
.git
foo
bar
build
artifacts
Besides the fact that it ends up creating a directory outside the workspace, Jenkins won't recognize items in the build/ directory above to archive as artifacts.
How can I make this kind of build system work with Hudson? Building in-source-tree is not a short-term option. The only option I found was "use custom workspace," but all this does it hard-code the workspace directory to some other directory.
To answer my own question: there is indeed an option in Jenkins git plugin to check out to a local subdirectory instead of the root of the workspace. With the git plugin, click on the Advanced button and fill in the field "Local subdirectory for repo (optional)".
I don't find the option that djs mentioned, but you can specify a different work directory:
Configure job
Extended Project settings
Use custom work space
This can be set to everywhere you want, also the workspace of a different job.