Maintaning local changes

Alexander Belchenko bialix at ukr.net
Thu Aug 27 21:23:45 BST 2009


Ivan Sagalaev пишет:
> Neil Martinsen-Burrell wrote:
>> There is no automated way to do this.  The conceptual problem as I
>> understand it is that you want to label the changes in a working copy
>> as being either locally important or globally relevant.  Bazaar (and
>> as far as I know, not other VCS) doesn't track any additional
>> meta-information about a given change.  As a result, you need to keep
>> this information in your head and when you merge from upstream and
>> then revert, you have to manually keep track of what changes should
>> *not* be reverted, namely those which are locally important.
>>
>> Note that this problem is very, very common for version control. 
>> Here, from the Subversion FAQ is one way of dealing with it in
>> general: http://subversion.tigris.org/faq.html#ignore-commit
> 
> I actually agree with that FAQ. In our own code we always try to factor
> out such local-only changes into separate files and mark them ignored by
> a vcs. But i's not possible if you work with upstream that you don't
> control and they have hard-coded things here and there.
> 
> Would such a feature be a good addition to bzr core? I mean:
> 
>     $ ... hack config.c
>     $ bzr commit --private
>     $ bzr push
>     No revisions to push.

Mmm, no, you need to use different data structures inside bzr for committed metadata. Something like
loom maybe.

Bazaar uses DAG of revisions, so there is not possible to hide one revision from the chain without
destroy entire graph. From other hand, bzr supports ghost revisions, but AFAIUI this is very hard
and buggy way if you want to force ghosts in your history.



More information about the bazaar mailing list