Re: Merge policies
From: Trent Nelson <trent_at_snakebite.org>
Date: Thu, 19 Apr 2012 10:59:31 -0700
On Apr 19, 2012, at 1:36 PM, Trent Nelson wrote:
It's probably worth noting this particular file:
That's a list of all the things Enversion currently detects/blocks/warns against. As you can see, lots of merge validation stuff.
I'll follow up tomorrow with more info in a separate thread rather than hijacking this one.
-- class _Notes(Constant): MergeinfoRemovedFromRepositoryRoot = 'svn:mergeinfo removed from repository root' SubtreeMergeinfoModified = 'subtree svn:mergeinfo modified' SubtreeMergeinfoRemoved = 'subtree svn:mergeinfo removed' Merge = 'merge' RootRemoved = 'root removed' ValidMultirootCommit = 'valid multi-root commit' MultipleUnknownAndKnowRootsVerifiedByExternals = 'multiple known and unknown roots verified by svn:externals' BranchRenamed = 'branch renamed' TrunkRelocated = 'trunk relocated' FileReplacedViaCopyDuringMerge = 'file replaced via copy during merge' FileUnchangedButParentCopyOrRenameBug = 'file is unchanged but there is a parent rename or copy action' DirUnchangedButParentCopyOrRenameBug = 'directory is unchanged but there is a parent rename or copy action' UnchangedFileDuringMerge = 'file unchanged during merge' UnchangedDirDuringMerge = 'dir unchanged during merge' n = _Notes() class _Warnings(Constant): KnownRootRemoved = 'known root removed' w = _Warnings() class _Errors(Constant): TagRenamed = 'tag renamed' TagModified = 'tag modified' MultipleUnknownAndKnownRootsModified = 'multiple known and unknown roots modified in the same commit' MixedRootNamesInMultiRootCommit = 'mixed root names in multi-root commit' MixedRootTypesInMultiRootCommit = 'mixed root types in multi-root commit' SubversionRepositoryCheckedIn = 'subversion repository checked in' MergeinfoAddedToRepositoryRoot = "svn:mergeinfo added to repository root '/'" MergeinfoModifiedOnRepositoryRoot = "svn:mergeinfo modified on repository root '/'" SubtreeMergeinfoAdded = 'svn:mergeinfo added to subtree' RootMergeinfoRemoved = 'svn:mergeinfo removed from root' DirectoryReplacedDuringMerge = 'directory replaced during merge' EmptyMergeinfoCreated = 'empty svn:mergeinfo property set on path' TagDirectoryCreatedManually = 'tag directory created manually' BranchDirectoryCreatedManually = 'branch directory created manually' BranchRenamedToTrunk = 'branch renamed to trunk' TrunkRenamedToBranch = 'trunk renamed to branch' TrunkRenamedToTag = 'trunk renamed to tag' BranchRenamedToTag = 'branch renamed to tag' BranchRenamedOutsideRootBaseDir = 'branch renamed to location outside root base dir' TagSubtreePathRemoved = 'tag subtree path removed' RenameAffectsMultipleRoots = 'rename affects multiple roots' UncleanRenameAffectsMultipleRoots = 'unclean rename affects multiple roots' MultipleRootsCopied = 'multiple roots copied' TagCopied = 'tag copied' UncleanCopy = 'unclean copy' FileRemovedFromTag = 'file removed from tag' CopyKnownRootSubtreeToValidAbsRootPath = 'copy known root subtree to valid absolute root path' MixedRootsNotClarifiedByExternals = 'multiple known and unknown roots in commit could not be clarified by svn:externals' CopyKnownRootToIncorrectlyNamedRootPath = 'known root copied to an incorrectly-named new root path' CopyKnownRootSubtreeToIncorrectlyNamedRootPath = 'known root subtree copied to incorrectly-named new root path' UnknownPathRenamedToIncorrectlyNamedNewRootPath = 'unknown path renamed incorrectly to new root path name' RenamedKnownRootToIncorrectlyNamedRootPath = 'renamed known root to incorrectly named root path' MixedChangeTypesInMultiRootCommit = 'mixed change types in multi-root commit' CopyKnownRootToKnownRootSubtree = 'copy known root to known root subtree' UnknownPathCopiedToIncorrectlyNamedNewRootPath = 'unknown path copied to incorrectly named new root path' RenamedKnownRootToKnownRootSubtree = 'renamed root to known root subtree' FileUnchangedAndNoParentCopyOrRename = 'file has no text or property changes, and no parent copy or rename actions can be found' DirUnchangedAndNoParentCopyOrRename = 'directory has not changed, and no parent copy or rename actions can be found' EmptyChangeSet = 'empty change set' RenameRelocatedPathOutsideKnownRoot = 'rename relocated path outside known root' TagRemoved = 'tag removed' CopyKnownRootToUnknownPath = 'known root copied to unknown path' CopyKnownRootSubtreeToInvalidRootPath = 'known root copied to invalid root path' NewRootCreatedByRenamingUnknownPath = 'new root created by renaming unknown path' UnknownPathCopiedToKnownRootSubtree = 'unknown path copied to known root subtree' NewRootCreatedByCopyingUnknownPath = 'new root created by copying unknown path' RenamedKnownRootToUnknownPath = 'known root renamed to unknown path' RenamedKnownRootSubtreeToUnknownPath = 'known root subtree renamed to unknown path' RenamedKnownRootSubtreeToValidRootPath = 'known root subtree renamed to valid root path' RenamedKnownRootSubtreeToIncorrectlyNamedRootPath = 'known root subtree renamed to incorrectly-named root path' UncleanRename = 'unclean rename' PathCopiedFromOutsideRootDuringNonMerge = 'path copied from outside root during non-merge' UnknownDirReplacedViaCopyDuringNonMerge = 'unknown directory replaced via copy during non-merge' DirReplacedViaCopyDuringNonMerge = 'directory replaced via copy during non-merge' DirectoryReplacedDuringNonMerge = 'directory replaced during non-merge' PreviousPathNotMatchedToPathsInMergeinfo = 'previous path not matched to paths in mergeinfo' PreviousRevDiffersFromParentCopiedFromRev = 'previous rev differs from parent copied-from rev' PreviousPathDiffersFromParentCopiedFromPath = 'previous path differs from parent copied-from path' PreviousRevDiffersFromParentRenamedFromRev = 'previous rev differs from parent renamed-from rev' PreviousPathDiffersFromParentRenamedFromPath = 'previous path differs from parent renamed-from path' KnownRootPathReplacedViaCopy = 'known root path replaced via copy' BranchesDirShouldBeCreatedManuallyNotCopied = "'branches' directory should be created manually not copied" TagsDirShouldBeCreatedManuallyNotCopied = "'tags' directory should be created manually not copied" CopiedFromPathNotMatchedToPathsInMergeinfo = 'copied-from path not matched to paths in mergeinfo' InvariantViolatedModifyContainsMismatchedPreviousPath = 'invariant violated: modify contains mismatched previous path' InvariantViolatedModifyContainsMismatchedPreviousRev = 'invariant violated: modify contains mismatched previous path' InvariantViolatedCopyNewPathInRootsButNotReplace = "invariant violated: the new path name created (via copy) is already a known root, but the change isn't marked as a replace." MultipleRootsAffectedByRemove = 'multiple roots affected by remove' InvariantViolatedDieCalledWithoutErrorInfo = "invariant violated: Repository.die() method called without any error information being set" VersionMismatch = "version mismatch: we are at version %d, but the 'evn:version' revision property found on revision 0 reports the repository is at version %d" MissingOrEmptyRevPropOnRev0 = "missing or empty 'evn:%s' revision property on revision 0" InvalidIntegerRevPropOnRev0 = "invalid value for 'evn:%s' revision property on revision 0; expected an integer greater than or equal to %d, got: %s" PropertyValueConversionFailed = "failed to convert property %s's value: %s" PropertyValueLiteralEvalFailed = "invalid value for property '%s': %s" LastRevTooHigh = "the value for the revision property 'evn:last_rev' on revision 0 of the repository is too high; it indicates the last processed revision was %d, however, the highest revision in the repository is only %d" RepositoryOutOfSyncTxn = "the repository is out of sync and can not be committed to at this time (base revision for this transaction: %d, repository last synchronised at revision: %d, current repository revision: %d)" LastRevNotSetToBaseRevDuringPostCommit = "the repository is out of sync (last_rev is not set to base_rev during post-commit), preventing post-commit processing of this revision; is the pre-commit hook enabled? (this revision: %d, base revision: %d, repository last synchronised at revision: %d, current repository revision: %d)" OutOfOrderRevisionProcessingAttempt = "unable to process repository revision %d until the base revision %d has been processed; however, the last processed revision reported by the repository is %d (current repository revision: %d)" RootsMissingFromBaseRevTxn = "missing or empty 'evn:roots' revision property on base revision (this transaction: %s, base revision: %d, repository last synchronised at revision: %d, current repository revision: %d)" RootsMissingFromBaseRevDuringPostCommit = "missing or empty 'evn:roots' revision property on base revision, preventing post-commit processing of this revision; is the pre-commit hook enabled? (this revision: %d, base revision: %d, repository last synchronised at revision: %d, current repository revision: %d)" ChangeSetOnlyApplicableForRev1AndHigher = "changeset only applicable to revisions 1 and higher" InvalidRootsForRev = "invalid value for 'evn:roots' revision property on revision (this revision: %d, base revision: %d, repository last synchronised at revision: %d, current repository revision: %d)" StaleTxnProbablyDueToHighLoad = "please re-try your commit -- the repository is under load and your transaction became out-of-date while it was being queued for processing (base revision for this transaction: %d, repository last synchronised at revision: %d, current repository revision: %d)" AbsoluteRootOfRepositoryCopied = "absolute root of repository copied" PropertyChangedButOldAndNewValuesAreSame = "the property '%s' is recorded as having changed, but the old value and new value are identical ('%s')"Received on 2012-04-19 20:00:08 CEST
This is an archived mail posted to the Subversion Dev mailing list.