/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 bzrlib/intset.py

  • Committer: John Arbash Meinel
  • Date: 2008-07-09 21:42:24 UTC
  • mto: This revision was merged to the branch mainline in revision 3543.
  • Revision ID: john@arbash-meinel.com-20080709214224-r75k87r6a01pfc3h
Restore a real weave merge to 'bzr merge --weave'.

To do so efficiently, we only add the simple LCAs to the final weave
object, unless we run into complexities with the merge graph.
This gives the same effective result as adding all the texts,
with the advantage of not having to extract all of them.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
# Author: Martin Pool <mbp@canonical.com>
18
18
 
60
60
    True
61
61
    >>> list(a)
62
62
    [10]
63
 
 
 
63
    
64
64
    """
65
65
    __slots__ = ['_val']
66
66
 
80
80
 
81
81
        >>> bool(IntSet())
82
82
        False
83
 
 
 
83
        
84
84
        >>> bool(IntSet([0]))
85
85
        True
86
86
        """
129
129
        """
130
130
        if not isinstance(other, IntSet):
131
131
            raise NotImplementedError(type(other))
132
 
        return IntSet(bitmask=(self._val | other._val))
 
132
        return IntSet(bitmask=(self._val | other._val))        
133
133
 
134
134
 
135
135
    def __eq__(self, other):
169
169
            v = v >> 1
170
170
            o = o + 1
171
171
 
172
 
 
 
172
        
173
173
    def update(self, to_add):
174
174
        """Add all the values from the sequence or intset to_add"""
175
175
        if isinstance(to_add, IntSet):