-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathxaqb.txt
31 lines (31 loc) · 1.89 KB
/
xaqb.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Distributed Document Oriented Database
Using Git as a backend for a document oriented database could have some interesting applications.
Git provides a number of features such as replication,
searching with grep,
and full versioning history for free.
distributed wiki
Suppose we wanted to have a wiki for documentation on a project.
If we create a wiki that works on files,
we can simply write those files into a Git repository and run a commit after every change.
This gives us good performance,
since it’s just reading the content off the disk.
We also get full file version history and easy ‘recently changed’ data.
Searching is built in and we can edit the wiki offline.
The other cool feature we could use is the distributed nature of Git.
We could add other people on the project as remote repositories
and push to and fetch from them,
merging changes to write a book or documentation collaboratively.
We could branch to try out a re-write and then either merge it in or throw it away if we don’t like it.
We could send a pull request to our colleagues for them to try out the branch to preview it before we decide whether to merge it in or not.
It’s possible the entire wiki project could even live in a bare branch
(that is, a branch with no common ancestors with any existing branch)
in the same repository as our project,
so clones can get the documentation as well, without it muddying up our code tree.
See the git-wiki (http://github.com/al3x/git-wiki/tree/master) project for an example of this.
distributed issue tracker
Another similar project might be a distributed ticketing system,
where all the tickets (bugs and features) for a project could be stored in a Git repository,
worked on offline and transferred with a project.
Examples of projects trying to do this are Ditz (http://ditz.rubyforge.org),
Kipling (http://gitorious.org/projects/kipling)
and my own TicGit (http://github.com/schacon/ticgit/wikis).