uncommit/revert sometimes deletes, sometimes unversions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned |
Bug Description
During work on rebase-interactive functionality, I have discovered the following strange behavior. Suppose we add several files, one per commit. When changing the order of these commits (e.g., using a sequence of merge commands) and issuing "uncommit" commands afterwards, some files appear to be deleted by the "revert" command. I would expect the files to remain as "unknown" and to get deleted only by a "clean-tree" command.
I have attached a bash test, tested against both bzr 2.3.4 from Ubuntu and bzr trunk -r6145 and -r6217. The test is minimal in the sense that I was unable to find a smaller example.
The output of bzr --version is found below. I am not familiar enough with the bzrlib API to easily fabricate a proper test case, but I'd be happy to get a pointer to the converted code.
Bazaar (bzr) 2.3.4
Python interpreter: /usr/bin/python 2.7.1
Python standard library: /usr/lib/python2.7
Platform: Linux-2.
bzrlib: /usr/lib/
Bazaar (bzr) 2.5.0dev2
from bzr checkout /home/muelleki/
revision: 6145
revid: <email address hidden>
branch nick: bzr
Python interpreter: /usr/bin/python 2.7.1
Python standard library: /usr/lib/python2.7
Platform: Linux-2.
Bazaar (bzr) 2.5.0dev3
from bzr checkout /home/muelleki/
revision: 6217
revid: <email address hidden>
branch nick: bzr
Python interpreter: /usr/bin/python 2.7.1
Python standard library: /usr/lib/python2.7
Platform: Linux-2.
summary: |
- Inconsistent internal state when altering order of commits using merge + uncommit/revert sometimes deletes, sometimes unversions |
tags: | added: check-for-breezy |
thanks,
possibly the easiest way to make a test for this is to turn your doc.bazaar. canonical. com/developers/ testing. html#shell- like-tests
script into a shell-like test: see
http://
If you would like to contribute a branch that adds even just a failing
test that would be very welcome.