summaryrefslogtreecommitdiff
path: root/doc/bugs/graft__47__graft_cleanup_commits_--_really_needed__63__/comment_1_7bc271ddeafc92d36d2b90fcb1481891._comment
blob: 8de4c19158a2ea97282bac9dba962d50c059b084 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[[!comment format=mdwn
 username="joey"
 subject="""comment 1"""
 date="2017-10-25T18:56:49Z"
 content="""
They're really needed. Squashing them together would make the tree ref
that's being grafted in not be reachable, so it would be subject to GC,
which would lose data that the export feature needs to make sure is
retained for later.

It would be possible to squash the graft cleanup with the export.log update
commit. However, I was unable to stage the graft
into the git-annex branch index file using git update-index, due to
possibly a bug in git, so I was not able to find a way to do that.
See [[!commit 5483ea90eca33f61c799fb6a3c2675657caa9c75]]

The diff makes it look somehow big and expensive, but the actual overhead
on disk is two commit objects. The tree object being grafted in is the
exported tree, so retaining it does not really add any overhead. So
something in the area of 2 kb overhead, per export of a tree.
"""]]