Bug 56266 - FILESAVE: "Track/record changes": interdependentant revision marks not correctly saved to ODT file
Summary: FILESAVE: "Track/record changes": interdependentant revision marks not correc...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
3.6.2.2 release
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Track-Changes
  Show dependency treegraph
 
Reported: 2012-10-21 22:19 UTC by stfhell
Modified: 2019-05-14 02:57 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
document with revision marks by user 1 (steps 1/2) (10.19 KB, application/vnd.oasis.opendocument.text)
2012-10-21 22:23 UTC, stfhell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description stfhell 2012-10-21 22:19:12 UTC
When you use revision marks (track/record changes) in ODT, Writer does not always correctly save the revision history of the document and, consequently, some insertions made and tracked are accepted instead of rejected when you reject all changes.

This happens when 2 or more users edit a document under revision control in separate edit sessions, and one user deletes text inserted by another user.

Reproduce:
(1) Take an ODT document. Ensure that a valid user name is defined under Tools/Options/User Data. (User 1)
(2) Enable "Record changes". Insert 3 or more words of text. (Optionally save to file.)
(3) Let another user open the file. Or: change your user name under Tools/Options/User Data. (User 2)
(4) Delete the 2nd word inserted in step (2).
Open "Accept/reject all changes" dialogue: the edits are displayed in a tree structure reflecting their "nested" character. Close dialogue without doing anything.
(5) Save and close the file. Reload it.
Open "Accept/reject all changes" dialogue: the edits are displayed in a flat list - information about their "nestedness" is lost.
(6) Reject all changes made. The complete insertion in step (2) should be deleted. Instead, the part deleted by user 2 in step (4) is kept in the document plus the text inserted by User 1 following the word deleted by User 2.

Interdependentant edits (deletions inside insertions) are correctly kept in LO's internal data structures, but not properly saved to file and lost on reload of the document.

By the way: If you reject all changes after step 4, you cannot do it in 1 step as I would expect. You have to press the same button twice. But I'm not sure if there is some logic behind that.

Tested with LO 3.5.4.2 and 3.6.2.2 (Ubuntu 12.04).
Comment 1 stfhell 2012-10-21 22:23:05 UTC
Created attachment 68891 [details]
document with revision marks by user 1 (steps 1/2)

ODT with some text by User 1. Go on with step 3 and delete some of the inserted text.
Comment 2 bfoman (inactive) 2013-05-13 10:03:04 UTC
(In reply to comment #0)
> (6) Reject all changes made. The complete insertion in step (2) should be
> deleted. Instead, the part deleted by user 2 in step (4) is kept in the
> document plus the text inserted by User 1 following the word deleted by User
> 2.

Confirmed with:
LO 4.0.2.2
Build ID: own W7 debug build
Windows 7 Professional SP1 64 bit

> Interdependentant edits (deletions inside insertions) are correctly kept in
> LO's internal data structures, but not properly saved to file and lost on 
> reload of the document.

Could not reproduce. Added 1 2 3 as user 1, saved document, opened and deleted 2 as user 2, saved document, opened as user 1 and deletion by user 2 is visible.
Comment 3 stfhell 2013-06-05 13:18:20 UTC
Setting status to NEW after confirmation in comment 2.

(In reply to comment #2)
> > Interdependentant edits (deletions inside insertions) are correctly kept in
> > LO's internal data structures, but not properly saved to file and lost on 
> > reload of the document.
> 
> Could not reproduce. Added 1 2 3 as user 1, saved document, opened and
> deleted 2 as user 2, saved document, opened as user 1 and deletion by user 2
> is visible.

This is not a separate issue but rather the explanation why "reject all changes" does not work properly. Saving a file to ODT "flattens" the multi-level structure of tracked changes.

While LO has the doc still in memory, it records 2 levels of changes:

| change 1: inserted text (1 word)
| change 2: inserted text (user 1) + deleted text (user 2) (1 word)
| change 3: inserted text (1 word)

When LO saves the file to ODT, the 2 edits are flattened to 3 simple changes:

| change 1: inserted text (user 1)
| change 2: deleted text  (user 2)
| change 3: inserted text (user 3)

The 2nd word is treated as if it already had been in the document before track changes was enabled. It is correctly marked as deletion by user 2, but no longer as an insertion by user 1.

Note that exporting the file to DOC preserves the 2-level nature of the changes.
Comment 4 QA Administrators 2015-03-17 00:17:35 UTC Comment hidden (obsolete)
Comment 5 Buovjaga 2015-03-31 08:43:44 UTC
Reproduced using attachment 68891 [details].

Win 7 Pro 64-bit Version: 4.5.0.0.alpha0+
Build ID: 8c3cf9dd48e40604867d3a28bddaccd65142df17
TinderBox: Win-x86@62-TDF, Branch:MASTER, Time: 2015-03-27_15:15:18
Locale: fi_FI
Comment 6 tommy27 2016-04-16 07:23:18 UTC
** Please read this message in its entirety before responding **

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present on a currently supported version of LibreOffice (5.0.5 or 5.1.2 https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior
 
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System

Please DO NOT

- Update the version field
- Reply via email (please reply directly on the bug tracker)
- Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case)


If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 

1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3)

http://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug 

3. Leave a comment with your results. 

4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 
4b. If the bug was not present in 3.3 - add "regression" to keyword


Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa

Thank you for your help!

-- The LibreOffice QA Team This NEW Message was generated on: 2016-04-16
Comment 7 QA Administrators 2019-05-14 02:57:19 UTC
Dear stfhell,

To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.

There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.

If you have time, please do the following:

Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/

If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.
 
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.

Please DO NOT

Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not 
appropriate in this case)


If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/

2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword


Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa

Thank you for helping us make LibreOffice even better for everyone!

Warm Regards,
QA Team

MassPing-UntouchedBug