src/Misc/EFTools/XmlCore/Model/Eventing/EfiTransaction.cs
/// <summary>
///     The only thing that this method does is signal the underlying
///     XML transaction to 'complete', which will push changes from the XLinq
///     tree in the XML model to the XML Editor's parse tree and the VS buffer.
///     This *DOES NOT* commit changes to disk and *DOES NOT* modify the XLinq
///     tree.
///     An appropriate exception is thrown if this
///     operation fails and the transaction is left in Open state to allow
///     for the possibility of corrections or retries.  If there are no
///     failures, the transaction will be in committed state when this
///     operation returns.
/// </summary>
The only thing that this method does is signal the underlying
XML transaction to 'complete', which will push changes from the XLinq
tree in the XML model to the XML Editor's parse tree and the VS buffer.
This *DOES NOT* commit changes to disk and *DOES NOT* modify the XLinq
tree.
An appropriate exception is thrown if this
operation fails and the transaction is left in Open state to allow
for the possibility of corrections or retries.  If there are no
failures, the transaction will be in committed state when this
operation returns.
The only thing that this method does is signal the underlying XML transaction to ' complete ' which will push changes from the XLinq tree in the XML model to the XML Editor ' s parse tree and the VS buffer . This * DOES NOT * commit changes to disk and * DOES NOT * modify the XLinq tree . An appropriate exception is thrown if this operation fails and the transaction is left in Open state to allow for the possibility of corrections or retries . If there are no failures the transaction will be in committed state when this operation returns .
public void Commit(bool dirtyArtifact)
        {
            if (_createdXmlTxn)
            {
                try
                {
                    _xmlTx.Commit();
                    if (dirtyArtifact)
                    {
                        _artifact.IsDirty = true;
                    }
                }
                catch
                {
                    if (!_artifact.IsArtifactReloading)
                    {
                        _artifact.ReloadArtifact();
                    }
                    throw;
                }
            }
        }
public void Commit ( bool dirtyArtifact ) { if ( _createdXmlTxn ) { try { _xmlTx . Commit ( ) ; if ( dirtyArtifact ) { _artifact . IsDirty = true ; } } catch { if ( ! _artifact . IsArtifactReloading ) { _artifact . ReloadArtifact ( ) ; } throw ; } } }
The only thing that this method does is signal the underlying
XML transaction to 'complete', which will push changes from the XLinq
tree in the XML model to the XML Editor's parse tree and the VS buffer.
The only thing that this method does is signal the underlying XML transaction to ' complete ' which will push changes from the XLinq tree in the XML model to the XML Editor ' s parse tree and the VS buffer .
// an error ocurred while commiting transaction, and if it is not caused by ReloadArtifact, we need to reload artifact
dirtyArtifact
bool