Skip to content

Commit 9a04f55

Browse files
authoredJul 23, 2018
Synch met tag 2.1.78 van progit/progit-en (#13)
1 parent fceae03 commit 9a04f55

File tree

4 files changed

+54
-4
lines changed

4 files changed

+54
-4
lines changed
 
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
[[B-embedding-git-in-your-applications]]
22
[appendix]
33
////
4-
Laatst bijgewerkt van progit/progit2 referentie: 7836cfed
4+
Laatst bijgewerkt van progit/progit2 referentie: 8d8780b1d
55
////
66
== Git in je applicaties inbouwen
77

88
Als je applicatie bestemd is voor ontwikkelaars, is er een grote kans dat het kan profiteren van integratie met versiebeheer.
99
Zelfs applicaties voor niet-ontwikkelaars, zoals document editors, kunnen potentieel profiteren van versiebeheer functionaliteit, en het model van Git werkt erg goed voor vele verschillende scenarios.
1010

1111
Als je Git moet integreren met je applicatie, heb je eigenlijk twee opties: een shell openen en de Git commando-regel tool gebruiken, of Git als library inbedden in je applicatie.
12+
We zullen hier de integratie van de commandoregel en een aantal van de meest populaire inbedbare Git libraries behandelen.
1213

1314
include::book/B-embedding-git/sections/command-line.asc[]
1415

@@ -17,3 +18,5 @@ include::book/B-embedding-git/sections/libgit2.asc[]
1718
include::book/B-embedding-git/sections/jgit.asc[]
1819

1920
include::book/B-embedding-git/sections/go-git.asc[]
21+
22+
include::book/B-embedding-git/sections/dulwich.asc[]

‎book/07-git-tools/sections/revision-selection.asc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[[_revision_selection]]
22
////
3-
Laatst bijgewerkt van progit/progit2 referentie: 7836cfed
3+
Laatst bijgewerkt van progit/progit2 referentie: 8d8780b1d
44
////
55
=== Revisie Selectie
66

@@ -122,7 +122,7 @@ Je kunt de reflog zien door `git reflog` te gebruiken:
122122
----
123123
$ git reflog
124124
734713b HEAD@{0}: commit: fixed refs handling, added gc auto, updated
125-
d921970 HEAD@{1}: merge phedders/rdocs: Merge made by the 'recursive' stategy.
125+
d921970 HEAD@{1}: merge phedders/rdocs: Merge made by the 'recursive' strategy.
126126
1c002dd HEAD@{2}: commit: added some blame and merge stuff
127127
1c36188 HEAD@{3}: rebase -i (squash): updating HEAD
128128
95df984 HEAD@{4}: commit: # This is a combination of two commits.

‎book/10-git-internals/sections/objects.asc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ blob
128128
Het volgende type waar we naar gaan kijken is de tree, wat het probleem oplost van het opslaan van bestandsnamen en je ook in staat stelt om een groep van bestanden bij elkaar op te slaan.
129129
Git slaat de inhoud op een manier die vergelijkbaar is met een UNIX bestandssysteem, maar wat versimpeld.
130130
Alle inhoud wordt opgeslagen als tree en blob objecten, waarbij trees overeenkomen met UNIX directory entries en blobs min of meer overeenkomen met inodes of bestandsinhoud.
131-
Een enkele tree object bevat een of meer tree entries, elk daarvan bevat een SHA-1 verwijzing naar een blob of subtree met de bijbehorende mode, type en bestandsnaam.
131+
Een enkele tree object bevat een of meer entries, elk daarvan is de SHA-1 hash van een blob of subtree met de bijbehorende mode, type en bestandsnaam.
132132
Bijvoorbeeld, de meest recente tree in een project kan er ongeveer zo uitzien:
133133

134134
[source,console]
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
////
2+
Laatst bijgewerkt van progit/progit2 referentie: 8d8780b1d
3+
////
4+
=== Dulwich
5+
6+
(((Dulwich)))((("Python")))
7+
Er is ook een zuivere Python Git implementatie - Dulwich.
8+
Het project wordt gehost onder https://www.dulwich.io/
9+
Het doel van het project is om een interface naar git repositories te bieden (zowel lokaal als remote) die geen directe git aanroepen doet, maar daarentegen puur Python gebruikt.
10+
Het heeft echter een optionele C-extensie, die de prestaties behoorlijk versnelt.
11+
12+
Dulwich volgt het git ontwerp en maakt een scheiding tussen twee basisniveaus wat APIs betreft: binnenwerk en koetswerk (plumbing en porcelain).
13+
14+
Hier is een voorbeeld hoe een lager niveau API te gebruiken om toegang tot het commit-bericht van de laatste commit te benaderen:
15+
16+
[source, python]
17+
-----
18+
from dulwich.repo import Repo
19+
r = Repo('.')
20+
r.head()
21+
# '57fbe010446356833a6ad1600059d80b1e731e15'
22+
23+
c = r[r.head()]
24+
c
25+
# <Commit 015fc1267258458901a94d228e39f0a378370466>
26+
27+
c.message
28+
# 'Add note about encoding.\n'
29+
-----
30+
31+
Om een commit-log af te drukken gebruikmakend van de API van het hogere niveau (porcelein), kan men het volgende doen:
32+
33+
[source, python]
34+
-----
35+
from dulwich import porcelain
36+
porcelain.log('.', max_entries=1)
37+
38+
#commit: 57fbe010446356833a6ad1600059d80b1e731e15
39+
#Author: Jelmer Vernooij <jelmer@jelmer.uk>
40+
#Date: Sat Apr 29 2017 23:57:34 +0000
41+
-----
42+
43+
44+
==== Meer weten
45+
46+
* De officiële API documentatie is beschikbaar op https://www.dulwich.io/apidocs/dulwich.html[]
47+
* De officiële tutorial op https://www.dulwich.io/docs/tutorial[] heeft veel voorbeelden hoe specifieke taken met Dulwich uit te voeren

0 commit comments

Comments
 (0)