git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
55b878ade81e2b3b265032e281f82ab86016d5ae blob 2446 bytes (raw)

 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
68
69
70
71
72
 
revision walking API
====================

The revision walking API offers functions to build a list of revisions
and then iterate over that list.

Calling sequence
----------------

The walking API has a given calling sequence: first you need to
initialize a rev_info structure, then add revisions to control what kind
of revision list do you want to get, finally you can iterate over the
revision list.

Functions
---------

`init_revisions`::

	Initialize a rev_info structure with default values. The second
	parameter may be NULL or can be prefix path, and then the `.prefix`
	variable will be set to it. This is typically the first function you
	want to call when you want to deal with a revision list. After calling
	this function, you are free to customize options, like set
	`.ignore_merges` to 0 if you don't want to ignore merges, and so on. See
	`revision.h` for a complete list of available options.

`add_pending_object`::

	This function can be used if you want to add commit objects as revision
	information. You can use the `UNINTERESTING` object flag to indicate if
	you want to include or exclude the given commit (and commits reachable
	from the given commit) from the revision list.
+
NOTE: If you have the commits as a string list then you probably want to
use setup_revisions(), instead of parsing each string and using this
function.

`setup_revisions`::

	Parse revision information, filling in the `rev_info` structure, and
	removing the used arguments from the argument list. Returns the number
	of arguments left that weren't recognized, which are also moved to the
	head of the argument list. The last parameter is used in case no
	parameter given by the first two arguments.

`prepare_revision_walk`::

	Prepares the rev_info structure for a walk. You should check if it
	returns any error (non-zero return code) and if it does not, you can
	start using get_revision() to do the iteration.

`get_revision`::

	Takes a pointer to a `rev_info` structure and iterates over it,
	returning a `struct commit *` each time you call it. The end of the
	revision list is indicated by returning a NULL pointer.

`reset_revision_walk`::

	Reset the flags used by the revision walking api. You can use
	this to do multiple sequential revision walks.

Data structures
---------------

Talk about <revision.h>, things like:

* two diff_options, one for path limiting, another for output;
* remaining functions;

(Linus, JC, Dscho)
debug log:

solving 55b878ade8 ...
found 55b878ade8 in git.git.git

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.version-control.git
	nntp://ie5yzdi7fg72h7s4sdcztq5evakq23rdt33mfyfcddc5u3ndnw24ogqd.onion/inbox.comp.version-control.git
	nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git