summaryrefslogtreecommitdiff
path: root/topgit.mdwn
blob: 14d3c53e2b1bfc13f4934d2d3cc1c8058bac9ccc (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[[!meta copyright="Copyright © 2010, 2011, 2014 Free Software Foundation,
Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!meta title="TopGit"]]

<http://repo.or.cz/w/topgit.git>

  * David Bremner: [*A topgit
    testimonial*](http://www.cs.unb.ca/~bremner/blog/posts/topgit_testimonial/),
    [*So your topgit patch was merged
    upstream*](http://www.cs.unb.ca/~bremner/blog/posts/so_your_topgit_patch_was_merged/),
    [more](http://www.cs.unb.ca/~bremner/tags/topgit/).
  * Pete Hopkins: [*topgit Means Never Having to Wait for
    Reviews*](http://blog.grogmaster.com/2008/12/topgit-means-never-having-to-wait-for.html)
  * Christoph Egger: [*Git repository's and
    topgit*](http://lists.debian.org/debian-devel-games/2008/11/msg00109.html)

We're using this for some packages, where we're maintaining long-lived
development branches, for example
[[source_repositories/glibc]].  The latter one has usage examples, too.

# Installing

It's fairly easy to install topgit. First, clone the git repo of topgit.

    $ git clone https://repo.or.cz/topgit.git
    $ cd topgit

Or download the tarball of source code directly and unpack it.

    $ curl -o topgit.tar.gz https://repo.or.cz/topgit.git/snapshot/f2815f4debdb07f86ee86dd4eb75280919ace55d.tar.gz
    $ tar xzf topgit.tar.gz
    $ cd topgit-f2815f4

Second, you have to build and install topgit with make. You can use
any prefix to specify the install place. But note that, if you
don't set `prefix`, it will default to `$HOME` rather than `$HOME/.local`,
which may NOT be what you want.

    $ make prefix=$HOME/.local install

The topgit executable file is `tg`. It will be installed into `$prefix/bin`.

Finally, add `$prefix/bin` to your `PATH` if you want to use `tg` directly in
your shell. Then test the installation by running `tg` and check the output.

    $ tg
    TopGit v0.9 - A different patch queue manager
    Usage: tg [...]


# Running it on GNU/Hurd

Nothing special to that, technically, *only* that our [[I/O system's (non-)
performance|community/gsoc/project_ideas/disk_io_performance]] will render this
unbearably
slow for anything but simple test cases.  So don't try to run it on the [[GCC]]
or [[glibc]] repositories.  Talk to [[tschwinge]] about how he's using it on a
GNU/Linux machine and push the resulting trees to GNU/Hurd systems.