/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 doc/developers/last-modified.txt

  • Committer: Xavier Maillard
  • Date: 2008-03-26 06:21:48 UTC
  • mto: (3322.1.1 ianc-integration)
  • mto: This revision was merged to the branch mainline in revision 3323.
  • Revision ID: xma@gnu.org-20080326062148-f7mnwvttv4oq8013
Add mail-mode GNU Emacs mail package as a mail_client option.
    
Idea and original code by Bojan Nikolic modified in this way:
    
1. define a different python class EmacsMailMode
2. use mail-mode package instead of message-mode. mail-mode is the
   default mail mode in GNU Emacs.
3. put the patch as a MIME attachment (see NOTE)
4. add tests as required to fulfil merge strategy requirements
    
To use this option, just put these lines into ~/.bazaar/bazaar.conf
    
[DEFAULT]
mail_client = emacs-mailmode

NOTE: this will work only for GNU Emacs version from 22.1 and superior.
      The MIME attachment is handled by etach[1] package. Just put
      etach.el into your `load-path'. GNU Emacs is not shipped with a
      simple MIME package thus the need of a simple and reliable
      alternative (etach does both reading and writing of MIME objects).

[1] http://rulnick.com/etach/download

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
If there is still more than one head, a new last_modified is assigned.
31
31
This points to the merge point in the file graph.
32
32
 
33
 
If the file text and properties are the same as the sole remaining head,
 
33
If the file text and properties are the same as the sole remaining head, 
34
34
its last_modified is inherited. Property changes include executable bit,
35
35
filename, and containing directory.
36
36
 
53
53
For the single-parent commit case, we just need to determine which files have
54
54
changed compared to the parent.  If the file was changed, it gets the
55
55
revision id of the new revision; otherwise it inherits the value from the
56
 
parent tree.
 
56
parent tree.  
57
57
 
58
58
In the multi-parent commit case (commit of a merge), it can take the value
59
59
from any of the parent trees, or of the new revision.
74
74
in fact do this even when not using per-file graphs.  In the current
75
75
dirstate format we need to store the full data for all trees because they
76
76
can be extracted from the dirstate, but it could mark some parents as
77
 
already merged.
 
77
already merged.  
78
78
 
79
79
Alternatively, we could change the dirstate to include
80
80
only the base and current trees, and cache the merged-in parents
81
 
elsewhere.
 
81
elsewhere. 
82
82
 
83
83
(Offtopic other dirstate changes: we could also omit the working-copy
84
84
hash, and just have a stat-fingerprint of when it was last known equal to
89
89
Generation during conversion
90
90
----------------------------
91
91
 
92
 
Accessing a foreign branch requires synthesizing this information.
 
92
Accessing a foreign branch requires synthesizing this information. 
93
93
If last_modified is removed from a future bzr version, we will also need
94
94
to synthesize it to pull back to earlier formats.
95
95
 
172
172
For a single file, if I am different from all parents, 'new'. (Do not need
173
173
to evaluate last modified).
174
174
 
175
 
..
 
175
..   
176
176
  vim: ft=rst tw=74