Coder Social home page Coder Social logo

icedquinn / bitkeeper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bitkeeper-scm/bitkeeper

0.0 0.0 0.0 88.88 MB

This is the master copy of the BitKeeper source

Home Page: http://www.bitkeeper.org

License: Apache License 2.0

Shell 2.00% JavaScript 0.02% Ruby 0.01% C++ 1.10% Python 0.13% Perl 0.33% C 79.44% Emacs Lisp 0.55% Objective-C 0.05% Tcl 12.99% R 0.01% C# 0.15% Assembly 0.37% Ada 0.24% Awk 0.01% CLIPS 0.01% CSS 0.01% Pascal 0.25% TeX 1.82% BlitzBasic 0.52%

bitkeeper's Introduction

BitKeeper Distributed Source Control System

Welcome to BitKeeper!

BitKeeper is the original distributed source control system. Well, sort of. Larry wrote a semi-distributed source-control system back at Sun (productized as Teamware) and Rick had a research system of sorts, but for better or worse, BitKeeper was the first widely used distributed source-control system.

The BitKeeper history needs to be written up but the short version is that it happened because Larry wanted to help Linux not turn into a bunch of splintered factions like 386BSD, FreeBSD, NetBSD, OpenBSD, DragonFlyBSD, etc. He saw that the problem was one of tooling. He built a team and built BitKeeper so the kernel guys would have a reasonable tool and no need to split up the team (the problem was that Linus refused to use any source management system: "they all suck!" which wasn't bad for him but really sucked for the downstream people who had to merge everything by hand each time Linus released).

It took a couple years. Then the PowerPC people led by Cort Dougan took a chance on early BK. A couple years later Linus moved to it and most of the developers followed. They stayed in it for three more years before moving to Git because BitKeeper wasn't open source.

License

BitKeeper is now distributed under the Apache 2.0 license. It is free to use and free to modify. There are some open source components and they have their own licenses.

Getting Started

Information on using BitKeeper can be found of the www.bitkeeper.org website or using the built in manpages. Try running bk helptool for a GUI help browser.

System Requirements

The BitKeeper source tree is highly portable and compiles on most platforms. This includes:

  • Linux (x86, PPC, Arm & MIPS)
  • FreeBSD
  • Windows
  • Solaris

and used to include IRIX, AIX, HP-UX, etc. Any Posix-like system is a pretty easy port.

Getting Sources for Bitkeeper

Building BitKeeper

BitKeeper requires the following prerequisites to build:

  • GNU make
  • GNU gperf
  • GNU bison
  • some lex
  • GNU groff
  • X libraries for Tk
  • tomcrypt (*)
  • tommath (*)
  • pcre (*)
  • zlib (*)
  • lz4 (*)

The requirement marked with (*) are optional, if not installed locally and BitKeeper is currently installed and we are building from a BitKeeper repository then local copies of these requirements will be automatically populated and included.

If you are building on a Debian based Linux then the following packages are required:

sudo apt-get install make gperf groff bison flex libxft2-dev libtommath-dev libtomcrypt-dev libpcre3-dev zlib1g-dev liblz4-dev

For Fedora and related versions of Linux the following works:

sudo yum install gcc make gperf bison flex groff pcre-devel libtomcrypt-devel libtommath-devel lz4-devel zlib-devel libXft-devel

Build using the following sequence (we build on 12 core systems; hence the -j12 sprinkled here and there):

cd src
make -j12 p		# 'p'roduction build
make image		# create install image (at src/utils)
./utils/bk-*.bin	# run installer created above

(make must be GNU make)

If bk fails to locate your pre-installed libraries then edit the file src/conf.mk.local to provide the needed information. If you want to share the config with others please label it like "# Macos with homebrew" and put the configs commented out in there and send us a patch.

Building on Windows requires msys and is more involved. See the thread on the forum about Windows builds.

Testing BitKeeper

An extensive regression suite is found in src/t and can be run using the doit script in that directory. The test harness can be run in parallel using multiple cores like so:

cd src
make p
cd t
./doit -j12

Look here for help with getting regressions to pass cleanly.

Contributing to BitKeeper

See our community page for information on how to contact us with questions or contribute improvements.

bitkeeper's People

Contributors

wscott avatar ob avatar akushner avatar rnetzer avatar mmi avatar ameliagraf avatar zackw avatar orc avatar radii avatar zfsguy avatar smurfix avatar dieken avatar timjr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.