~zyga/bzr-fastimport/fixes

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
=======================
Notes on bzr-fastimport
=======================

..contents::

Features
========

fast-import
-----------

Things that ought to work:

* add & deletes of files and symlinks

* automatic creation of directories (but not deletion)

* executable permission

* branches created based on where the import is run:

  * import into a shared repository outside a branch - branches
    are created as subdirectories of the current directory
  
  * import into a branch inside a shared repository - current
    branch becomes the trunk and other branches are created
    as sister directories

  * import into a standalone tree - warnings are given
    for branches (heads) found but not imported
  
* merge tracking

Things that probably work (more testing needed):

* separate author to committer

* lightweight tags


Known Limitations
=================

Parsing
-------

Things not supported yet:

* renaming a path that contains a space in the old name

* copying a path that contains a space in the source name

* delimited data sections (all data must be length prefixed currently)

* rfc2822 dates.

fast-import
-----------

Things not supported yet:

* deterministic revision-ids as an option

* 'reset' handling

* 'filedeleteall' handling

Things not recorded in Bazaar:

* tagger and message for (non-lightweight) tags

* copy semantics


Custom Enhancements
===================

General
-------

The date format is auto-detected.

Parsing
-------

These enhancements over the specification are provided in order
to read data produced by some verisons of git-fast-export:

* A person's name may be empty

* Long file modes with an extra leading 0, i.e. 0000644,
  0000755 and 0120000 are legal.