I have a team for 4 developers starting a new project.
We have win7 & win 2008 network.
What I want to do is each developer to have his local repo on his disk.
When he is done with his job, push his commits to the server repo, so that other developers gets the changes locally.
When there is release done, I would push the final commits and complete release ready from my server to client server which already setup with mercurial.
How to setup such environment with mercurial?
Do I need to share the folder on my server to the four developers?
http://blog.m1key.me/2010/11/mercurial-server-on-windows-with-apache.html
After some Google search. I got the right place where the answer was.
Have tried this and it works!
Thanks to Michał Huniewicz.
Related
I have a finished yii application from my local computer. What I want now is to transfer it to my IBM server, but it seems, a simple "copy-paste" will not work. Can somebody please enumerate the steps to transfer my yii application to my IBM server. And if there is any software my server needs. Thank you!!!
Using version control would be recommended.
You can use Git, Subversion or something else. Push the code up from your computer directly to your server or to your remote repository.
I am starting work on a website that will use MariaDB for storing information (no sensitive information), and would like to keep everything in my git repo.
Originally, I planned on installing MariaDB to the separate computers that I plan to develop on (my desktop and laptop), but decided that it may be easier to store all of MariaDB (the program and the databases) in the git repo, so that one would just need to clone the repo and run MariaDB from the repo just like they would run Node, but I have not found any information on how to do this.
My questions are (1) should I install MariaDB and its databases to my git repo, instead of installing MariaDB in /usr, and the database in /var/lib/mysql, and (2) how would one do that?
Instead of attempting to put a mariadb runtime environment inside your version control, consider using docker to describe how to configure an appropriate mariaDB installation. I use makefiles atop that to contain the commands I use to build and run the docker but you coould just as easily use a shell script. Finally, provide a dataabase load script that loads your test database from a text file within the repo.
using docker to describe runtime environments for your application and dependencies is awesome. It strikes a great balance between having an incomplete git repo, and having to put binaries and database data in your version control. You wouldn't want to track changes to the underlying maria db files, anyway, so best not to commit them. You can build the docker containers you need on every workstation you use without much trouble, your automation around creating them provides a mechanism to ensure consistency, and by loading a database with the correct test data every time you develop your app, you'll have a better development process and less schema and data related changes. It works great, I do nothing but docker driven development these days.
I have a PC with a dual boot: Win 8.1 and Ubuntu 14.04 and I have some project in PHP & mySql and sometimes I need to develop under ubuntu (but I usually prefer Windows) but I need to share the files and db's between the two os.
In share I mean if I change some php files or rows in the database that must be visible in both OS. Is it possible?
Extra thing: The most beautiful thing would be if I could get the mercurial in this thing.
Liquibase for proper versioning of DB-changes in both OS
Mercurial in both OS
External Mercurial hosting (Bitbucket?) for intermediate repository and backup
Good editor or IDE, in which you can configure EOL-style (in order to have same EOL in Windows and Linux, different by default)
Code in active OS, commit changes to local Mercurial, push to remote.
Before starting work in another OS - pull collected changes from remote
Extended title: How to setup a box with (Windows7 + Apache + VisualSVN + MySQL + PHP) and 3 machines with (MacOs/Windows7) and Dreamweaver CS5 as a web development environment for a small team
These are my thoughts. Please forgive my ignorance, I still don´t have completly clear all the concepts.
1. I need to setup a web development environment for a small team of 3 web developers. The staging and live environments will be in a remote server under an external hosting company (probably Amazon).
2. Our first project is a blog with Wordpress
3. I've installed XAMPP in the box and can be accessed like this (http://dev.company.com/xampp)
4. I've installed Wordpress and can be accessed like this (http://dev.company.com/blog)
5. I've installed VisualSVN in the box and can be accessed like this (http://dev.company.com:8080/svn)
6. I don´t know how to import files for the first time to my repositories in the box (c:/repositories/blog)
7. VisualSVN includes Apache. I don´t know if I should turn off the Apache of XAMPP or if should install another version of VisualSVN without Apache
8. I don't know if I should keep my repositories at C:\repositories or c:\xampp\htdocs.
9. I've read something about hooks? to copy the files from the repositories to the htdocs? Can anybody explain this process?
10. Would it be a good option to keep all the files always in the box? or it is a better option to check out the files to the machines?
11. When setting up Dreamweaver to connect to the SVN Server, do I have to point to the trunk, branch or the name of the repository? Do I have to setup a different connection for each branch?
12. How can we include images and PSD's in the repositories?
When we start a new project we usually just checkout files on clients and commit the changes to the server when finished editing. This way people can just edit files on their own machine (without other users slowing stuff down).
Can't you just do a Linux install for the webserver (CentOS or something like that?). Windows 7 seems so heavy / unfitted for webdevelopment server.
We usually keep the repo out of the webroot.
XAMPP really???
Just my two cents...
It's strongly not recommended to use Apache HTTP server bundled to VisualSVN Server for anything else than Subversion server. So you have to install VisualSVN Server and XAMPP.
Just keep repositories in C:\Repositories. If you move them to htdocs all repository will be accessed for everyone who have access to XAMPP.
Common practice is to checkout working copy to htdocs folder, configure permissions to deny access to .svn and then run svn update in post-commit hook in VisualSVN Server.
We are in the process of upgrading from Windows XP x86 to Windows 7 x64, and I'm testing for compatibility problems with our current workflow.
Currently, we store central Mercurial repositories on a network share, clone copies to our workstations, and push our changes back to the network-based repositories. This works perfectly in WinXP, but in Win7 I consistently get an error message when pushing back to the network share:
pushing to t:\datamgt\automat\Kevin\SampleRepo
searching for changes
[Error 32] The process cannot access the file because it is being used by another process: 'T:\datamgt\automat\Kevin\SampleRepo\.hg\journal.dirstate'
I'm using TortoiseHG 1.1.1 and Mercurial 1.6.1023.
I've been able to push to repositories stored on the same workstation, but not to the network share repo. If possible, we'd prefer not to go to a webserver-based repository - it's an up-hill fight to get new software added to our servers.
Pushing to a network share is possible, but not recommended by the Mercurial team.
See the "shared disk" part in Publishing Repositories in the Mercurial wiki:
generally restricted to intranets, not
generally recommended due to general
issues with network filesystem
reliability
At my workplace, we are keeping our HG repositories on a network share (on a Windows 2003 server) as well because it was the easiest to set up. We're doing this for about one and a half year now, and we never had problems like yours.
But at home, I have a network share on a NAS (it's accessible from Windows and it looks and feels like a Windows share, but the NAS actually runs on Linux). I had no problems for a long time, but since a few weeks I'm having similar errors like you (with a different error message though).
I posted this on the Mercurial bug tracker, and I was told that my problem is probably caused by the fact that my NAS runs on Linux, because they don't know of any problems with real Windows shares:
On real Windows shares (served by
Windows) there doesn't seem to be a
problem (never heard of others having
problems doing that).
So maybe your problem is caused by something similar as well.
What kind of Windows share is it that you try to push to? Is it really on a Windows machine?