/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to notes/mapping.txt

  • Committer: Adeodato Simó
  • Date: 2007-07-18 15:51:52 UTC
  • mto: (2639.1.1 jam-integration)
  • mto: This revision was merged to the branch mainline in revision 2640.
  • Revision ID: dato@net.com.org.es-20070718155152-pv6rwq41eckqyxem
New EmailMessage class, façade around email.Message and MIMEMultipart.

* bzrlib/email_message.py,
  bzrlib/tests/test_email_message.py:
  New files.

* bzrlib/tests/__init__.py:
  (test_suite): add bzrlib.tests.test_email_message.

* bzrlib/merge_directive.py:
  (MergeDirective.to_email): Use EmailMessage instead of email.Message.

* bzrlib/tests/test_merge_directive.py,
  bzrlib/tests/blackbox/test_merge_directive.py:
  (__main__): adjust EMAIL1 and EMAIL2 strings to how EmailMessage
  formats itself.

* bzrlib/smtp_connection.py:
  (SMTPConnection.get_message_addresses): do not use methods present in
  email.Message but not in EmailMessage (get_all). Use get() instead of
  __getitem__ to make explicit that None is returned if the header does
  not exist.

* bzrlib/tests/test_smtp_connection.py:
  (TestSMTPConnection.test_get_message_addresses, 
   TestSMTPConnection.test_destination_address_required): test the
   functions against EmailMessage in addition to email.Message.

* NEWS:
  Mention EmailMessage in INTERNALS.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
Mapping between Git and Bazaar is generally straightforward.
2
 
 
3
 
Mapping version 1
4
 
=================
5
 
 
6
 
All revision ids created in this mapping format are prefixed with "git-v1:". 
7
 
This mapping format does not support roundtripped revisions from Bazaar; 
8
 
pushing or pulling from Bazaar into Git is not possible. dpush is possible 
9
 
and more or less does the opposite of the mapping described in this section.
10
 
 
11
 
Commits
12
 
-------
13
 
 
14
 
Git commits are mapped to Bazaar revisions. 
15
 
 
16
 
Bazaar revision ids are created by prefixing the (hex format) of git commit 
17
 
sha with "git-v1:". 
18
 
 
19
 
Commit properties are as follows:
20
 
 
21
 
 * git committer string: mapped to the Bazaar committer string
22
 
 * git committer timestamp: mapped to the Bazaar commit timestamp
23
 
 * git author string: mapped to the Bazaar 'author' revision property, if it 
24
 
   is different from the committer string
25
 
 * git author timestamp: ignored
26
 
 * git commit message: mapped to Bazaar commit message
27
 
 
28
 
The git committer string, author string and commit message are assumed to 
29
 
be encoded in UTF-8. Any utf-8-invalid characters are ignored.
30
 
 
31
 
Trees and blobs
32
 
---------------
33
 
Git trees are generally converted to Bazaar directories, Git blobs are 
34
 
generally converted to Bazaar files and symlinks.
35
 
 
36
 
Since all git trees are mapped *including* the root tree, it is only possible 
37
 
to create mapped rich-root revisions.
38
 
 
39
 
File ids for all objects are simply created by taking their path and 
40
 
escaping invalid characters in them:
41
 
 
42
 
 * _ is mapped to __
43
 
 * spaces are mapped to _s