76
76
from bzrlib.osutils import (local_time_offset,
77
77
rand_bytes, compact_date,
78
78
kind_marker, is_inside_any, quotefn,
79
is_inside_or_parent_of_any,
79
80
sha_file, isdir, isfile,
81
82
import bzrlib.config
592
593
self._emit_progress_update()
593
594
file_id = new_ie.file_id
594
595
mutter('check %s {%s}', path, new_ie.file_id)
595
if self.specific_files:
596
if not is_inside_any(self.specific_files, path):
597
mutter('%s not selected for commit', path)
598
self._carry_entry(file_id)
601
# this is selected, ensure its parents are too.
602
parent_id = new_ie.parent_id
603
while parent_id != ROOT_ID:
604
if not self.builder.new_inventory.has_id(parent_id):
605
# when selectively committing a file in a new dir,
606
# suck up the dir too.
607
ie = self._select_entry(self.work_inv[parent_id])
608
mutter('%s selected for commit because of %s',
609
self.builder.new_inventory.id2path(parent_id),
611
parent_id = ie.parent_id
613
ie = self.builder.new_inventory[parent_id]
614
if ie.revision is not None:
616
mutter('%s selected for commit because of %s',
617
self.builder.new_inventory.id2path(parent_id),
619
parent_id = ie.parent_id
621
# our parent is already selected.
623
mutter('%s selected for commit', path)
624
self._select_entry(new_ie)
596
if (not self.specific_files or
597
is_inside_or_parent_of_any(self.specific_files, path)):
598
mutter('%s selected for commit', path)
599
self._select_entry(new_ie)
601
mutter('%s not selected for commit', path)
602
self._carry_entry(file_id)
626
604
def _emit_progress_update(self):
627
605
"""Emit an update to the progress bar."""