Know about Certificates and SSLs



Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encrypted communication and secure identification of a network web server. HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate information systems.

Secure socket layer (SSL): how it works

1.   An SSL certificate enables encryption of sensitive information during online transactions.

2.   Each SSL certificate is a unique credential identifying the certificate owner.

3.   A certificate Authority authenticates the identity of a certificate owner before it is issued.
What is SSL and Certificate

SSL and Certificates

The Secure Socket Layer protocol was created by Netscape to ensure secure transactions between web servers and browsers. The protocol uses a third party, a Certificate Authority (CA), to identify one end or both end of the transactions. This is in short how it works.

  • A browser requests a secure page (usually https://).
  • The web server sends its public key with its certificate.
  • The browser checks that the certificate was issued by a trusted party (usually a trusted root CA), that the certificate is still valid and that the certificate is related to the site contacted.
  • The browser then uses the public key, to encrypt a random symmetric encryption key and sends it to the server with the encrypted URL required as well as other encrypted http data.
  • The web server decrypts the symmetric encryption key using its private key and uses the symmetric key to decrypt the URL and http data.
  • The web server sends back the requested html document and http data encrypted with the symmetric key.
  • The browser decrypts the http data and html document using the symmetric key and displays the information.

What Happens When a Web Browser Connects to a Secure Website?

  • A browser attempts to connect to a Web site secured with SSL.

keytool -genkey -alias bf-sandbox -keyalg RSA -keystore buildForgeKeyStore.p12 -keysize 2048

[root@ tmp]# keytool -genkey -alias bf-sandbox -keyalg RSA -keystore buildForgeKeyStore.p12 -keysize 2048
Enter key store password: XXXX
Enter key password for : XXX

You are about to enter information that will be incorporated into
your certificate request.  This information is what is called a
Distinguished Name or DN.  There are quite a few fields but you
can use supplied default values, displayed between brackets, by just
hitting , or blank the field by entering the character
before hitting .

keytool -certreq -sigalg RSA -alias bf-sandbox -file bf-sandbox.csr -keystore buildForgeKeyStore.p1Insallation Certificates in BuildForge

Point 1: You would need to update the bfclient.conf to make Build Forge aware of the certifications. As long as the certificates are in the correct it will work with Build Forge.

Point 2: The easiest way to update the cert would be change the new cert name to the name of the previous cerr. Then update the passwords.

Point 3:
Please use the following command to validate the keystore:

keytool -list -storetype pkcs12 -keystore fullyQualifiedNameOfFile.p12 -v


The Symmetric key

Well, Private Key/Public Key encryption algorithms are great, but they are not usually practical. It is asymmetric because you need the other key pair to decrypt. You can’t use the same key to encrypt and decrypt. An algorithm using the same key to decrypt and encrypt is deemed to have a symmetric key. A symmetric algorithm is much faster in doing its job than an asymmetric algorithm. But a symmetric key is potentially highly insecure. If the enemy gets hold of the key then you have no more secret information. You must therefore transmit the key to the other party without the enemy getting its hands on it. As you know, nothing is secure on the Internet. The solution is to encapsulate the symmetric key inside a message encrypted with an asymmetric algorithm. You have never transmitted your private key to anybody, then the message encrypted with the public key is secure (relatively secure, nothing is certain except death and taxes). The symmetric key is also chosen randomly, so that if the symmetric secret key is discovered then the next transaction will be totally different.

Symetric Key–>[Public Key]–>Encrypted Symetric Key–>[Private Key]–>Symetric Key

Encryption algorithm:

There are several encryption algorithms available, using symmetric or asymmetric methods, with keys of various lengths. Usually, algorithms cannot be patented, if Henri Poincare had patented his algorithms, then he would have been able to sue Albert Einstein… So algorithms cannot be patented except mainly in USA. OpenSSL is developed in a country where algorithms cannot be patented and where encryption technology is not reserved to state agencies like military and secret services. During the negotiation between browser and web server, the applications will indicate to each other a list of algorithms that can be understood ranked by order of preference. The common preferred algorithm is then chosen. OpenSSL can be compiled with or without certain algorithms, so that it can be used in many countries where restrictions apply.

The Hash:

A hash is a number given by a hash function from a message. This is a one way function, it means that it is impossible to get the original message knowing the hash. However the hash will drastically change even for the slightest modification in the message. It is therefore extremely difficult to modify a message while keeping its original hash. It is also called a message digest. Hash functions are used in password mechanisms, in certifying that applications are original (MD5 sum), and in general in ensuring that any message has not been tampered with. It seems that the Internet Enginering Task Force (IETF) prefers SHA1 over MD5 for a number of technical reasons (Cf RFC2459 7.1.2 and 7.1.3).


Signing a message, means authentifying that you have yourself assured the authenticity of the message (most of the time it means you are the author, but not neccesarily). The message can be a text message, or someone else’s certificate. To sign a message, you create its hash, and then encrypt the hash with your private key, you then add the encrypted hash and your signed certificate with the message. The recipient will recreate the message hash, decrypts the encrypted hash using your well known public key stored in your signed certificate, check that both hash are equals and finally check the certificate.
The other advantage of signing your messages is that you transmit your public key and certificate automatically to all your recipients.
There are usually 2 ways to sign, encapsulating the text message inside the signature (with delimiters), or encoding the message altogether with the signature. This later form is a very simple encryption form as any software can decrypt it if it can read the embedded public key. The advantage of the first form is that the message is human readable allowing any non complaint client to pass the message as is for the user to read, while the second form does not even allow to read part of the message if it has been tampered with.


“A passprase is like a password except it is longer”. In the early days passwords on Unix system were limited to 8 characters, so the term passphrase for longer passwords. Longer is the password harder it is to guess. Nowadays Unix systems use MD5 hashes which have no limitation in length of the password.

Public Key Infrastructure

The Public Key Infrastructure (PKI) is the software management system and database system that allows to sign certifcate, keep a list of revoked certificates, distribute public key,… You can usually access it via a website and/or ldap server. There will be also some people checking that you are who you are… For securing individual applications, you can use any well known commercial PKI as their root CA certificate is most likely to be inside your browser/application. The problem is for securing e-mail, either you get a generic type certificate for your e-mail or you must pay about USD100 a year per certificate/e-mail address. There is also no way to find someone’s public key if you have never received a prior e-mail with his certificate (including his public key).

Tagged : / / / / / / / /

Introduction of Windows Internal | Windows Internal Overview | Windows Internal Quick Guide

Windows Resource Kits
The Microsoft® Windows Resource Kit Tools are a set of tools to help administrators streamline management tasks such as troubleshooting operating system issues, managing Active Directory®, configuring networking and security features, and automating application deployment.

Task and Responsibilities

  • Deployment
  • System administration scripting
  • Directory services
  • Networking and internetworking
  • Internet services
  • Custom and automated installations
  • Registry
  • Security
  • Policy-based administration
  • Server management
  • Clustering and load balancing
  • Performance management
  • Troubleshooting

About the Windows Server 2003 Resource Kit
Once you have download and installed the resource kit (very easy process), you are pretty much set up, now all you need to do it work with each tool so you know what they can do, and that’s the intention of this article series.

After the installation, go to Start => All Programs => Windows Resource Kit Tools => Command Shell

Download –

If you do a dir, you will see the directory listing for all the files listed here. Each file has a brief description of what it does:

Clearmem.exe: Clear Memory
Compress.exe: Compress Files
Confdisk.exe: Disk Configuration Tool
Consume.exe: Memory Consumers Tool
Dh.exe: Display Heap
Delprof.exe: User Profile Deletion Utility
Diskuse.exe: User Disk Usage Tool
Gpmonitor.exe: Group Policy Monitor
Instsrv.exe: Service Installer
Memmonitor.exe: Memory Monitor
Vrfydsk.exe: Verify Disk

Reference –

What is Windows Service?
Windows Service applications run for a long time and are mostly used in server environments therefore they are usually called long-running applications. Capability to create windows service is one of the powerful features of .net.

Windows Service applications do not have any user interface or they do not produce any visual output. Services can run in the background while a user is performing or executing any other task in the foreground. If any user messages are generated, they are written to the Windows Event Log.

Windows Services are controlled by the Service Control Manager that helps to start, stop or pause the windows service, as needed.

Examples of windows services include task scheduling, running message queues, file indexing, plug and play device detection etc.

In the source code, Windows Service extends the System.ServiceProcess.Service class.

All Windows Services that are built in .NET need to extend this class. Visual studio includes the following methods by default, which are overridden by the service when it is created.
Dispose – clean up any managed and unmanaged resources
OnStart – control the service startup
OnStop – control the service stoppage

How to create Windows Service?

  • Select a new project from File menu.
  • Expand “Visual Basic” tab and select “Windows”.
  • Then select Windows Service in it and specify the name of the service.
  • Then right click on the form and select Add Installer.
  • Project Installer gets added.
  • Select ServiceInstaller1, go to properties and set DisplayName, ServiceName and set StartType as Automatic.
  • Then select ServiceProcessInstaller1 and set Account property as LocalSystem.

Windows troubleshooting For Build Issues

  • OS Environment issues
  • Application Configuration settings
  • OS Memory Utilization
  • Disk I/O activies
  • Services running
  • Network issues

The Windows Chkdsk (check disk) utility can find and fix common problems with disks and storage devices.

Disk Cleanup utility
The Disk Cleanup utility is a simple tool in Windows XP and Windows Vista that can remove temporary files from your PC, thus freeing up hard disk space.

Tagged : / / / / / / / / / / /

Quick Start Guide – Perforce Streams – Perforce Guide


My Perforce Streams log can be found in following location.

Tagged : / / / / / / / / / / / / /

Anthillpro Comparison with Atlassian Bamboo – Continuous Integration Tools Review


AnthillPro Vs Bamboo OR
Difference between AnthillPro and Bamboo OR

Last month i was discussing with Eric Minick from Anthillpro on Why Build Engineer should be go for AnthillPro instead of Bamboo and i found some interesting inputs which i am sharing below;


Bamboo is a respectable team level continuous integration server. Continuous Integration servers are focused on providing feedback to developers about the quality of their recent
builds, and how that compares to previous builds. While AnthillPro also provides continuous integration features, it pays special attention to what hAnthillpropens after build time.
Where is the build deployed? How does it get tested in the hours, days and weeks after the build occurs? Who releases the software and how?

The distinction in focus between the two solutions shows up in their features. Both AnthillPro and Bamboo provide continuous integration support and integrations with
numerous tools. Only AnthillPro provides the features required to take a build through the release pipeline into production – rich security, build lifecycle management, eAtlassian Bamboo.
For the purposes of this document, we will use the following product aAtlassian Bambooreviations:


Lifecycle Management

There is a lot more to implementing true lifecycle management than simply using the term in marketing and sales materials. The lifecycle extends across multiple processes in
addition to the build process. Most tools have had a very narrow view of this space and have focused their energies purely on the build process. The end result is that true lifecycle
management is an afterthought, and it shows in the features (or lack thereof) in their products. A continuous integration

Pipeline Management

As the lifecycle is made up of multiple processes (such as the build, deployments, tests, release, and potentially others), a lifecycle management tool must provide some means of
tracking and managing the movement of a build through the lifecycle stages. Without this feature, there is nothing to connect a build process execution to a deployment process
execution to a test process execution; thus the end user has no way of knowing what build  actually got tested. Without this pipeline management feature (which we call the Build
Life), traceability between processes is completely absent from the tool.

Atlassian Bamboo: No pipeline management out of the box.
Anthillpro: Provides pipeline management out‐of‐the‐box. Anthillpro has a first‐class concept called the Build Life. The Build Life represents the pipeline and connects the build process to later
processes like deployments into QA, Anthillproprovals by managers, functional testing, and release to production. The pipeline (Build Life) provides guaranteed traceability throughout all
processes in the lifecycle, and provides a context for collecting logs, history, and other data gathered throughout the lifecycle.

Artifact Management

Key to lifecycle management is the ability to connect the outputs of a prior process (such as the build) to the inputs of a subsequent process (such as a deployment). After all, the
deployment process needs to have something to deploy. Ideally, the deployment process would deploy the artifacts produced by the build process. And the test process would run
tests on those same artifacts. The ability to cAnthillproture and manage the artifacts created by a build and other processes is central to this effort. Ideally, the artifacts would be managed
by an artifact repository (a Definitive Software Library (DSL) under ITIL). Further, as hundreds or thousands of builds hAnthillpropen, support for discarding old builds needs to
intelligently remove builds that are no longer interesting. Anthillpro bundles a binary artifact repository called CodeStation.

Atlassian Bamboo: Bamboo does cAnthillproture built artifacts but does not have a robust artifact management system. It does not maintain artifact checksums for validation. Old builds may be archived
after a certain number of weeks, but there is no designation for builds that have been to or are potentially going to production that would use a different retention policy. Artifacts are available for user download, but are not accessible for reuse by other plans or deployments.

Anthillpro: Built‐in artifact management system (DSL) called CodeStation. The cAnthillproture, fingerprint and management of artifacts is essential to the solution. This allows AnthillPro to guarantee traceability of artifacts from the build, through deployment, through testing, and into release (in other words, AnthillPro guarantees that what is released into production is what was tested and built). A maximum number of builds or age to keep can be set per project and per status. This means that builds that were released can be kept longer than a simple continuous integration build.


Especially as servers address functionality before the build – deployments or tests to various environments, controlling who can do what within the system can be key element
securing the system and providing clear separation of duties. Once something has been done, it can be equally important to find out who ran which processes.

Authentication and Authorization

Atlassian Bamboo: Basic role based security. Users may be assigned roles and permissions at the project level. Integration with LDAnthillpro, compliments internally managed security.

Anthillpro: AnthillPro provides a rich role based security system, allowing fine‐grained control over who can see which project, run which workflows and interact with which
environments. The Authentication system supports internally managed, single sign on systems, LDAnthillpro, Kerberos (Active Directory), and JAnthillproS modules.

Secure Value Masking

Many “secrets” are used when building and deploying. Passwords to source control, servers, and utilities are often needed to execute build, deploy, test processes.

Atlassian Bamboo: No facility for securely storing Anthillproplication passwords or obfuscating them from the logs. Bamboo does manage to write libraries for some integrations that avoid passing the
password where the logs can see that line. It has no facility that we can see for flagging a command line parameter that will be logged as secure and filtering that value from the log.

Anthillpro: Sensitive values like Anthillproplication passwords are automatically filtered out of logs, hidden in the user interface, entered through password fields, and stored in the database encrypted with a triple DES one time key.

Process Automation & The Grid

Grouping Agents
In a distributed environment, managing your build and deployment grid needs to be easy.

Atlassian Bamboo: Agents are added into a fairly uniform pool. Agents can define broad cAnthillproabilities they provide and jobs can define what cAnthillproabilities they need to perform matchmaking.

Anthillpro: AnthillPro provides the concept of an environment. Environments are groups of servers. A build farm for a class of projects could be one environment while the QA environment for another project would be another environment. This allows for roaming – or deploying to everything – to span just the machines in an environment. Jobs can be
assigned to a single machine, or roam, or select machines based on criteria like processor type, operating system, or customized machine cAnthillproabilities.

Complex Process Automation

Atlassian Bamboo: Bamboo runs full plans on a single agent. While different agents can be running various builds in parallel, any given plan is executed on just a single agent.

Anthillpro: AnthillPro provides a rich workflow engine, which allows jobs to be run in sequence, parallel, and combinations thereof. Jobs can also be iterated so that they run multiple times with slight variations in their behavior on each execution. This allows parallelization that takes advantage of numerous agents. This facility also makes sophisticated deployments possible.

Cross Site Support

Atlassian Bamboo:
Bamboo provides no special support for agents (slaves) that exist outside the local network.

Anthillpro: AnthillPro is architected with support for an cross‐site, even international, grid. Agent relays and location specific artifact caches assist in easing the configuration and
performance challenges inherent in deployment involving multiple sites.

Dependency Management

Component based development and reuse are concepts that get a lot of lip service but few if any features from most vendors. Only AnthillPro provides features to enable component based development and software reuse. A flexible dependency management system is part of the built‐in feature set of AnthillPro. The dependency management system is integrated with the bundled artifact repository and with the build scheduler so that builds can be pushed up the dependency grAnthillproh and pulled down the dependency grAnthillproh as configured. Integration with Maven dependency management provides an integrated system.

Atlassian Bamboo: Provides some basic support for build scheduling based on dependencies. A build of one project can kick off a build of it’s dependents and some blocking strategies can prevent wild numbers of extra builds being generated. Bamboo does not provide any tie in between dependency triggering and build artifacts – sharing artifacts between projects is left to the team to figure out with an external tool such as Anthillproache Maven.

Anthillpro: Support for dependency relationships between projects out‐of‐the‐box. AnthillPro provides a rich set of features for relating projects together. Large projects often have tens
or hundreds of dependencies on sub‐projects, common libraries and third party libraries. At build time the dependency system can calculate which projects need to be rebuilt based on changes coming in from source control. At build time, artifacts from dependency projects are provided to the dependants with version traceability and tracking.

AnthillPro provides highly customizable build scheduling and artifact sharing to these projects. In a “pull” model, anytime a top level project is built, it’s dependencies are inspected to see if they are up‐to‐date. If not, they are first built, then the top level project is built. In a “push” model, builds of dependencies will trigger builds of their dependents. AnthillPro interprets the dependency grAnthillproh to avoid extra builds or premature builds. In the case of Maven projects, AnthillPro can simply provide the scheduling or cooperate with Maven to provide traceable artifact reuse.


While both tools have a lot of similarities, AnthillPro’s Lifecycle Management, Dependency Management, and full featured Security cAnthillproabilities set it Anthillproart. Only AnthillPro supports
complete end‐to‐end traceability across all the phases of Build, Deploy, Test, and Release. While Bamboo is likely an effective team level continuous integration server, AnthillPro is a proven solution for enterprises looking to automate the full lifecycle of a build. For build and release automation the technology leader since 2001 is AnthillPro. We were
the first to release a Build Management Server. We were the first to recognize the need for comprehensive lifecycle management (beyond just build management), and we were the
first to release features required to deliver on the vision. We have been very successful at enterprise level RFPs and have added hundreds of customers including some of the leading banks, insurance companies, and high‐technology companies in the world. Our dedication to solving the problems faced by our customers means that we are very responsive to feature and enhancement requests with turn around times measured in days or weeks instead of months and quarters. Urbancode delivers the leading product in its space, the expertise to roll it out, and caring support for our customers to ensure their continued success.

Tagged : / / / / / / / / / / / / / / / / / / / / /

Know About scmGalaxy – Introduction


scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more!

scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.

We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.

Course Objectives
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.

Course Schedule
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.

This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.

The course is modular and flexible – depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.

Lab Work
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.

Learning Resources
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.

Contact Us
This course is provided on-site, and can be tailored to your particular requirements. If you would like our trainings delivered at your premises, or for any additional information please contact us. Please email us at

Authors and Contributors

Rajesh Kumar, India (Bangalore), over 8 years of extensive experience in SCM domain having depth knowledge of Configuration Management, Build Management, Packaging, Release Management and Application Maintenance. Expertise in Wide range of CM tools (Perforce, MKS, CVS and SVN(Subversion) and VSS), packaging tools (Wise Studio/InstallAnywhere) and Build Management (Ant, CruiseControl, Anthillpro, Maven, Bamboo, Hudson & OpenMake) and Quality related tools like (Sonar, PMD, CheckStyle, Clover and FindBugs). He writes blogs on
His primary areas of involvement are in object-oriented development, agile methods, enterprise application architecture, Workflow Management System and Automated Build and Release, Continuous Integration, Build Automation, Test-Driven Development and Code Quality, using open source tools such as Maven, Hudson, and Nexus. Environment.

Praveen Marakkoor, Praveen currently working as Sr SCM Engineer for Blue Shield of California San Francisco,CA USA previously he held Development and SCM positions at Kyocera Wireless,24 Hour Fitness, Experience, Macys, Cisco and Intuit. He has extensive experience in Software Configuration Management and Release Engineering and its tools like Maven,Ant,Perforce,maven, SVN, CVS, Clearcase, PVCS, git, Hudson, Bamboo, perl, shell scripting on heterogeneous environments along with QA Engineering.
Praveen holds a Bachelors Degree in Computer Science and Engineering from Visweswaraya Technological University Belgaum, Karnataka India. Highly detail oriented leadership skilled and a team player. He writes blogs on

Tushar Patil, Currently working with S1 Services, Pune as Sr SCM Engineer.Having around 8 years extensive experience in Configuration Management and Release Engineering. Expertise in tools like SVN, Ant, Maven, Izpack, Perl, Clover, Shell Scripting, Hudson, Bamboo. Having very good experience in OS installations on Vmware ESX servers(AIX,Red Hat,Solaris) and installtion/configuration/troubleshooting of various softwares like WebSphere ND, Jboss, DB2, Oracle on AIX,Solairs and RedHat operating systems.

Brajesh Kumar Rai, Over 7 years of extensive experience in Configuration Management, Build Management, Release Management and Application Maintenance. Expertise in Wide range of CM tools (Perforce, ClearCase, CVS and SVN), packaging tools (InstallAnywhere) and Build Management (Ant, Maven, Make, CruiseControl, Anthillpro, Electric Cloud, Buildbot) multisite projects. Apart from always I am very adventures ,love any kind of crazy adventure, expert in Rock Climbing and rafting, Loves music gazals preferred. He writes blogs on

Michael Feighner, USA(San Francisco) Expertise in C/C + +, CMMI, change management, clearcase, clearquest, configuration/data management, database admin, delivery, doors, e-commerce, FORTRAN, GUI, meeting facilitation, MS Excel, MS Word, MS PowerPoint, OOD, perl scripting, process engineering, programming, quality control, requirements, scheduling, shell scripting, sw development, sw installation, sw testing, sql, unix, visual basic, visual studio, vxworks, web site production.

Praveen Thakur, India (Pune) Expertise in InstallShield and Application Packaging Domain. He writes blog on

Tagged : / / / / / / / / / / / / / / / /

File Comparing Tools Review and Feedback


File Comparing Tools review
File comparison in computing is the automatic comparing of data between
files on a file system. The result of comparisons are typically
displayed to the user, but can also be used to accomplish tasks in
networks, file systems and revision control.| Comparison of file comparison tools | comparison tools | Good comparison tools | comparison tools review | comparison tools feedback | Free File comparison Tools || Beyond Compare Review | Compare Suite review | Araxis Merge review |ECMerg Review | FileMerge review | WinMerge Review | Diffutils Review|


Beyond Compare
Compare Files, Folders

Beyond Compare allows you to quickly and easily compare your files and folders. By using simple, powerful commands you can focus on the differences you’re interested in and ignore those you’re not. You can then merge the changes, synchronize your files, and generate reports for your records.

You can compare entire drives and folders at high speed, checking just sizes and modified times. Or, thoroughly verify every file with byte-by-byte comparisons. FTP sites and zip files are integrated seamlessly, so you can update your website with the touch of a button. Once you’ve found pecific files you’re interested in, Beyond Compare can intelligently pick the best way to compare and display them. Text files can be viewed and edited with syntax highlighting and comparison rules tweaked specifically for documents, source code, and HTML. Data files, executables, binary data, and images all have dedicated viewers as well, so you always have a clear view of the changes.

Specialized Viewers

Beyond Compare includes built-in comparison viewers for a variety of data types. Compare .csv data or HTML tables in a Data Compare session,
or images in a Picture Compare session.

3-way Merge Pro edition only

Introduced in version 3, Beyond Compare’s new merge view allows you to combine changes from two versions of a file into a single output. Its intelligent approach allows you to quickly accept most changes while carefully examining conflicts. Color coding and section highlighting allow you to accept, reject, or combine changes, simply and easily. And, you can change any line in the output with the built-in syntax-highlighting editor. By using Beyond Compare’s powerful file type support and ability to favor changes from one file, you can trivially accept many changes without even seeing them.

You can use Beyond Compare directly from most version control systems, giving you all of the powerful comparing and merging support you need when you need it most. Integrated source control commands are also available, allowing you to check in and check out files without interrupting your work.

Synchronize Folders

Beyond Compare’s intuitive Folder Sync interface lets you reconcile differences in your data automatically. You can efficiently update your laptop, backup your computer, or manage your website, and Beyond Compare will handle all the details. You can copy to and from disks, FTP servers, and zip files, all using the same interface. Anything you don’t want affected can be easily filtered out, and all of the powerful comparison techniques are available, making the backup as fast or robust as you need.

You can automate repetitive tasks using a flexible scripting language, and any script can be called from the command line, allowing you to schedule your syncs for when it’s most convenient.


Compare Suite
By keywords comparison allows to match non-related documents with different structure.

Compare two folders feature allows to find and synchronize changes that were made in two folders.

Report can be created once you compared two files or folders. It contains detailed comparison information.

Document audit allows to accept or decline changes that were made in plain text files .

Ignore words. Starting version 5.0 Compare Suite can ignore certain keywords or strings while comparison.

Syntax highlighting. Compare Suite can now highlight syntax for some popular formats, such as .pas, .php, .htm and other.

Multimedia and graphics comparison. Compare Suite can compare information from multimedia and graphic formats.

Command line allows to automate comparison and integrate Compare Suite with other software products, Compare Suite can be a part of quality assurance script set.

Server-side comparison. Provide your employees with ability to compare documents on-line.


Araxis Merge
  • File comparison and merging
  • Binary and image file comparison
  • Three-way comparison and automatic merging
  • Integrated folder hierarchy comparison and synchronization
  • Direct access to FTP sites and configuration management systems
  • Report generation
  • Print support, Automation and other advanced features
ECMergePro 2.0 is a powerful comparison and merge software. ECMerge
provides for side-by-side, two- and three-way file revision and folder
synchronization. ECMergePro 2.0 is available in three versions: MS
Windows, Linux and Solaris. In MS Windows, ECMergePro 2.0 can be
integrated in Windows explorer. The software also provides for command
line support.

  • File comparison
  • Folder comparison
  • Image Comparison
  • Reports
  • File conversion: supported
  • Diverse comparison methods
  • Three-way comparison Yes
  • Text navigation
  • Report functionality
  • Merge functionality
  • Integration with version control systems Yes
  • Folder comparison
  • Folder hierarchy synchronization Yes
  • Custom file filters
  • Byte-by-byte comparison
FileMerge is one of the old NeXT Developer applications that survived into the days of Mac OS X, and with good reason: It kicks the pants off anything else when it comes to quickly going through file changes, marking them on the scrollba, allowing you to breeze through them with parallax scrolling, and merging them with a single click:
WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.

WinMerge is highly useful for determining what has changed between project versions, and then merging changes between versions. WinMerge can be used as an external differencing/merging tool or as a standalone application.


In addition, WinMerge has many helpful supporting features that make comparing, synchronising, and merging as easy and useful as possible:


  • Supports Microsoft Windows 98/2000/XP/2003/Vista/2008
  • Handles Windows, Unix and Mac text file formats
  • Unicode support
  • Tabbed interface

File Compare

  • Visual differencing and merging of text files
  • Flexible editor with syntax highlighting, line numbers and
  • word-wrap
  • Highlights differences inside lines
  • Difference pane shows current difference in two vertical


  • Location pane shows map of files compared
  • Moved lines detection

Folder Compare

  • Regular Expression based file filters allow excluding and
  • including items
  • Fast compare using file sizes and dates
  • Compares one folder or includes all subfolders

Version Control

  • Creates patch files
  • Resolve conflict files
  • Rudimentary Visual SourceSafe and Rational ClearCase integration


  • Shell Integration (supports 64-bit Windows versions)
  • Archive file support using 7-Zip
  • Plugin support
  • Localizable interface
  • Online manual and installed HTML Help manual
You can use the diff command to show differences between two files, or each corresponding file in two directories. diff outputs differences between files line by line in any of several formats, selectable by command line options. This set of differences is often called a `diff’ or `patch’. For files that are identical, diff normally produces no output; for binary (non-text) files, diff normally reports only that they are different.

You can use the cmp command to show the offsets and line numbers where two files differ. cmp can also show all the characters that differ between the two files, side by side.

You can use the diff3 command to show differences among three files. When two people have made independent changes to a common original, diff3 can report the differences between the original and the two changed versions, and can produce a merged file that contains both persons’ changes together with warnings about conflicts.

You can use the sdiff command to merge two files interactively.

Tagged : / / / / / / / / / / / / / / / / / / / / / / / / /

Introduction to CVS | Know ABout CVS | Quick Start Guide


Introduction to CVS

CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and documents. It fills a similar role to the free software RCS, PRCS, and Aegis packages.
CVS is a production quality system in wide use around the world, including many free software projects.
While CVS stores individual file history in the same format as RCS, it offers the following significant advantages over RCS:

  • It can run scripts which you can supply to log CVS operations or enforce site-specific polices.
  • Client/server CVS enables developers scattered by geography or slow modems to function as a single team. The version history is stored on a single central server and the client machines have a copy of all the files that the developers are working on. Therefore, the network between the client and the server must be up to perform CVS operations (such as checkins or updates) but need not be up to edit or manipulate the current versions of the files. Clients can perform all the same operations which are available locally.
  • In cases where several developers or teams want to each maintain their own version of the files, because of geography and/or policy, CVS’s vendor branches can import a version from another team (even if they don’t use CVS), and then CVS can merge the changes from the vendor branch with the latest files if that is what is desired.
  • Unreserved checkouts, allowing more than one developer to work on the same files at the same time.
  • CVS provides a flexible modules database that provides a symbolic mapping of names to components of a larger software distribution. It applies names to collections of directories and files. A single command can manipulate the entire collection.
  • CVS servers run on most unix variants, and clients for Windows NT/95, OS/2 and VMS are also available. CVS will also operate in what is sometimes called server mode against local repositories on Windows 95/NT.
Tagged : / / / / / / / / / / / / /