Posts

Showing posts from September, 2011

RhodeCode open source HG (Mercurial) server

Download RhodeCode
* http://rhodecode.org/Prerequisites
* Install Python 2.5 or later http://www.python.org/download/
* Add to PATH \Python27 and \Python27\Scripts folders
* Install SetupTools http://pypi.python.org/packages/2.7/s/setuptools/Create \RhodeCode folderInstall RhodeCode
* easy_install rhodecodeConfigure RhodeCode
* paster make-config RhodeCode production.ini
* paster setup-app production.iniRun RhodeCode
* paster serve production.iniServer is now running here http://localhost:8000To change default host:port edit production.ini fileMore info about installation and setup
http://packages.python.org/RhodeCode/installation.html
http://packages.python.org/RhodeCode/setup.html

C# Deep & Shallow Copy/Clone

class Program { staticvoid Main(string[] args) { var parent1 = new Parent() {Id = 1}; parent1.Children = new List<Child>(); parent1.Children.Add(new Child() { Name = "One" }); parent1.Children.Add(new Child() { Name = "Two" }); var parent2 = new Parent() { Id = 2 }; parent2.Children = new List<Child>(); parent2.Children.Add(new Child() { Name = "One" }); parent2.Children.Add(new Child() { Name = "Two" }); var parent3 = new Parent() { Id = 3 }; parent3.Children = new List<Child>(); parent3.Children.Add(new Child() { Name = "One" }); parent3.Children.Add(new Child() { Name = "Two" }); var parentShallowCopy = parent1.ShallowCopy(); var parentDeepCopy = parent2.DeepCopy(); var parentDeepClone = parent3.DeepClone(); Console.WriteLine("ORIGINAL(1) : {0}", parent1); Console.WriteLine("SHALLOW COPY: {0}", parentShallowCopy); …

HG Mercurial Quick Setup Tutorial

Setting up Remote (build in) http server for multiple repositories* Create Directory Structure  - repo-root
   |- Project1.hg
   |- Project2.hg
   hgweb.config
   run.bat

* Edit hgweb.config as follows  [collections]
  repos/ = .
  [web]
  style = gitweb
  push_ssl = false
  allow_push = *

* Edit run.bat as follows and run ithg serve --webdir-conf hgweb.configHttp Server is running on http://localhost:8000/
Setting up Remote Repository* Create Folder /repo-root/Project1.hg
* Run hg init from within that folder
Setting up Local Repository* Go to your local project directory /projects
* Clone remote repository locally hg clone http://localhost:8000/Project1.hg Project1If you have an existing project and want to push it to remote repository* Run hg push http://localhost:8000/Project1.hgOr set default remote repository* Create file /projects/Project1/.hg/hgrc
* Add this to file[paths]
  default =
http://localhost:8000/Project1.hg

Simple XML based C# Database

publicclass DatabaseMgr { public Database Database { get; set; } privatestatic DatabaseMgr instance; private DatabaseMgr() { } publicstatic DatabaseMgr Instance { get { if (instance == null) { instance = new DatabaseMgr(); } return instance; } } //use temp pathprivatestaticstring PATH = Path.Combine(Path.GetTempPath(), "UserDatabase.xml"); publicvoid Reload() { if (File.Exists(PATH)) { XmlSerializer xs = new XmlSerializer(typeof(Database)); using (TextReader reader = new StreamReader(PATH)) { Database = (Database)xs.Deserialize(reader); reader.Close(); } } else { Database = new Database(); } } publicvoid Save() { XmlSerializer xmlSerializer = new XmlSerializer(typeof(Database)); using (TextWriter writer = new StreamWriter(PATH)) { xmlSerializer.Serialize(writer, Database); writer.Close(); } } } [Serializable] publicclass Database {