rebase: turn rebaseskipobsolete on by default
Consider the following use case. User has a set of commits he wants to rebase
onto some destination. Some of the commits in the set are already rebased
and their new versions are now among the ancestors of destination. Traditional
rebase behavior would make the rebase and effectively try to apply older
versions of these commits on top of newer versions, like this:
a` --> b --> a`
(where both 'a`' and 'a``' are rebased versions of 'a')
This is not desired since 'b' might have made changes to 'a`' which can now
result in merge conflicts. We can avoid these merge conflicts since we know
that 'a``' is an older version of 'a`', so we don't even need to put it on top
of 'b'. Rebaseskipobsolete allows us to do exactly that.
Another undesired effect of a pure rebase is that now 'a`' and 'a``' are both
successors to 'a' which is a divergence. We don't want that and not rebasing
'a' the second time allows to avoid it.
This was not enabled by default initially because we wanted to have some more
experience with it. After months of painless usages in multiple places, we are
confident enough to turn it on my default.
SVN-fs-dump-format-version: 2
UUID: afeb9c47-92ff-4c0c-9f72-e1f6eb8ac9af
Revision-number: 0
Prop-content-length: 56
Content-length: 56
K 8
svn:date
V 27
2009-06-21T16:34:55.835945Z
PROPS-END
Revision-number: 1
Prop-content-length: 112
Content-length: 112
K 7
svn:log
V 10
init projA
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:34:55.909545Z
PROPS-END
Node-path: branches
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: tags
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: trunk
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Revision-number: 2
Prop-content-length: 106
Content-length: 106
K 7
svn:log
V 5
hello
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:34:56.150049Z
PROPS-END
Node-path: trunk/à
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: trunk/à/é
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: e29311f6f1bf1af907f9ef9f44b8328b
Text-content-sha1: e983f374794de9c64e3d1c1de1d490c0756eeeff
Content-length: 12
PROPS-END
d
Node-path: trunk/é
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 2
Text-content-md5: 9ffbf43126e33be52cd2bf7e01d627f9
Text-content-sha1: 094e3afb2fe8dfe82f63731cdcd3b999f4856cff
Content-length: 12
PROPS-END
e
Revision-number: 3
Prop-content-length: 112
Content-length: 112
K 7
svn:log
V 10
copy files
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:34:59.089402Z
PROPS-END
Node-path: trunk/è
Node-kind: file
Node-action: add
Node-copyfrom-rev: 2
Node-copyfrom-path: trunk/é
Text-copy-source-md5: 9ffbf43126e33be52cd2bf7e01d627f9
Text-copy-source-sha1: 094e3afb2fe8dfe82f63731cdcd3b999f4856cff
Node-path: trunk/ù
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 2
Node-copyfrom-path: trunk/à
Node-path: trunk/à
Node-action: delete
Node-path: trunk/é
Node-action: delete
Revision-number: 4
Prop-content-length: 114
Content-length: 114
K 7
svn:log
V 12
remove files
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:35:00.165121Z
PROPS-END
Node-path: trunk/è
Node-action: delete
Node-path: trunk/ù
Node-action: delete
Revision-number: 5
Prop-content-length: 120
Content-length: 120
K 7
svn:log
V 18
branch to branché
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:35:03.079138Z
PROPS-END
Node-path: branches/branché
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 4
Node-copyfrom-path: trunk
Revision-number: 6
Prop-content-length: 121
Content-length: 121
K 7
svn:log
V 19
branch to branchée
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:35:06.060801Z
PROPS-END
Node-path: branches/branchée
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 5
Node-copyfrom-path: branches/branché
Revision-number: 7
Prop-content-length: 110
Content-length: 110
K 7
svn:log
V 9
tag trunk
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:35:09.061530Z
PROPS-END
Node-path: tags/branché
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 6
Node-copyfrom-path: trunk
Revision-number: 8
Prop-content-length: 114
Content-length: 114
K 7
svn:log
V 12
tag branché
K 10
svn:author
V 7
pmezard
K 8
svn:date
V 27
2009-06-21T16:35:11.068562Z
PROPS-END
Node-path: tags/branchée
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 6
Node-copyfrom-path: branches/branchée